Главная » Хабрахабр » [Перевод] 30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году

[Перевод] 30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году

30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году

В течение лета 2018 года было разработано и обновлено множество отличных Android-библиотек и инструментов.

Они также отлично подойдут для вдохновения или экспериментов. Я составил самый новый неупорядоченный список Android-библиотек, инструментов и проектов, которые могут оказаться интересными или полезными во время вашей повседневной работы.

Давайте начнём! Надеюсь, вам понравится.

Это библиотека, которая предлагает набор LayoutManagers для RecyclerView, которые помогут достичь таких эффектов, как на gif ниже.

LayoutManagerGroup

LayoutManager или просто LinearLayoutManager и добавляют к ним дополнительную функциональность. Эти LayoutManagers в основном расширяют RecyclerView.

Лучший способ разобраться в библиотеке — это посмотреть пример приложения и увидеть в нём реализацию Activities и Fragments. У этой библиотеки весьма лаконичная документация, но код говорит сам за себя.

0, и на неё действительно стоит обратить внимание. Библиотека выпущена под лицензией Apache 2.

Creative View Pager — это интересная реализация ViewPager, в который добавляется список заголовков, плавно прокручивающийся вместе с содержимым страниц.

Creative View Pager

Выпущена под лицензией Apache 2. Документация исчерпывающая и объясняет, как использовать библиотеку. 0 и написана практически полностью на Kotlin.

Благодаря нескольким простым действиям ваши пользователи или бета-тестировщики смогут сообщать об ошибках или оставлять отзывы, а SDK будет запоминать состояние среды устройства пользователя, включая все консольные логи, сетевые запросы и шаги для воспроизведения ошибки, собирая всю эту информацию на одной панели для удобства отладки и исправления ошибок. Instabug — это инструмент сбора отзывов и ошибок для мобильных приложений.

Instabug

Подробнее об этих изменениях вы можете почитать здесь. В ходе недавнего обновления было исправлено множество ошибок. Таким образом, Instabug даёт возможность:

Настоятельно рекомендую его и вам. Я использую Instabug с 2016 года, когда я искал инструмент, который помог бы моей команде и нашим пользователям.

Для него требуется minSdkVersion 21. Это check-виджет для Android на основе EventFilterView из приложения, написанного специально для Google I/O 2018.

CheckableChipView

Первоначальную реализацию разработали Ник Батчер и Хосе Алькеррека из Google. Хороший README позволяет быстро начать работать с виджетом.

0 и написан на Kotlin. Виджет выпущен под лицензией Apache 2.

Это лёгкий, мощный и простой в использовании календарь.

CrunchyCalendar

Он предлагает ряд полезных функций:

  • бесконечная вертикальная прокрутка в обоих направлениях;
  • установка временных рамок для ограничения прокрутки внутри определенного периода;
  • выбор одной даты, нескольких дат или временных диапазонов;
  • предустановка выбранных дат;
  • цветовые настройки;
  • отображение цветовых индикаторов;
  • установка собственных ItemDecoration;
  • являясь наследником класса View, может быть использован где угодно: в Activity, Fragment, Dialog, или может быть интегрирован в другой пользовательский View-компонент.

Также есть пример приложения на Github и Google Play. Замечательная документация с множеством примеров.

Этот проект выпущен под лицензией MIT.

Это библиотека для создания динамической навигации в приложении, вдохновлённая Google Inbox и Reply.

InboxRecyclerView

Можете взглянуть на пример приложения и загрузить его APK, чтобы посмотреть на своём телефоне. InboxRecyclerView можно спокойно добавить в любой существующий проект.

Она определённо достойна вашего внимания. Автор также написал действительно хорошую статью о библиотеке. 0. Выпущена под лицензией Apache 2.

Чтобы понять, что это вообще такое, взгляните на gif ниже. Это небольшая, но интересная библиотека, которая предлагает вам использовать SlideBackView внутри Activity.

SlideBack

