Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Отключаем Jetifier и ускоряем сборку: опыт Тинькофф.Бизнес

Блог компании TINKOFFРазработка под AndroidGradle
Tutorial

Привет, Хабр!

Уже пять лет наша команда разрабатывает Тинькофф.Бизнес – мобильный банк для юридических лиц. За это время наше Android-приложение успело набрать целых 200 модулей и 400 тысяч строк компилируемого кода.

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

В этой статье я расскажу и покажу, как мы ускорили билд, отключив Jetifier.

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры3.1K
Комментарии 0

Шаблон Kotlin микросервисов

ПрограммированиеJavaKotlinGradleМикросервисы

Для разработчиков не секрет, что создание нового сервиса влечет за собой немало рутиной настройки: билд скрипты, зависимости, тесты, docker, k8s дескрипторы. Раз мы выполняем эту работу, значит текущих шаблонов IDE недосточно. Под катом мои попытки автоматизировать все до одной кроссплатформенной кнопки "сделать хорошо" сопровождаемые кодом, примерами и финальным результатом.

Если перспективы создания сервисов в один клик с последующим автоматическим деплоем в Digital Ocean звучат заманчиво, значит эта статья для вас.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры2.4K
Комментарии 5

Советы по работе с Gradle для Android-разработчиков

Блог компании red_mad_robotРазработка мобильных приложенийРазработка под AndroidDevOpsGradle

Всем привет! Я пишу приложения под Android, в мире которого система сборки Gradle является стандартом де-факто. Я решил поделиться некоторыми советами по работе с системой с теми, у кого нет чёткого понимания, как правильно структурировать свои проекты и писать build-скрипты.


Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Просмотры4.9K
Комментарии 6

Avito Android meetup: работа с Gradle и проблемы при сборке проектов

Блог компании АвитоРазработка мобильных приложенийРазработка под Android

11 марта в 18:00 по Москве мы проведём онлайн-митап для андроид-разработчиков. С докладами выступят инженеры нашей платформенной команды, которые отвечают за быструю доставку изменений во всех андроид-приложениях Авито до пользователей. Будем говорить про неочевидные проблемы с окружением и сборкой проектов и правильную работу с Gradle.

Узнать подробности
Всего голосов 8: ↑6 и ↓2 +4
Просмотры1.2K
Комментарии 0

Чем отличаются Dagger, Hilt и Koin под капотом?

Блог компании OTUSПрограммированиеРазработка под Android
Перевод

Dagger и Koin, без сомнения, являются двумя самыми популярными фреймворками для внедрения зависимостей на Android. Обе эти библиотеки служат одной цели и кажутся очень похожими, но работают они по-разному.

А при чем здесь Hilt? Hilt — это библиотека, которая использует Dagger под капотом и просто упрощает работу с ним, поэтому все, что я говорю здесь о Dagger, применимо и к Hilt.

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры2K
Комментарии 0

Готовьсь, цельсь, пли! Как не обжечься при сборке Gradle-приложения, и настолько ли всё серьезно?

Блог компании YotaGroovy & GrailsРазработка под AndroidKotlinGradle
Recovery mode

Доброго дня, читатель! Меня зовут Стручков Михаил и я Android-разработчик в команде мобильного оператора Yota. 

В последнее время особенности нашего приложения способствуют частой и кропотливой работе с Gradle. В своем опыте работы с ним я успел пройти через стадию поломанных сборок, отчаяния в попытках понять причину очередного фейла при билде, и неподдельной радости после успешной реализации собственных задумок. 

Предлагаю вам упростить тернистый путь к пониманию сборки Gradle-приложений, разобрать основные этапы и их особенности, и попробовать совместно сократить трафик stackoverflow на тему Gradle. В качестве бонуса немного коснемся Gradle-плагинов и разберемся, как к ним подходить. 

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Просмотры5.5K
Комментарии 6

Материалы митапа для андроид-инженеров: поиск проблем сборки, защита от них и работа с Gradle

