Динамические product flavors в Android: когда статической конфигурации уже мало

Рано или поздно каждый Android‑разработчик сталкивается с задачей «одно приложение — много сборок»: white‑label‑решения, региональные версии, отдельные сборки для разных магазинов приложений, демо для клиентов, внутренние окружения. Встроенный механизм product flavors в Android Gradle Plugin отлично справляется со своей задачей — пока количество вариантов умещается в голове и в паре экранов build.gradle.kts . В этой статье я разберу подход, при котором конфигурация flavors строится динамически: список вариантов и их параметры живут вне build.gradle.kts .

https://habr.com/ru/articles/1027280/

#android #gradle #product_flavors #build_variants #kotlin_dsl #whitelabel #android_gradle_plugin #buildgradlekts #android_studio

Динамические product flavors в Android: когда статической конфигурации уже мало

Рано или поздно каждый Android‑разработчик сталкивается с задачей «одно приложение — много сборок»: white‑label‑решения, региональные версии, отдельные сборки для разных магазинов...

Хабр

Основы DSL в Kotlin

Domain Specific Language (DSL) — это язык, ориентированный на конкретную предметную область, который позволяет выражать решения в терминах этой области. В отличие от языков общего назначения вроде Java или Kotlin, DSL фокусируется на узкой задаче, делая код более читаемым и выразительным. Kotlin благодаря своему синтаксису и возможностям предоставляет отличные инструменты для создания внутренних DSL. В этой статье мы рассмотрим, как создавать собственные предметно-ориентированные языки в Kotlin, какие языковые конструкции для этого используются и как это применяется в реальных проектах. Чтобы статья была практико-ориентированной, мы сосредоточимся на одной области — создании DSL для конфигурации приложений и разберем несколько компактных примеров.

https://habr.com/ru/companies/otus/articles/967488/

#kotlin_dsl #DSL #конфигурация_приложений #лямбды_с_получателем #инфиксные_функции #внутренние_DSL #типобезопасность #конфигурационные_файлы #читаемость_кода

Основы DSL в Kotlin

Автор статьи: Сергей Прощаев ( @sproshchaev ) Руководитель направления Java-разработки в FinTech Введение Domain Specific Language (DSL) — это язык, ориентированный на конкретную предметную область,...

Хабр

Kotlin Multiplatform: как писать код один раз и покорить все платформы

Kotlin Multiplatform — это подход, который позволяет делить до 80% кода между Android, iOS, backend и вебом, не жертвуя нативностью. В статье — без лишнего пафоса о том, как устроена архитектура KMP, чем она отличается от Flutter и React Native, как работает сборка, где границы общего и платформенного кода и почему это решение подходит командам, стремящимся к эффективности без компромиссов.

https://habr.com/ru/companies/otus/articles/908940/

#kotlin #kotlin_multiplatform #kotlin_dsl #кроссплатформенная_разработка #KMP_архитектура

Kotlin Multiplatform: как писать код один раз и покорить все платформы

Автор статьи: Сергей Прощаев (@sproshchaev), Руководитель направления Java-разработки в FinTech Введение  Kotlin давно перерос статус языка «только для Android». Благодаря технологии Kotlin...

Хабр

Декларативный подход в организации gradle зависимостей в Android проектах

В многомодульных приложениях Android существует проблема организации зависимости gradle. Каждая зависимость указывается отдельно.

https://habr.com/ru/articles/845694/

#kotlin_dsl #kotlin #gradle #dsl

Объектно ориентированный подход в организации gradle зависимостей в Android проектах

Введение В многомодульных приложениях Android существует проблема организации зависимости gradle. Каждая зависимость указывается отдельно. Примерно вот так dependencies {...

Хабр