Я бы не использовал её в своём проекте, а только лишь поэкспериментировал с ней. К сожалению, документация довольно скудная и написана на китайском языке. Она выпущена под лицензией MIT. Тем не менее, вы можете изучить приложение и саму библиотеку.

Эта библиотека создаёт drawables программно и избавляет от повторяющихся файлов drawable.xml.

DrawableToolbox

0. Выпущена под лицензией Apache 2. Есть полноценная документация и работает с API 14 и выше.

Это просто ещё один виджет для выбора цвета. Это библиотека написана тем же разработчиком, который написал DrawableToolbox.

ColorPicker

Выпущена под лицензией Apache 2. Эта библиотека предоставляет неплохую документацию. Если вам нужна функциональность выбора цвета в вашем приложении, то это отличный вариант. 0 и работает с API 14 и выше.

MvRx (произносится «мэйврикс» (англ. Библиотека просто огромна. mavericks)) — это Android-фреймворк от Airbnb, который они используют практически для всех своих продуктов.

Тем не менее, в ней всё построено поверх существующих компонентов, таких как фрагменты или архитектурные компоненты, поэтому она не ограничивает вас и может легко применяться в ваших проектах. MvRx делает разработку экранов приложения, от самых простых до более сложных, более простой, чем она есть изначально.

MvRx использует следующие технологии и концепции: Основная цель заключалась в том, чтобы создавать приложения быстрее и с меньшими усилиями.

  • Kotlin;
  • Архитектурные компоненты Android;
  • RxJava;
  • React (концепция);
  • Epoxy (рекомендуется).

0. Фреймворк выпущен под лицензией Apache 2. В wiki есть версия tl;dr, а есть и обычная, со всеми объяснениями, необходимым для понимания концепции. Документация и wiki просто великолепны.

Если вы слышали о Redux, его основных концепциях и трех принципах, вы, вероятно, сразу поймёте, о чём эта библиотека.

RxRedux — это реализация, основанная на RxJava (вдохновленная redux-observable), которая помогает нейтрализовать побочные эффекты (побочный эффект — это функция типа (Observable <Action>, StateAccessor <State>) -> Observable <Action>).

RxRedux

README написан хорошо и отлично дополнен этой статьей. RxRedux является некой заменой оператора .scan() в RxJava. 0. Библиотека выпущена под лицензией Apache 2.

Это кастомный SeekBar, вдохновленный эмоджи-слайдером от Instagram.

Emoji Slider

Выпущен под лицензией Apache 2. В проекте есть очень хорошая документация и пример приложения. 0.

Естественно, она написана в соответствии с принципами Material Design. Это библиотека, которая помогает реализовывать Material Swipe Actions в RecyclerView.

Covert

Проект выпущен под лицензией MIT. Благодаря хорошей документации её легко насторить.

Библиотека работает в фоновом потоке, обрабатывая ошибки ввода-вывода и управляя распределением памяти. Это библиотека, которая может сохранять любой View-компонент или SurfaceView в виде изображения в форматах: JPG/PNG/nomedia.

Вы можете использовать её, чтобы делать скриншоты внутри вашего приложения (например, для сообщения об ошибке).

Она выпущена под лицензией Apache 2. Она довольно проста в использовании, а существующей документации вполне достаточно для начала. 0 и поддерживает API 19 и выше.

Она добавляет лёгкие высокоуровневые настройки, например: WiseFy — это оболочка для WifiManager и ConnectivityManager для Android.

  • добавление и удаление сетей;
  • проверка подключения устройства;
  • проверка текущей сети;
  • включение и выключение Wi-Fi и многое другое.

WiseFy

Это не новая библиотека, но недавно в ней произошёл огромный рефакторинг, и она была полностью переписана на Kotlin.

Лицензия: Apache 2. Документация хорошая и подробная. 0.

