Недавно я начал изучать Kotlin для Android-разработки, и мне это очень понравилось. Kotlin по синтаксису очень похож на Swift, и это удобно. Я всего лишь новичок в Android-разработке, поэтому скорее всего есть ещё много полезных библиотек, которые у меня ещё не было возможности изучить, но этот список — это некоторые из тех, которые я уже успешно использовал или планирую сделать это в скором времени.
1. Kovenant
Kovenant — это promise-библиотека (для упрощённого асинхронного программирования) для Kotlin. В большинстве своих iOS-проектов я использую PromiseKit, поэтому я хотел найти что-то похожее и для Android. Kovenant охватывает большинство функционала, который мне нужен (единственный пробел, который я заметил, — отсутствие эквивалента функции recover
в PromiseKit), поэтому мне она подходит.
2. Picasso
Если вам нужно обрабатывать загрузку и отображение изображений в приложении, то с помощью Picasso сделать это очень просто. Помимо асинхронной загрузки и кэширования изображений, вы можете ещё и трансформировать их, например:
Picasso.get().load(url).resize(50, 50).centerCrop().into(imageView)
Я также использую библиотеку picasso-transformations, которая добавляет дополнительные трансформации в Picasso, например, обрезку в форме круга.
Я кстати недавно узнал, что Google рекомендует Glide для работы с изображениями, а не Picasso. Я ещё не использовал Glide, но учитывая, что Google также рекомендует библиотеку Volley для работы с сетью, в которой практически отсутствует документация и в которой есть несколько действительно странных багов, я не уверен, насколько я буду доверять этой рекомендации.
3. DressCode
Я ещё не использовал эту Kotlin-библиотеку, но она предлагает простой способ добавления функционала выбора темы в вашем приложении. Я пока отложу её и использую в будущем, когда мне понадобится такая фича.
4. Anko
Я видел, как об Anko говорят все вокруг, прежде чем я понял, что она из себя представляет и почему её все любят. Anko — это в основном набор удобных методов, которые помогут сделать Android-разработку на Kotlin проще и понятнее.
В ней есть несколько действительно замечательных вещей, таких как этот суперлаконичный метод для создания и показа toast-сообщений:
toast("Hi there!")
И для SnackBar:
longSnackbar(view, "Wow, such duration")
Также она сильно упрощает создание интентов:
startActivity<SomeOtherActivity>("id" to 5)
Есть ещё встроенные удобные методы для популярных интентов, например
browse(url)
и share(text, [subject])
.
Anko также предлагает красивый DSL для создания layout
, но этот функционал я пока не использовал. Вот пример из документации:
verticalLayout {
val name = editText()
button("Say Hello") {
onClick { toast("Hello, ${name.text}!") }
}
}
Есть ещё много чего, что может предложить эта библиотека, поэтому она определенно стоит вашего внимания.
5. Fuel
После того, как я столкнулся с необычными ошибками и отсутствием документации для Volley, я наткнулся на Fuel, которая теперь является моей любимой библиотекой для работы с сетью в Android.
Для обработки ответов Fuel использует лямбда-выражения, а не слушателей. Как iOS-разработчику, мне это кажется более знакомым. Библиотека также отлично работает с Kovenant, если вы захотите обернуть работу с сетью в promise, что я всегда и делаю.
6. Forge
Пока мне ещё не приходилось использовать библиотеку для парсинга JSON, но когда мне это понадобится, то я попробую Forge. Она написана тем же разработчиком, который написал Fuel, и кажется приятной и простой в использовании.
7. Result
Я уже, наверное, не открою Америку с Result-типами, но я только начал изучать их в iOS, поэтому рад, что нашел такую библиотеку для Kotlin. В README этого проекта есть хороший пример того, как можно использовать Result-типы для улучшения кода.
Также читайте: «10 библиотек, о которых должен знать каждый Android-разработчик»