J'ai commencé à développer sérieusement Android l'année dernière, mais il m'a fallu beaucoup de temps pour connaître les bibliothèques utilisées pour inspirer le développement de produits. Cet article résume les bibliothèques les plus populaires pour ceux qui débutent tout juste avec le développement Android.
«Communément utilisé» est complètement subjectif.
AAC
Abréviation pour Android Architecture Components, l'un des composants d'Android Jetpack
https://developer.android.com/jetpack?hl=JA
Voici quelques-unes des bibliothèques les plus fréquemment utilisées incluses dans AAC.
Data Binding Library
https://developer.android.com/topic/libraries/data-binding/?hl=JA
Une bibliothèque qui est littéralement utilisée pour la liaison de données. Je l'utilise souvent pour le développement avec MVVM. C'est très pratique car vous pouvez lier des objets à XML et une liaison de données bidirectionnelle avec LiveData, qui sera décrite plus tard.
Lifecycle
https://developer.android.com/topic/libraries/architecture/lifecycle?hl=JA
Gérez le cycle de vie des activités et des fragments. LifecycleObserver est très pratique car vous pouvez surveiller les événements du cycle de vie d'Activité et de Fragment dans d'autres classes.
LiveData
https://developer.android.com/topic/libraries/architecture/livedata?hl=JA
LiveData peut être lié au cycle de vie pour vous informer des changements de valeur. J'ai remplacé la partie qui utilisait Rx Subject pour notifier entre les couches avec LiveData. Il est également utile pour la liaison de données bidirectionnelle.
Room
https://developer.android.com/topic/libraries/architecture/room?hl=JA
Room fournit une interface qui vous permet d'utiliser SQLite en douceur. Je ne peux rien dire parce que je ne l'ai pas utilisé si durement.
ViewModel
https://developer.android.com/topic/libraries/architecture/viewmodel?hl=JA
ViewModel peut gérer les données liées à l'interface utilisateur en relation avec le cycle de vie de l'activité et du fragment. Je pense que le contexte est un peu différent du soi-disant MVVM ViewModel, mais il est très utile pour le développement d'applications avec MVVM. Je l'utilise beaucoup.
Navigation
https://developer.android.com/topic/libraries/architecture/navigation.html?hl=JA
Les transitions de fragments peuvent être gérées en XML. En introduisant un plug-in appelé safeArgs
, c'est pratique car vous pouvez facilement définir le passage des données entre les fragments.
Paging
https://developer.android.com/topic/libraries/architecture/paging/?hl=JA
Vous pouvez facilement (?) Implémenter la pagination à défilement infini habituelle.
Je vois souvent des configurations comme ʻokhttp + retrofit + RxJava (RxKotlin) + RxAndroid + moshi (gson) `. Récemment, je vois souvent des traitements asynchrones utilisant la coroutine.
okhttp
https://github.com/square/okhttp
C'est le de facto. Je ne peux pas vivre sans ça.
retrofit2
https://github.com/square/retrofit
Une bibliothèque qui peut bien gérer REST. Souvent utilisé avec okhttp.
Il semble que Jackson a été utilisé il y a longtemps?
gson
https://github.com/google/gson
Fabriqué par google. Je le vois souvent. J'utilise Deserializer pour des exigences complexes telles que lorsque je dois l'écrire moi-même.
moshi
https://github.com/square/moshi
Fait de carré. Récemment, je l'utilise exclusivement.
glide
https://github.com/bumptech/glide
Il est indispensable pour afficher des images. Je le vois souvent.
picasso
https://github.com/square/picasso
Je vois souvent celui-ci aussi. Il semble que la glisse soit plus utilisée physiquement.
Rx
RxJava
https://github.com/ReactiveX/RxJava
Vous pouvez écrire du code pour le paradigme de la programmation réactive. Le coût d'apprentissage est élevé, mais il est très pratique de s'en souvenir. Les gens ont tendance à le considérer comme une bibliothèque pour le traitement asynchrone. Récemment, je sens la tendance à le remplacer par d'autres technologies, mais il est toujours utilisé à divers endroits, et personnellement, c'est assez douloureux sans cela.
RxKotlin
https://github.com/ReactiveX/RxKotlin
Une extension Kotlin pour RxJava. Si vous utilisez Rx avec Kotlin, introduisons-le.
RxAndroid
https://github.com/ReactiveX/RxAndroid
Il est indispensable pour la communication asynchrone avec RxJava dans le développement Android.
RecyclerView
groupie
https://github.com/lisawray/groupie
C'est trop populaire ces jours-ci et j'ai peur. Mais c'est certainement pratique.
epoxy
https://github.com/airbnb/epoxy
Fabriqué par airbnb. Vous pouvez facilement créer un RecyclerView complexe. Il est facile à utiliser avec la liaison de données. Bonne compatibilité avec d'autres bibliothèques airbnb telles que MvRx.
timber
https://github.com/JakeWharton/timber
Un wrapper pour android.util.Log. Personne ne me le dit, mais tout le monde l'utilise (subjectif). Vous pouvez changer de fonction en fonction du type de construction.
leakcanary
https://github.com/square/leakcanary
Fabriqué en carré fiable et éprouvé. Détecte et vous avertit des fuites de mémoire dans votre application. Je sens qu'il est utilisé comme une évidence.
stetho
https://github.com/facebook/stetho
Si vous mordez dans okhttp, vous pouvez voir les journaux de communication, etc. dans Chrome. Très pratique.
flipper
https://github.com/facebook/flipper
Fabriqué par Facebook. Il peut également être utilisé sur des plates-formes autres qu'Android. Je n'ai jamais vu personne l'utiliser. Est-ce que c'est bon avec le stétho?
Hyperion-Android
https://github.com/willowtreeapps/Hyperion-Android
Vous pouvez faire différentes choses. Pour plus de détails, consultez cet article.
DI
Abréviation de Dependency Injection. C'est pris pour acquis ces jours-ci. Référence
dagger2
https://github.com/google/dagger
Fabriqué par google de square. Il est utilisé de manière insensée. Je pense que le coût d'apprentissage est assez élevé.
koin
https://github.com/InsertKoinIO/koin
Bibliothèque DI pour l'implémentation de kotlin. Je ressens l'élan à mesure que la reconnaissance du nom augmente. Je l'aime parce que c'est plus facile à comprendre qu'un poignard.
mockito
https://github.com/mockito/mockito
Un cadre moqueur. Il y a un sentiment de facto.
mockk
https://github.com/mockk/mockk
Une bibliothèque moqueuse pour l'implémentation de kotlin. Je suis venu le voir récemment.
truth
https://github.com/google/truth
Une bibliothèque d'assertions créée par Google. Il semble qu'il soit également adopté dans le document de test Android X.
ThreeTenABP
https://github.com/JakeWharton/ThreeTenABP
Une bibliothèque qui facilite la gestion des dates sur Android. Personne ne me le dit, mais c'est très pratique et beaucoup de gens l'utilisent.
--Je ressens fortement le flux de Java-> Kotlin (comme koin) ――Dans le développement récent d'Android, il est nécessaire d'apprendre des choses avec des coûts d'apprentissage élevés tels que le poignard et le Rx, et je pense que le seuil pour commencer le développement est élevé. ――S'il vous plaît laissez-nous savoir si vous avez une bibliothèque comme «Tout le monde l'utilise!
Recommended Posts