MVICore — это современный MVI-фреймворк от Badoo Tech, который включает в себя:

  • 100% Kotlin: простой способ реализовывать свои бизнес-функции в реактивном режиме;
  • Масштабирование: вы можете работать с единственным Reducer-компонентом, но при необходимости сможете добавить их столько, сколько нужно для обработки более сложных случаев;
  • Обработка событий: есть решение для обработки событий, состояние которые вы не хотите хранить;
  • Связывание реактивных компонентов: очень простой API для связки ваших реактивных компонентов вместе с автоматическим управлением жизненным циклом;
  • Логгер из коробки;
  • Временной отладчик: для всех ваших реактивных компонентов (а не только для переменных среды) вы сможете записать их состояние во времени и затем просмотреть его.

Если вы хотите переписать свое приложение в стиле MVI, то вам стоит обратить внимание на это решение. У фреймворка действительно хорошая документация.

Например, такой вот крутящийся телефонный диск может использоваться в качестве замены индикатора загрузки. Эта библиотека может быть полезна при разработке собственных View-компонентов.

DialerLoading

А выпущен он под лицензией Apache 2. В проекте есть короткий README. Написан полностью на Kotlin. 0.

Это интересная библиотека, которая преобразует простую HTML-страницу в RecyclerView из нативных Android-виджетов, основанная на Jsoup library и вдохновленная Medium Textview.

HtmlRecycler

Документация хорошая и доступно объясняет, как использовать библиотеку. Эта библиотека ещё находится на стадии разработки, поэтому с осторожностью используйте её в своих проектах. 0. Выпущена под лицензией Apache 2.

В настоящее время они показывают, как использовать Koin вместо Dagger для инжекции зависимостей. Я неоднократно упоминал об этой библиотеке, но благодаря усилиям команды Buffer она всё ещё развивается.

Android Clean Architecture Components Boilerplate

Библиотека выпускается под лицензией MIT.

Мне очень нравится эта идея. Splitties — это коллекция небольших независимых Android-библиотек, цель которых — сделать разработку приложений и библиотек для Android простой и весёлой.

Этот проект называется «Splitties», потому что он разделён на небольшие модули, распространяемые как независимые Android-библиотеки, поэтому вы можете добавлять к себе в проект только те, которые действительно нужны, что помогает уменьшить размер финального apk-файла.

Каждый модуль спроектирован так, чтобы при своём небольшом размере он был максимально эффективным.

0. Документация хорошая, проект выпущен под лицензией Apache 2.

Это небольшая библиотека для водяных знаков на изображениях, которая в том числе поддерживает зашифрованные и невидимые водяные знаки.

AndroidWM

Документация хорошая, ещё есть пример приложения. Библиотека довольно мощная и предлагает создавать несколько водяных знаков, выбирать режим рисования и способ загрузки ресурсов (как текст, как View-компонент или как Android-ресурс).

0. Библиотека выпущена под лицензией Apache 2.

На этот раз от команды Mozilla, и она может быть полезна во время создания браузеров или приложений, похожих на браузер. Это вторая коллекция библиотек в этой статье.

На приведенной ниже диаграмме показаны некоторые из доступных компонентов.

Android components

В нём также хорошая документация, и выпущен он под лицензией MPL 2. В проекте есть 4 примера приложений, демонстрирующих использование различных компонентов. 0.

Эта библиотека связывает RxJava и RxKotlin с Biometric Prompt (сканер отпечатков пальцев) на Android (добавлен в Android 9 Pie, API 28+).

RxBiometric

Согласно официальному блогу Android-разработчиков, если в вашем приложении вы используете собственные механизмы авторизации через отпечатки пальцев, то вы должны как можно скорее переключиться на использование BiometricPrompt API.

В ней есть надежная документация с примерами использования. RxBiometric поможет вам сделать это через поток RxJava. 0. Выпущена под лицензией Apache 2.

Это библиотека, которая расширяет BottomNavigationView от Google и позволяет взглянуть на него под весьма интересным углом.

EnhancedNavigationView

Выпущен под лицензией Apache 2. Проект написан на Kotlin. 0, и в нём есть пример приложения с использованием библиотеки.