Блог компании АвитоРазработка мобильных приложенийРазработка под Android

Недавно прошёл наш Android meetup, где ребята из платформенной команды Авито делились своим опытом работы с Gradle, показывали способы защиты от частых проблем при сборке проектов и рассказывали о нашем подходе к решению проблем. 

Собрали в посте видеозаписи выступлений с таймкодами и ссылки на презентации спикеров. 

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры1.3K
Комментарии 3

Запускаем Gatling из Gradle — Полное руководство для начинающих

Блог компании OTUSТестирование IT-системGradle
Перевод

Хотите узнать, как использовать Gatling через Gradle? Тогда вы по адресу. В последнее время я достаточно часто использую инструмент стресс-тестирования Gatling. Он стал одним из моих излюбленных инструментов для тестирования производительности. На сайте Gatling есть неплохая документация по началу работы. Но она подразумевает загрузку zip-файла, а затем запуск BAT или SH скрипта для запуска Gatling. А затем вам нужно выбрать из списка тест, который вы хотите запустить.

Так что да, было бы намного приятнее делать все вышеперечисленное через Gradle. И естественно, намного удобнее. В частности, если вы хотите запускать Gatling-тесты как часть вашего Continuous Integration. Одним из наибольших преимуществ этого подхода является то, что Gatling может зафейлить вашу CI-сборку, если будет нарушен определенный порог производительности (например, слишком много ошибок или слишком большое среднее время отклика и т. д.).

Если вы хотите запускать Gatling через Gradle, вам понадобится плагин Gatling Gradle.

Это руководство проведет вас через настройку плагина Gradle для нового Gatling-проекта.

Чтобы сделать это руководство еще более удобным для новичков, мы будем производить настройку в IDE (Intellij). После завершения работы по настройке вы можете переключиться на запуск исключительно через командную строку, если вам угодно.

Предупрежу вас с самого начала — я не буду вдаваться в подробности о Gatling в этой статье. Если вы хотите всесторонне познакомиться с Gatling, ознакомьтесь с другой моей статьей «Нагрузочное тестирование с Gatling — Полное руководство».

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Просмотры751
Комментарии 0

Building projects (CI/CD), instruments

Системы сборкиDevOpsGradle

In some projects, the build script is playing the role of Cinderella. The team focuses its main effort on code development. And the build process itself could be handled by people who are far from development (for example, those responsible for operation or deployment). If the build script works somehow, then everyone prefers not to touch it, and no one ever is thinking about optimization. However, in large heterogeneous projects, the build process could be quite complex, and it is possible to approach it as an independent project.If you treat the build script as a secondary unimportant project, then the result will be an indigestible imperative script, the support of which will be rather difficult.


In this note we will take look at the criteria by which we chose the toolkit, and in the next one — how we use this toolkit. (There is also a Russian version.)


CI/CD (opensource.com)

Read more →
Рейтинг 0
Просмотры490
Комментарии 0

Дайджест интересных материалов для мобильного разработчика #388 (28 марта — 4 апреля)

Блог компании Productivity InsideРазработка под iOSРазработка мобильных приложенийРазработка под Android
В новой недельной подборке архитектурные паттерны и новая WWDC21, распознавание карт и 13 подвохов мобильного приложения, траты пользователей, тестирование иконок и многое другое!

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры2.6K
Комментарии 0

Сборка (CI/CD) не-JVM проектов с использованием gradle/kotlin

Системы сборкиDevOpsGradle

В некоторых проектах сборке отводится роль Золушки. Основные усилия команда сосредоточивает на разработке кода. А самой сборкой могут заниматься люди, далёкие от разработки (например, отвечающие за эксплуатацию, либо за развёртывание). Если сборка хоть как-то работает, то её предпочитают не трогать, и речь об оптимизации не заходит. Вместе с тем в больших гетерогенных проектах сборка оказывается достаточно сложной и к ней вполне можно подходить как к самостоятельному проекту. Если же относиться к сборке как к второстепенному проекту, то в результате будет получен неудобоваримый императивный скрипт, поддержка которого будет в значительной степени затруднена.


