Релиз Kotlin 1.7.20
- K2 компилятор стал ближе к стабильному релизу: завезли поддержку all-open, noarg, SAM, Lombok, AtomicFU и других компиляторных плагинов
- Новая модель управления памятью в Kotlin/Native включена по умолчанию
- Превью нового оператора для ренджей: ..<
- Generic inline классы в Kotlin/JVM
- Поддержка Gradle 7.1
Опыт работы с Compose for iOS
- TouchLab написали приложение для Droidcon, пошарив весь код между iOS и Android с помощью KMM и Compose
- Compose for iOS еще совсем-совсем сырой, но критичных проблем команда не встретила
While Compose for iOS is not production ready yet and may never fully replace native iOS UI, it’s definitely worth it to try it out, and in the future, I’m sure it will find it’s place in codebases of many Multiplatform applications.
A light weight Compose Animation library to choreograph low level Animation API through Kotlin DSL. - GitHub - sagar-viradiya/koreography: A light weight Compose Animation library to choreograph lo...
Различия в расчете corner radius в Android и iOS
- Если в Android выставить квадрату шириной 40dp corner radius 30dp, то он будет выглядеть в точности, как corner radius 20dp
- В iOS такого не происходит, и с повышением значения corner radius форма квадрата продолжает меняться
- Так происходит потому, что в Android есть внутреннее ограничение на то, что corner radius не может быть больше, чем половина самой короткой стороны фигуры. В iOS такого ограничения нет.
Ворнинги Android Lint и Detekt в GitHub PR
- В GitHub появилась фича code scanning – возможность выводить ворнинги и ошибки CI в комментарии к PR без использования ботов и сторонних инструментов
- Для этого надо сгенерировать специальный файл с отчетом и загрузить его с помощью GitHub Action
- В статье разбирается, как сгенерировать такой файл для Android Lint и Detekt
Пример использования multipreview annotations в Now in Android
- Compose позволяет задавать кастомные конфигурации для Preview аннотаций. Они позволяют быстро посмотреть, как будет выглядеть компонент с разными настройками
- В Compose 1.2.0 завезли поддержку Multipreview аннотаций. Благодаря ей можно скомбинировать несколько Preview с разными конфигурациями в одну аннотацию
- По ссылке – PR в приложение Now in Android, в котором Multipreview аннотации используются для добавления поддержки светлой и темной темы
Jake Wharton про Java 19
Три года назад на KotlinConf Jake Wharton делал доклад про будущее Java и про фичи, которые нужно сделать, чтобы догнать Kotlin. На прошлой неделе вышла Java 19, и он подбил статус своих прогнозов:
🔴Local methods
🟢Multiline string literals (релиз в Java 15)
🟢Records (релиз в Java 16)
🟢Sealed hierarchies (релиз в Java 17)
🟢Type patterns (релиз в Java 16)
🟠Record patterns (превью в Java 19)
🟡Virtual threads (превью в Java 19)
Работа над перфомансом и стабильностью Lyft
- Команда перфоманса в Lyft работает над тремя основными направлениями: стабильность, время старта и скорость рендеринга
- Самым приоритетным направлением стало исправление крешей: топ-10 крешей отвечали за 53% всех падений приложения
- Основные причины топовых крешей: сторонние SDK, Out of memory, Native crashes
Penpot – open source аналог Figma
- Если вас беспокоит будущее Figma после покупки Adobe, или вы просто хотите попробовать бесплатнуб альтернативу – посмотрите на Penpot
- Помимо стандартных дизайнерских возможностей по работе с графикой и текстом, Penpot умеет создавать интерактивные мокапы приложений и поддерживает коллаборативную работу
Рекомендации по управлению стейтом TextField в Compose
Один из фокусов команды Compose – улучшить механизмы управления стейтом TextField. А пока, чтобы помочь вам избежать проблем с синхронизацией действий и стейта, Google выпустили подробный гайд с советами по тому, чего стоит избегать.
70 Kotlin Coding Challenges
Репозиторий с заданиями разных уровней сложности. Каждое из них состоит из подробного описания с полезными ссылками, самой задачи и решения.
Поэтапное моделирование системы типов
Использование примитивов в API чревато тем, что его потребители могут неверно интерпретировать систему измерений и передать не те значения, которые предполагал автор кода. В статье разбирается, как спроектировать API на Kotlin таким образом, чтобы избавиться от похожих проблем.
Type safety is undervalued in most software projects and causes enormous financial losses throughout the world. Changing a few bad habits can lead to more reliable software.
Всем привет! В этой статье расскажем про инструментарий для анализа мобильных приложений, который мы используем каждый день. Для начала поговорим про то, как запускать мобильные приложения, чем...
Toolbox Enterprise от JetBrains
Toolbox Enterprise – новый инструмент, который помогает управлять парком IntelliJ IDE в компании, в том числе и Android Studio.
🔐Установка списка поддерживаемых версий, которые разработчики могут устанавливать на свои устройства
🎁Приватный репозиторий IDE плагинов, в котором можно держать как плагины, разработанные в компании, так и внешние, разрешенные или рекомендуемые к использованию
🛠Управление глобальными настройками IDE: code style, VM options, maximum heap size и другими
📊Сбор анонимной аналитики с разработческих машин, что особенно полезно платформенным командам
Пока доступен только закрытый ранний доступ, но вписаться уже можно!