[Программирование, Разработка под Android, Разработка мобильных приложений] 20 инструментов Android-разработчика, о которых вы могли не знать (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Набор полезных, но не очень известных инструментов и библиотек Android.
Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пригодиться в разработке приложений для Android — ниже они приведены в случайном порядке. Пользуйтесь. 1. AinD — Android (Anbox) в ДокереAinD запускает приложения Android, помещая контейнеры Anbox в Докер.
В отличие от аналогичных проектов на основе виртуальных машин, AinD может выполняться на экземплярах IaaS без поддержки вложенной виртуализации. Docker Hub: aind/aind.Предназначение:
- Защита от кражи (см. часто задаваемые вопросы)
- Совместимость с Android (через облако) для планшетов на iOS и Windows
aind-containers/aindgithub.com2. BoosterBooster — очень интересный инструмент: это простой в использовании, легкий, функциональный, расширяемый набор инструментов для повышения качества, предназначенный специально для мобильных приложений. Основная задача проекта — решать вопросы качества, связанные с повышением сложности приложения — например, проблемы производительностью, стабильностью и размером пакета.
Booster — это набор модулей для оценки производительности, оптимизации многопоточности, встроенного индекса ресурсов, сокращения числа избыточных ресурсов, сжатия ресурсов, исправления системных ошибок и т. д. Booster позволяет повысить стабильность приложения на 15–25% и снизить размер пакета на 1–10 МБ.Документация очень хорошая, лицензия — Apache 2.0.didi/boostergithub.com3. ShakeShake — один из лучших инструментов для обнаружения ошибок, изучения действий пользователя для воспроизведения ошибки и сбора скриншотов или видео с ошибками. Благодаря ему работа с ошибками при бета-тестировании и в публичной версии сильно упрощается — инструмент определенно стоит того, чтобы попробовать.
Как показано на гифке выше, если встряхнуть устройство, появится запрос с шаблоном для отправки отчета об ошибке. Пользователь может пометить ошибку, замаскировать конфиденциальные данные, описать проблему и отправить вам отчет.Устанавливается эта штука просто, в документации всё отлично описано. Кроме того, есть интерактивная демонстрация, которая показывает работу инструмента изнутри. 4. ScabbardScabbard помогает с визуализацией и анализом графика зависимостей Dagger 2.
Scabbard визуализирует точки входа, схемы зависимостей, взаимосвязи компонентов и области действия. Добавить этот инструмент в проект очень легко: он хорошо интегрирован с Gradle, а также с Android Studio и IntelliJ (нажав значок на левом поле в редакторе, можно просмотреть схему для @Component или @Subcomponent).Документирован проект отлично: есть множество примеров и подсказок. Лицензия — Apache 2.0. arunkumar9t2/scabbardgithub.com5. Can I Drop Jetifier?Как известно, иногда перейти со старой библиотеки поддержки на AndroidX не так просто, особенно в крупных проектах с большим количеством устаревшего кода. Успех перехода во многом зависит от использования инструмента Jetifier (преобразует зависимости, которым для работы с классами AndroidX всё еще требуются старые артефакты), который замедляет сборку.
«Всё больше и больше библиотек переходят на AndroidX, поэтому в какой-то момент необходимость включать этот инструмент отпадает. Этот плагин определяет, какие из используемых библиотек нужно перенести на AndroidX — или избавиться от них, если уже вышла новая версия», — Can I Drop Jetifier?
Документация понятная, проект выпущен под лицензией Apache 2.0. Очень рекомендую! plnice/can-i-drop-jetifiergithub.com6. ADB Event MirrorADB Event Mirror позволяет отражать события касания экрана, нажатия клавиш и кнопок одного устройства на одно или несколько других устройств в реальном времени.
«Этот сценарий не адаптирует разрешение, плотность пикселей, ориентацию и макет приложения. Поэтому лучше всего он работает с эмуляторами, созданными с одинаковой конфигурацией», — ADB Event Mirror
Инструмент дает возможность протестировать приложение одновременно на эмуляторах различных типов. JakeWharton/adb-event-mirrorgithub.com7. Android Emulator Container ScriptsAndroid Emulator Container Scripts — набор небольших сценариев для запуска эмулятора в контейнере для различных систем (например, для Докера) с целью внешнего использования. Сценарии совместимы с Python версий 2 и 3. Этот репозиторий довольно популярен и пригодится, если нужно запускать много эмуляторов на удаленных машинах.Проект выпущен под лицензией Apache 2.0 и хорошо документирован. google/android-emulator-container-scriptsgithub.com8. AutoplayAutoplay — это плагин для Gradle, предназначенный для публикации артефактов Android в Google Play.
Его можно считать очень простой альтернативой Gradle Play Publisher или Fastlane. Опубликовать приложение можно как apk или набор App Bundle. Особенности Autoplay:
- Оптимизирован для использования в CI/CD.
- Удобен для разработчиков.
- Надежен и перспективен.
У проекта хорошая документация, версия на момент написания статьи — 1.3.0, лицензия — Apache 2.0. beworker/autoplaygithub.com9. Плагин Gradle для статического анализаПлагин статического анализа Gradle — комплексная замена для всех значимых инструментов статического анализа кода, включает в себя следующее:
- Checkstyle
- PMD
- FindBugs [ПОДДЕРЖКА ПРЕКРАЩЕНА] [удален в Gradle 6.0]
- SpotBugs
- Detekt
- Android Lint
- KtLint
Смысл в том, что вам не нужно будет настраивать все эти инструменты самостоятельно — их можно без особых усилий включить в свою кодовую базу. Плагин выпущен под лицензией Apache 2.0 и отлично документирован (есть даже пример проекта). novoda/gradle-static-analysis-plugingithub.com10. AndroidUtilCodeAndroidUtilCode — функциональная и простая в использовании библиотека для Android, которая инкапсулирует функции, обычно используемые при разработке Android с демонстрационными версиями и модульными тестами. Инкапсулированные API позволяют значительно повысить эффективность разработки. Проект состоит в основном из двух модулей: utilcode (используется в разработке часто) и subutil (используется редко, но позволяет упростить основной модуль).
Версия проекта — 1.29.0, лицензия — Apache 2.0. Blankj/AndroidUtilCodegithub.com11. Hijckr
«Hijckr вмешивается в инфляцию макета Android и перенаправляет названные элементы в другие классы».
Это довольно интересный инструмент. Например, если файл макета содержит TextView, Android обычно загружает android.widget.TextView, но вместо этого можно перехватить xml-теги и загрузить com.myapp.TextView. Описание проекта довольно подробное и позволяет быстро начать работу с инструментом (который полностью написан на Java). JustinAngel/Hijckrgithub.com12. RoomigrantRoomigrant — это вспомогательная библиотека для автоматической генерации миграций библиотеки Android Room с использованием формирования кода во время компиляции. Она использует созданные библиотекой Room файлы схемы и генерирует миграции на основе разницы между ними — то есть, создание схемы Room должно быть включено в файле build.gradle, что хорошо описано в README.Проект выпущен под лицензией MIT, версия 0.1.7. MatrixDev/Roomigrantgithub.com13. RoomExplorerПосле переноса базы данных на Room неплохо бы просмотреть ее: RoomExplorer позволяет просматривать все данные таблиц в табличном формате, удалять таблицы, вставлять, изменять и удалять строки и т. д.
Инструмент хорошо документирован, лицензия — Apache 2.0. wajahatkarim3/RoomExplorergithub.com14. Android FramerИнструмент android-framer добавляет рамки и заголовки к скриншотам в Google Play. Источник вдохновения — fastlane frameit.
Инструмент написан на Python и использует ImageMagick. Настроить рамки (фоны) можно, например, с помощью Facebook Design. Также можно менять шрифт, кегль, размер рамки и т. д.Лицензия — Apache 2.0. faruktoptas/androidframergithub.com15. Dependency Tree DiffDependency Tree Diff — это «интеллектуальный инструмент сравнения для вывода задачи dependencies Gradle, который всегда показывает путь к корневой зависимости».
Можно установить инструмент через brew или просто использовать jar-файл. Лицензия — Apache 2.0. JakeWharton/dependency-tree-diffgithub.com16. Gradle DoctorGradle Doctor — это плагин для сканирования сборки Gradle. Функциональность: настраиваемые предупреждения о проблемах со скоростью сборки, измерение временны́х затрат на инструменты обработки аннотаций Dagger, установка переменной JAVA_HOME и проверка ее соответствия JAVA_HOME в IDE, простое отключение кеширования тестов, остановка сборки в случае, если найдены пустые каталоги src (поскольку это может быть причиной несовпадений в кеше), и многое другое.У инструмента отличная документация, проект выпущен под лицензией Apache 2.0. runningcode/gradle-doctorgithub.com17. GloballyDynamicGloballyDynamic — это «набор инструментов, направленных на обеспечение всеобщей доступности Dynamic Delivery, независимо от магазина приложений или платформы распространения, которые также предоставляют единый унифицированный клиентский API для Android и простой интерфейс для разработчиков».
Поддерживаются:
- Google Play (Play Feature Delivery)
- Huawei App Gallery (Dynamic Ability).
- Большинство других платформ — в сочетании с сервером GloballyDynamic (например, Amazon App Store, Samsung Galaxy Store, Firebase App Distribution или локальная разработка).
Рекомендую прочитать README и подробнее ознакомиться с этим инструментом.Лицензия — Apache 2.0. jeppeman/GloballyDynamicgithub.com18. Dagger BrowserDagger Browser — еще один инструмент (прогрессивное веб-приложение) для удобной навигации по схеме Dagger в проекте.
«Данные схемы заполняются с помощью SPI-плагина Dagger, а средство просмотра написано с помощью CRA (create-react-app) и TypeScript», — Dagger Browser
Есть и пример приложения, в котором показано, как инструмент работает. Всё это выпущено под трехпунктовой лицензией BSD. Snapchat/dagger-browsergithub.com19. WormholeWormhole — «путешествующий во времени инструмент преобразования байт-кода, добавляющий в android.jar будущие API-интерфейсы, которые можно десахаризовать на все уровни API с помощью D8 и R8».Wormhole обеспечивает обратную совместимость с более новыми API. Приведу пример.
«В Android R есть новые методы из Java 9 — например, List.of. Благодаря D8 и R8 они не являются эксклюзивными для API 30 и мгновенно превращаются в совместимые с API 1. В D8 и R8 есть набор методов десахаризации для API, которых еще нет в android.jar. И можно не ждать, пока они появятся — этот проект дает возможность использовать их сразу же».
JakeWharton/wormholegithub.com20. MNMLMNML (произносится как «minimal» — «минимальный») — простое бесплатное приложение для записи экрана в Android.
Конечно, приложений и инструментов, обеспечивающих такую функциональность, множество. Сегодня функция записи экрана встроена во все новые устройства, но если вам интересно посмотреть, как реализовать такое приложение, этот проект будет отличным примером.Лицензия — Apache 2.0. afollestad/mnmlgithub.comЗаключениеВот и всё. Надеюсь, список вам понравился и какие-то инструменты смогли вас вдохновить. До встречи! О переводчикеПеревод статьи выполнен в Alconost.Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.
===========
Источник:
habr.com
===========
===========
Автор оригинала: Michal Bialas
===========Похожие новости:
- [Программирование] Что значит быть программистом?
- [Автомобильные гаджеты, Разработка под Android, Гаджеты, Транспорт] Пользователи массово жалуются на проблемы Android Auto в Android 11
- [Программирование, Проектирование и рефакторинг, Go] Дневник изучения Go: запись 1
- [JavaScript, Программирование, Разработка веб-сайтов] 200 теоретических вопросов по JavaScript
- [Программирование, Учебный процесс в IT, Карьера в IT-индустрии, Конференции] Бесплатные онлайн-мероприятия по разработке (15 сентября – 23 сентября)
- [Визуализация данных, Программирование микроконтроллеров, Разработка для интернета вещей, Умный дом, Интернет вещей] SCADA «BortX» с поддержкой языка управления в рамках ANSI /ISA-88 для ESP8266
- [Программирование микроконтроллеров] Продолжение очередной статьи: STM32 для начинающих. Интерфейсы
- [Accessibility, Тестирование веб-сервисов, Дизайн] Зачем Chrome Dev Tools дизайнеру
- [Разработка под Android] Превращаем EditText в SearchEditText
- [Программирование микроконтроллеров] Очередная статья: STM32 для начинающих
Теги для поиска: #_programmirovanie (Программирование), #_razrabotka_pod_android (Разработка под Android), #_razrabotka_mobilnyh_prilozhenij (Разработка мобильных приложений), #_android, #_android_development, #_android (андроид), #_android_razrabotka (андроид разработка), #_android_dlja_nachinajuschij (андроид для начинающий), #_android_razrabotka_prilozhenij (андроид разработка приложений), #_tools, #_toolkit, #_instrumenty_razrabotchika (инструменты разработчика), #_instrumenty_razrabotki (инструменты разработки), #_blog_kompanii_alconost (
Блог компании Alconost
), #_programmirovanie (
Программирование
), #_razrabotka_pod_android (
Разработка под Android
), #_razrabotka_mobilnyh_prilozhenij (
Разработка мобильных приложений
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:07
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Набор полезных, но не очень известных инструментов и библиотек Android. Работая над статьями о 30 лучших библиотеках и проектах Android 2019 г. и 25 лучших библиотеках и проектах Android 2020 г., я наткнулся на множество замечательных инструментов и проектов, которые могут пригодиться в разработке приложений для Android — ниже они приведены в случайном порядке. Пользуйтесь. 1. AinD — Android (Anbox) в ДокереAinD запускает приложения Android, помещая контейнеры Anbox в Докер. В отличие от аналогичных проектов на основе виртуальных машин, AinD может выполняться на экземплярах IaaS без поддержки вложенной виртуализации. Docker Hub: aind/aind.Предназначение:
Booster — это набор модулей для оценки производительности, оптимизации многопоточности, встроенного индекса ресурсов, сокращения числа избыточных ресурсов, сжатия ресурсов, исправления системных ошибок и т. д. Booster позволяет повысить стабильность приложения на 15–25% и снизить размер пакета на 1–10 МБ.Документация очень хорошая, лицензия — Apache 2.0.didi/boostergithub.com3. ShakeShake — один из лучших инструментов для обнаружения ошибок, изучения действий пользователя для воспроизведения ошибки и сбора скриншотов или видео с ошибками. Благодаря ему работа с ошибками при бета-тестировании и в публичной версии сильно упрощается — инструмент определенно стоит того, чтобы попробовать. Как показано на гифке выше, если встряхнуть устройство, появится запрос с шаблоном для отправки отчета об ошибке. Пользователь может пометить ошибку, замаскировать конфиденциальные данные, описать проблему и отправить вам отчет.Устанавливается эта штука просто, в документации всё отлично описано. Кроме того, есть интерактивная демонстрация, которая показывает работу инструмента изнутри. 4. ScabbardScabbard помогает с визуализацией и анализом графика зависимостей Dagger 2. Scabbard визуализирует точки входа, схемы зависимостей, взаимосвязи компонентов и области действия. Добавить этот инструмент в проект очень легко: он хорошо интегрирован с Gradle, а также с Android Studio и IntelliJ (нажав значок на левом поле в редакторе, можно просмотреть схему для @Component или @Subcomponent).Документирован проект отлично: есть множество примеров и подсказок. Лицензия — Apache 2.0. arunkumar9t2/scabbardgithub.com5. Can I Drop Jetifier?Как известно, иногда перейти со старой библиотеки поддержки на AndroidX не так просто, особенно в крупных проектах с большим количеством устаревшего кода. Успех перехода во многом зависит от использования инструмента Jetifier (преобразует зависимости, которым для работы с классами AndroidX всё еще требуются старые артефакты), который замедляет сборку. «Всё больше и больше библиотек переходят на AndroidX, поэтому в какой-то момент необходимость включать этот инструмент отпадает. Этот плагин определяет, какие из используемых библиотек нужно перенести на AndroidX — или избавиться от них, если уже вышла новая версия», — Can I Drop Jetifier?
Документация понятная, проект выпущен под лицензией Apache 2.0. Очень рекомендую! plnice/can-i-drop-jetifiergithub.com6. ADB Event MirrorADB Event Mirror позволяет отражать события касания экрана, нажатия клавиш и кнопок одного устройства на одно или несколько других устройств в реальном времени. «Этот сценарий не адаптирует разрешение, плотность пикселей, ориентацию и макет приложения. Поэтому лучше всего он работает с эмуляторами, созданными с одинаковой конфигурацией», — ADB Event Mirror
Его можно считать очень простой альтернативой Gradle Play Publisher или Fastlane. Опубликовать приложение можно как apk или набор App Bundle. Особенности Autoplay:
Версия проекта — 1.29.0, лицензия — Apache 2.0. Blankj/AndroidUtilCodegithub.com11. Hijckr «Hijckr вмешивается в инфляцию макета Android и перенаправляет названные элементы в другие классы».
Это довольно интересный инструмент. Например, если файл макета содержит TextView, Android обычно загружает android.widget.TextView, но вместо этого можно перехватить xml-теги и загрузить com.myapp.TextView. Описание проекта довольно подробное и позволяет быстро начать работу с инструментом (который полностью написан на Java). JustinAngel/Hijckrgithub.com12. RoomigrantRoomigrant — это вспомогательная библиотека для автоматической генерации миграций библиотеки Android Room с использованием формирования кода во время компиляции. Она использует созданные библиотекой Room файлы схемы и генерирует миграции на основе разницы между ними — то есть, создание схемы Room должно быть включено в файле build.gradle, что хорошо описано в README.Проект выпущен под лицензией MIT, версия 0.1.7. MatrixDev/Roomigrantgithub.com13. RoomExplorerПосле переноса базы данных на Room неплохо бы просмотреть ее: RoomExplorer позволяет просматривать все данные таблиц в табличном формате, удалять таблицы, вставлять, изменять и удалять строки и т. д. Инструмент хорошо документирован, лицензия — Apache 2.0. wajahatkarim3/RoomExplorergithub.com14. Android FramerИнструмент android-framer добавляет рамки и заголовки к скриншотам в Google Play. Источник вдохновения — fastlane frameit. Инструмент написан на Python и использует ImageMagick. Настроить рамки (фоны) можно, например, с помощью Facebook Design. Также можно менять шрифт, кегль, размер рамки и т. д.Лицензия — Apache 2.0. faruktoptas/androidframergithub.com15. Dependency Tree DiffDependency Tree Diff — это «интеллектуальный инструмент сравнения для вывода задачи dependencies Gradle, который всегда показывает путь к корневой зависимости». Можно установить инструмент через brew или просто использовать jar-файл. Лицензия — Apache 2.0. JakeWharton/dependency-tree-diffgithub.com16. Gradle DoctorGradle Doctor — это плагин для сканирования сборки Gradle. Функциональность: настраиваемые предупреждения о проблемах со скоростью сборки, измерение временны́х затрат на инструменты обработки аннотаций Dagger, установка переменной JAVA_HOME и проверка ее соответствия JAVA_HOME в IDE, простое отключение кеширования тестов, остановка сборки в случае, если найдены пустые каталоги src (поскольку это может быть причиной несовпадений в кеше), и многое другое.У инструмента отличная документация, проект выпущен под лицензией Apache 2.0. runningcode/gradle-doctorgithub.com17. GloballyDynamicGloballyDynamic — это «набор инструментов, направленных на обеспечение всеобщей доступности Dynamic Delivery, независимо от магазина приложений или платформы распространения, которые также предоставляют единый унифицированный клиентский API для Android и простой интерфейс для разработчиков». Поддерживаются:
«Данные схемы заполняются с помощью SPI-плагина Dagger, а средство просмотра написано с помощью CRA (create-react-app) и TypeScript», — Dagger Browser
«В Android R есть новые методы из Java 9 — например, List.of. Благодаря D8 и R8 они не являются эксклюзивными для API 30 и мгновенно превращаются в совместимые с API 1. В D8 и R8 есть набор методов десахаризации для API, которых еще нет в android.jar. И можно не ждать, пока они появятся — этот проект дает возможность использовать их сразу же».
Конечно, приложений и инструментов, обеспечивающих такую функциональность, множество. Сегодня функция записи экрана встроена во все новые устройства, но если вам интересно посмотреть, как реализовать такое приложение, этот проект будет отличным примером.Лицензия — Apache 2.0. afollestad/mnmlgithub.comЗаключениеВот и всё. Надеюсь, список вам понравился и какие-то инструменты смогли вас вдохновить. До встречи! О переводчикеПеревод статьи выполнен в Alconost.Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store. =========== Источник: habr.com =========== =========== Автор оригинала: Michal Bialas ===========Похожие новости:
Блог компании Alconost ), #_programmirovanie ( Программирование ), #_razrabotka_pod_android ( Разработка под Android ), #_razrabotka_mobilnyh_prilozhenij ( Разработка мобильных приложений ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 18:07
Часовой пояс: UTC + 5