В предыдущей заметке мы рассмотрели, по каким критериям мы выбирали инструментарий, и почему остановились на gradle/kotlin, а в этой заметке рассмотрим, каким образом используем gradle/kotlin для автоматизации сборки не-JVM проектов. (Есть также перевод на английский.)


CI/CD (opensource.com)


Введение


Gradle для JVM-проектов является общепризнанным инструментом и не нуждается в дополнительных рекомендациях. Для проектов за пределами JVM он также используется. Например, в официальной документации описаны сценарии использования для C++ и Swift проектов. Мы используем gradle для автоматизации сборки, тестирования и развёртывания гетерогенного проекта, включающего модули на node.js, go, terraform.

Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры898
Комментарии 0

Build (CI/CD) of non-JVM projects using gradle/kotlin

KotlinСистемы сборкиGradle

In some projects, the build script is playing the role of Cinderella. The team focuses its main effort on code development. And the build process itself could be handled by people who are far from development (for example, those responsible for operation or deployment). If the build script works somehow, then everyone prefers not to touch it, and noone ever is thinking about optimization. However, in large heterogeneous projects, the build process could be quite complex, and it is possible to approach it as an independent project. If however you treat the build script as a secondary unimportant project, then the result will be an indigestible imperative script, the support of which will be rather difficult.


In the previous post we looked at what criteria we used to choose the toolkit, and why we chose gradle/kotlin, and in this post we will take a look at how we use gradle/kotlin to automate the build of non-JVM projects. (There is also a Russian version.)


CI/CD (opensource.com)


Introduction


Gradle for JVM projects is a universally recognized tool and does not need additional recommendations. For projects outside of the JVM platform, it is also used. For instance, the official documentation describes usage scenarios for C++ and Swift projects. We use gradle to automate the build, test, and deployment of a heterogeneous project that includes modules in node.js, golang, terraform.

Read more →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры412
Комментарии 0

Сборка не JVM-проектов, инструменты

Системы сборкиDevOpsGradle

В некоторых проектах сборке отводится роль Золушки. Основные усилия команда сосредоточивает на разработке кода. А самой сборкой могут заниматься люди, далёкие от разработки (например, отвечающие за эксплуатацию, либо за развёртывание). Если сборка хоть как-то работает, то её предпочитают не трогать, и речь об оптимизации не заходит. Вместе с тем в больших гетерогенных проектах сборка оказывается достаточно сложной и к ней вполне можно подходить как к самостоятельному проекту. Если же относиться к сборке как к второстепенному проекту, то в результате будет получен неудобоваримый императивный скрипт, поддержка которого будет в значительной степени затруднена.


В этой заметке мы рассмотрим, по каким критериям мы выбирали инструментарий, а в следующей — каким образом этот инструментарий используем. (Есть также перевод на английский.)


CI/CD (opensource.com)

Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры752
Комментарии 0

Использование Spring Cloud Stream Binding с брокером сообщений Kafka

Тестирование веб-сервисовKotlinGradleРаспределённые системыМикросервисы

Всем привет! Меня зовут Виталий, я разработчик в компании Web3Tech. В этом посте я представлю основные концепции и конструкции платформы Spring Cloud Stream для поддержки и работы с брокерами сообщений Kafka, с полным циклом их контекстного unit-тестирования. Мы используем такую схему в своем проекте всероссийского электронного голосования на блокчейн-платформе Waves Enterprise.

Являясь частью группы проектов Spring Cloud, Spring Cloud Stream основан на Spring Boot и использует Spring Integration для обеспечения связи с брокерами сообщений. При этом он легко интегрируется с различными брокерами сообщений и требует минимальной конфигурацией для создания event-driven или message-driven микросервисов.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры1K
Комментарии 0