
J'ai récemment commencé à apprendre Kotlin pour le développement Android et je l'ai vraiment apprécié. Kotlin est très similaire dans sa syntaxe à Swift, et c'est pratique. Je ne suis qu'un débutant dans le développement Android, donc il y a très probablement beaucoup plus de bibliothèques utiles que je n'ai pas encore eu l'occasion d'apprendre, mais cette liste est quelques-unes de celles que j'ai déjà utilisées avec succès ou que je prévois de faire bientôt.
Kovenant est une bibliothèque de promesses (pour une programmation asynchrone simplifiée) pour Kotlin. Dans la plupart de mes projets iOS, j'utilise PromiseKit , donc je voulais trouver quelque chose de similaire pour Android. Kovenant couvre la plupart des fonctionnalités dont j'ai besoin (le seul écart que j'ai remarqué est le manque de la fonction de recover
équivalente dans PromiseKit), donc cela me convient.
Si vous devez gérer le chargement et l'affichage des images dans l'application, utiliser Picasso pour le faire est très simple. Outre le chargement et la mise en cache asynchrones des images, vous pouvez également les transformer, par exemple:
Picasso.get().load(url).resize(50, 50).centerCrop().into(imageView)
J'utilise également la bibliothèque picasso-transformations , qui ajoute des transformations supplémentaires à Picasso, telles que le recadrage en forme de cercle.
Soit dit en passant, j'ai récemment découvert que Google recommande Glide pour travailler avec des images, pas Picasso. Je n'ai pas encore utilisé Glide, mais étant donné que Google recommande également la bibliothèque Volley pour travailler avec un réseau qui n'a pratiquement aucune documentation et a des bugs vraiment étranges, je ne sais pas à quel point je vais faire confiance à cette recommandation.
Je n'ai pas encore utilisé cette bibliothèque Kotlin, mais elle offre un moyen simple d'ajouter une fonctionnalité de sélection de thème à votre application. Je vais le reporter pour l'instant et l'utiliser à l'avenir lorsque j'aurai besoin d'une telle fonctionnalité.
J'ai vu tout le monde parler d'Anko avant de réaliser à quoi elle ressemblait et pourquoi tout le monde l'aimait. Anko est essentiellement un ensemble de méthodes pratiques qui aideront à rendre le développement Android sur Kotlin plus facile et plus compréhensible.
Il y a des choses vraiment merveilleuses, comme cette méthode super concise pour créer et afficher des messages toast:
toast("Hi there!")
Et pour SnackBar:
longSnackbar(view, "Wow, such duration")
Il simplifie également grandement la création d'intentions:
startActivity<SomeOtherActivity>("id" to 5)
Il existe également des méthodes pratiques intégrées pour les intentions populaires, par exemple
browse(url)
et share(text, [subject])
.
Anko propose également une belle DSL pour créer des layout
, mais je n'ai pas encore utilisé cette fonctionnalité. Voici un exemple tiré de la documentation:
verticalLayout { val name = editText() button("Say Hello") { onClick { toast("Hello, ${name.text}!") } } }
Il y a beaucoup plus que cette bibliothèque a à offrir, donc elle mérite vraiment votre attention.
Après avoir rencontré des erreurs inhabituelles et un manque de documentation pour Volley, je suis tombé sur Fuel, qui est maintenant ma bibliothèque réseau préférée sur Android.
Fuel utilise des expressions lambda plutôt que des écouteurs pour traiter les réponses. En tant que développeur iOS, cela me semble plus familier. La bibliothèque fonctionne également très bien avec Kovenant si vous souhaitez envelopper le réseau avec une promesse, ce que je fais toujours.
Je n'ai pas encore eu à utiliser la bibliothèque pour analyser JSON, mais quand j'en aurai besoin, j'essaierai Forge. Il est écrit par le même développeur qui a écrit Fuel, et il semble agréable et facile à utiliser.
Je ne découvrirai probablement pas l'Amérique avec les types de résultats, mais je viens de commencer à les étudier dans iOS, donc je suis content d'avoir trouvé une telle bibliothèque pour Kotlin. Le fichier README de ce projet a un bon exemple de la façon dont vous pouvez utiliser les types de résultats pour améliorer le code.
Lisez aussi: "10 bibliothèques que tout développeur Android devrait connaître"