home.social

#kotlin_dsl — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #kotlin_dsl, aggregated by home.social.

  1. [Перевод] 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 АйО .

    habr.com/ru/companies/spring_a

    #java #kotlin #spring #spring_boot #java_core #kotlin_multiplatform #kotlin_dsl

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

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

    habr.com/ru/articles/1027280/

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

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

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

    habr.com/ru/articles/1027280/

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

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

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

    habr.com/ru/articles/1027280/

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

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

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

    habr.com/ru/articles/1027280/

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

  6. Основы DSL в Kotlin

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

    habr.com/ru/companies/otus/art

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

  7. Основы DSL в Kotlin

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

    habr.com/ru/companies/otus/art

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

  8. Основы DSL в Kotlin

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

    habr.com/ru/companies/otus/art

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

  9. Основы DSL в Kotlin

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

    habr.com/ru/companies/otus/art

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

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

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

    habr.com/ru/companies/otus/art

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