#kotlin_dsl — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #kotlin_dsl, aggregated by home.social.
-
[Перевод] Kotlin переходит к деструктурированию по именам
В Kotlin деструктурирование выглядело так: val (name, age) = person . Но компилятор берет значения не по именам, а по позиции component1/component2 . Отсюда проблемы. Если поменяли порядок параметров в data class или сделали age вычисляемым свойством: то та же строка начинает доставать другое поле. Причем иногда код даже скомпилируется, но, конечно, смысл изменится: val (age, name) = person . И вот теперь Kotlin эксперементально переводит круглые скобки на деструктурирование по имени. Синтаксис будет такой: (val name, val age) = person . И порядок внутри скобок не важен. Переименование явно: (val years = age, val theName = name) = person . Позиционное же деструктурирование остается, но переезжает в квадратные скобки для Pair/Triple и коллекций: val [x, y] = point . Разбираемся полностью в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/1035596/
#java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl
-
Динамические 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‑решения, региональные версии, отдельные сборки для разных магазинов приложений, демо для клиентов, внутренние окружения. Встроенный механизм 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‑решения, региональные версии, отдельные сборки для разных магазинов приложений, демо для клиентов, внутренние окружения. Встроенный механизм 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‑решения, региональные версии, отдельные сборки для разных магазинов приложений, демо для клиентов, внутренние окружения. Встроенный механизм 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
-
Основы 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
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
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
Domain Specific Language (DSL) — это язык, ориентированный на конкретную предметную область, который позволяет выражать решения в терминах этой области. В отличие от языков общего назначения вроде Java или Kotlin, DSL фокусируется на узкой задаче, делая код более читаемым и выразительным. Kotlin благодаря своему синтаксису и возможностям предоставляет отличные инструменты для создания внутренних DSL. В этой статье мы рассмотрим, как создавать собственные предметно-ориентированные языки в Kotlin, какие языковые конструкции для этого используются и как это применяется в реальных проектах. Чтобы статья была практико-ориентированной, мы сосредоточимся на одной области — создании DSL для конфигурации приложений и разберем несколько компактных примеров.
https://habr.com/ru/companies/otus/articles/967488/
#kotlin_dsl #DSL #конфигурация_приложений #лямбды_с_получателем #инфиксные_функции #внутренние_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_архитектура