Если вы используете LiveData из архитектурных компонентов Android, то вы легко можете заменить его на LiveData KTX и создавать такие цепочки, как показано на примере ниже: Это расширение LiveData на Kotlin, превращающее код в цепочки вызовов, как RxJava, от команды Shopify.

livedata-ktx

Проект разрабатывается четырьмя разработчиками и выпущен под лицензией MIT.

Tumbleweed — это ответвление от Universal-Tween-Engine, которое позволяет создавать плавные интерполяции для каждого атрибута каждого объекта в ваших проектах.

Tumbleweed

Tumbleweed отличается от исходного проекта несколькими особенностями:

  • уменьшено изменение Tweens и Timelines (разделено объявление и реализация Tweens);
  • интерполяция инкапсулирована путём создания определённого типа (TweenType<T>);
  • удалён пул (постоянный источник неожиданного поведения) и многое другое.

0. Содержит исчерпывающую документацию и выпущена под лицензией Apache 2. В ней также есть пример приложения.

Это Gradle-плагин, написанный на Kotlin, который генерирует базовый набор Android-тем. Stylist — это проект, созданный разработчиками Uber. Например, если вы хотите определить размер текста в тёмной и светлой темах приложения, вы создадите следующий класс:

Dark and Light themes with Stylist

И вы получите сгенерированные XML-темы:

XML-theme with Stylist

0. Проект выпущен под лицензией Apache 2.

Она разработана специально для использования вместе с Kotlin. Это небольшая библиотека, которая предоставляет реактивные shared preferences.

Но это будет не сырое значение preference, а экземпляр интерфейса Pref, который предоставляет больше функциональности. Используя экземпляр RxkPrefs, вы можете получить preferences.

0. Библиотека выпущена под лицензией Apache 2.

Как это работает? Эта библиотека предлагает простой способ динамической замены строковых ресурсов вашего приложения или добавления новых языков без необходимости публикации новой версии в Google Play.

Вместо этого происходит внедрение в этот процесс: перехватывается значение, возвращаемое из ваших файлов внутри приложения, и проверяется, есть ли на сервере более новое значение. Philology не изменяет способ использования ресурсов при разработке приложения. Всё в режиме реального времени, без необходимости выпуска новой версии приложения. Это позволяет устранять опечатки, улучшать формулировки или даже добавлять новый язык.

Библиотека выпущенна под лицензией Apache 2. Это действительно хорошая идея. Проект содержит пример приложения, а также действительно полную документацию. 0.

Библиотека хорошо задокументирована и описана в этой статье. Это вдохновлённый Retrofit WebSocket-клиент для Kotlin и Java от команды Tinder.

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

Scarlet управляется при помощи StateMachine, также разработанной командой Tinder.

Scarlet

Проект выпущен под лицензией BSD 3-Clause.

Заключение

Надеюсь, вам понравился этот список, и некоторые проекты вдохновили вас. Вот и всё! Если вы знаете ещё какую-нибудь большую библиотеку, которая была выпущена за последние 5 месяцев, и я не упоминул об этом, пожалуйста, дайте мне знать в комментариях.

Весна 2018»
«10 библиотек, о которых должен знать каждый Android-разработчик»
«7 библиотек для Android разработки на Kotlin» Также читайте другие похожие подборки:
«25 занимательных Android библиотек.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX

Представляем вашему вниманию первые 5 занятий учебного курса по React для начинающих. Оригинал курса на английском, состоящий из 48 уроков, опубликован на платформе Scrimba.com. Возможности этой платформы позволяют, слушая ведущего, иногда ставить воспроизведение на паузу и самостоятельно, в том же ...

[Перевод] Разбираем лямбда-выражения в Java

Мы открыли его для себя совсем недавно, но уже по достоинству оценили его возможности. От переводчика: LambdaMetafactory, пожалуй, один из самых недооценённых механизмов Java 8. 0 фреймворка CUBA улучшена производительность за счет отказа от рефлективных вызовов в пользу генерации лямбда ...