- PVSM.RU - https://www.pvsm.ru -
Недавно я начал изучать Kotlin для Android-разработки, и мне это очень понравилось. Kotlin по синтаксису очень похож на Swift, и это удобно. Я всего лишь новичок в Android-разработке, поэтому скорее всего есть ещё много полезных библиотек, которые у меня ещё не было возможности изучить, но этот список — это некоторые из тех, которые я уже успешно использовал или планирую сделать это в скором времени.
Kovenant — это promise-библиотека (для упрощённого асинхронного программирования) для Kotlin. В большинстве своих iOS-проектов я использую PromiseKit [2], поэтому я хотел найти что-то похожее и для Android. Kovenant охватывает большинство функционала, который мне нужен (единственный пробел, который я заметил, — отсутствие эквивалента функции recover
в PromiseKit), поэтому мне она подходит.
Если вам нужно обрабатывать загрузку и отображение изображений в приложении, то с помощью Picasso сделать это очень просто. Помимо асинхронной загрузки и кэширования изображений, вы можете ещё и трансформировать их, например:
Picasso.get().load(url).resize(50, 50).centerCrop().into(imageView)
Я также использую библиотеку picasso-transformations [4], которая добавляет дополнительные трансформации в Picasso, например, обрезку в форме круга.
Я кстати недавно узнал, что Google рекомендует Glide [5] для работы с изображениями, а не Picasso. Я ещё не использовал Glide, но учитывая, что Google также рекомендует библиотеку Volley для работы с сетью, в которой практически отсутствует документация и в которой есть несколько действительно странных багов, я не уверен, насколько я буду доверять этой рекомендации.
Я ещё не использовал эту Kotlin-библиотеку, но она предлагает простой способ добавления функционала выбора темы в вашем приложении. Я пока отложу её и использую в будущем, когда мне понадобится такая фича.
Я видел, как об 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}!") }
}
}
Есть ещё много чего, что может предложить эта библиотека, поэтому она определенно стоит вашего внимания.
После того, как я столкнулся с необычными ошибками и отсутствием документации для Volley, я наткнулся на Fuel, которая теперь является моей любимой библиотекой для работы с сетью в Android.
Для обработки ответов Fuel использует лямбда-выражения, а не слушателей. Как iOS-разработчику, мне это кажется более знакомым. Библиотека также отлично работает с Kovenant, если вы захотите обернуть работу с сетью в promise, что я всегда и делаю.
Пока мне ещё не приходилось использовать библиотеку для парсинга JSON, но когда мне это понадобится, то я попробую Forge. Она написана тем же разработчиком, который написал Fuel, и кажется приятной и простой в использовании.
Я уже, наверное, не открою Америку с Result-типами, но я только начал изучать их в iOS, поэтому рад, что нашел такую библиотеку для Kotlin. В README этого проекта есть хороший пример того, как можно использовать Result-типы для улучшения кода.
Также читайте: «10 библиотек, о которых должен знать каждый Android-разработчик» [11]
Автор: Devcolibri
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/android-development/299978
Ссылки в тексте:
[1] Kovenant: https://github.com/mplatvoet/kovenant
[2] PromiseKit: https://github.com/mxcl/promisekit
[3] Picasso: http://square.github.io/picasso/
[4] picasso-transformations: https://github.com/wasabeef/picasso-transformations
[5] Glide: https://github.com/bumptech/glide/blob/master/README.md
[6] DressCode: https://github.com/Daio-io/dresscode
[7] Anko: https://github.com/Kotlin/anko
[8] Fuel: https://github.com/kittinunf/Fuel
[9] Forge: https://github.com/kittinunf/Forge
[10] Result: https://github.com/kittinunf/Result
[11] «10 библиотек, о которых должен знать каждый Android-разработчик»: https://habr.com/post/425397/
[12] Источник: https://habr.com/post/429194/?utm_campaign=429194
Нажмите здесь для печати.