7 библиотек для Android разработки на Kotlin

https://larder.io/blog/larder-links-08-kotlin-android/
  • Перевод

7 библиотек для Android разработки на Kotlin


Недавно я начал изучать 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-разработчик»
Поделиться публикацией
Комментарии 3
    0
    Picasso имеет баги на разных устройствах, менее производительна, чем Glide. Джейк Вортон часто закрывает issues без всякого решения.
    Fuel хороша, но имеет ряд минусов. Не так просто увидеть полный запрос, надо настраивать. Распознавание JSON реализовано через десериализаторы, которые надо писать самим (правда, обычно в одну строку). Есть работа с корутинами и RxJava. Пока активно развивается, поэтому не на всё есть документация, а некоторые баги при запуске запросов и распознавании JSON неочевидны.
      0

      Glide действительно лучше, чем Picasso. Например, Picasso может просто не подгружать картинки в асинхронном режиме. Лечится выпиливанием Picasso и заменой на Glide

        0
        anko, чтоб юзать простенькие extension, которые и самому можно написать
        dressCode, который даже не юзали
        forge, для которой даже нет сравнения с тем же gson

        зачем создавать подобные статьи, не имея опыта работы даже с ними, не говоря уже про аналоги?

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое