Вышел Gradle 7.6
- Поддержка Java 19
- Добавлена сильная типизация в блок JVM test suites, что улучшает IDE поддержку для Groovy и KTS
- Java Toolchain теперь можно скачивать из любых репозиториев
- Новый флаг —rerun, который можно использовать с любой таской
- Куча улучшений в Configuration Cache
- Поддержка Java 19
- Добавлена сильная типизация в блок JVM test suites, что улучшает IDE поддержку для Groovy и KTS
- Java Toolchain теперь можно скачивать из любых репозиториев
- Новый флаг —rerun, который можно использовать с любой таской
- Куча улучшений в Configuration Cache
Новая программа EAP Champions от команды Kotlin
- Перед каждым релизом Kotlin команда выпускает бета сборки. Это помогает собрать фидбэк о стабильности релиза и вовремя поправить критичные баги.
- Команде особенно важен фидбэк от разработчиков крупных проектов – именно там кроется значимая часть проблем.
- Если вы готовы регулярно тестировать EAP в своем рабочем проекте и делиться найденными ошибками, становитесь EAP чемпионом. Вам пришлют уникальную сувенирку, будут упоминать в блогпостах а, главное, быстро исправлять критичные для вашего проекта проблемы.
- Перед каждым релизом Kotlin команда выпускает бета сборки. Это помогает собрать фидбэк о стабильности релиза и вовремя поправить критичные баги.
- Команде особенно важен фидбэк от разработчиков крупных проектов – именно там кроется значимая часть проблем.
- Если вы готовы регулярно тестировать EAP в своем рабочем проекте и делиться найденными ошибками, становитесь EAP чемпионом. Вам пришлют уникальную сувенирку, будут упоминать в блогпостах а, главное, быстро исправлять критичные для вашего проекта проблемы.
The JetBrains Blog
We Are Looking For EAP Champions! | The Kotlin Blog
To make sure that all scenarios and project types are tested with the new Kotlin version, we’re starting the EAP Champions program – we invite you to join!
Gradle Version Catalogs
Недавно в Gradle появилась новая экспериментальная фича – Version Catalogs. С ее помощью можно централизованно управлять версиями зависимостей в многомодульных проектах, объявляя их в специальном *.toml файле.
Недавно в Gradle появилась новая экспериментальная фича – Version Catalogs. С ее помощью можно централизованно управлять версиями зависимостей в многомодульных проектах, объявляя их в специальном *.toml файле.
Рисуем текст на канвасе с Compose 1.3.0
- В Compose 1.3.0 появился удобный API для рисования текста на канвасе – DrawScope.drawText().
- В статье разбираются все способы рисования текста и различные кастомизации.
- В Compose 1.3.0 появился удобный API для рисования текста на канвасе – DrawScope.drawText().
- В статье разбираются все способы рисования текста и различные кастомизации.
Как подключить Per-App Language Preferences в свое приложение
- Per-App Language Preferences – новая фича Android 13, которая позволяет определять язык не для всей системы, а гибко настраивать его для отдельных приложений.
- В настройках языка появляются только те приложения, которые в явном виде настроили эту фичу.
- В статье дается инструкция по настройке фичи и миграции данных пользователей более старых версий Android.
- Per-App Language Preferences – новая фича Android 13, которая позволяет определять язык не для всей системы, а гибко настраивать его для отдельных приложений.
- В настройках языка появляются только те приложения, которые в явном виде настроили эту фичу.
- В статье дается инструкция по настройке фичи и миграции данных пользователей более старых версий Android.
Скидки на плейлисты Podlodka Crew
Мы с командой запустили распродажу всех плейлистов Подлодки под Черную пятницу. Скидка накопительная, больше плейлистов – больше скидон. Вот несколько особенно крутых, которые рекомендую вам посмотреть:
🧱Android Crew 9 – Advanced архитектура: модуляризация, навигация, Compose
🤯Android Crew 8 – Android под капотом
🎨Android Crew 3 – Алгоритмы и работа с UI
Я опоздал рассказать вам про акцию, поэтому лучше поспешить – мы закроем ее уже завтра.
👉Магазин плейлистов
Мы с командой запустили распродажу всех плейлистов Подлодки под Черную пятницу. Скидка накопительная, больше плейлистов – больше скидон. Вот несколько особенно крутых, которые рекомендую вам посмотреть:
🧱Android Crew 9 – Advanced архитектура: модуляризация, навигация, Compose
🤯Android Crew 8 – Android под капотом
🎨Android Crew 3 – Алгоритмы и работа с UI
Я опоздал рассказать вам про акцию, поэтому лучше поспешить – мы закроем ее уже завтра.
👉Магазин плейлистов
CameraViewFinder – новый способ работать с превью камеры
В CameraX появился новый класс – CameraViewFinder. С его помощью можно быстро реализовывать превью видеопотока с камеры устройства, которое будет автоматически адаптироваться под изменения контекста – смену ориентации, изменения инсетов, получение доступа к камере другим приложением.
В CameraX появился новый класс – CameraViewFinder. С его помощью можно быстро реализовывать превью видеопотока с камеры устройства, которое будет автоматически адаптироваться под изменения контекста – смену ориентации, изменения инсетов, получение доступа к камере другим приложением.
Android Developers Blog
Introducing Camera Viewfinder
CameraViewFinder is ready-to-use across resizable surfaces, configuration changes, rotations, and multi-window modes.
Команда Тинькофф ищет Android-разработчиков 💡
Большое комьюнити мобильных разработчиков Тинькофф решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду Android-разработчиков с опытом от трех лет
Работать с Тинькофф значит:
— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити Android-разработчиков.
А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.
Откликнуться и узнать подробнее о команде Android-разработчиков Тинькофф: https://l.tinkoff.ru/mobile-prof
Большое комьюнити мобильных разработчиков Тинькофф решает крутые задачи — создает высоконагруженные сервисы для 27 миллионов клиентов, экспериментирует и ищет новые решения. Приглашает в команду Android-разработчиков с опытом от трех лет
Работать с Тинькофф значит:
— не ограничивать свои скиллы и вводить в сервисы новые фичи;
— делать жизнь миллионов людей удобнее и технологичней;
— расти в грейде по скиллам, а не по стажу в компании;
— становиться заметным в комьюнити Android-разработчиков.
А еще команда всегда «за» действительно комфортную работу. Поэтому большинство бытовых забот делегируют компании: от расширенного ДМС и юридической помощи до питания и разных активностей.
Откликнуться и узнать подробнее о команде Android-разработчиков Тинькофф: https://l.tinkoff.ru/mobile-prof
Генерация Baseline Profiles с помощью GitHub Actions
Самая сложная часть работы с baseline profiles – их генерация. В статье лежит гайд по тому, как можно быстро настроить генерацию профиля для своего проекта на базе GitHub Actions.
Самая сложная часть работы с baseline profiles – их генерация. В статье лежит гайд по тому, как можно быстро настроить генерацию профиля для своего проекта на базе GitHub Actions.
Medium
The Simplest Guide To Generate Baseline Profiles Continuously
How to empower builds with GitHub Actions
Тред иконок приложений, сгенерированных Midjourney
Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
Прогресс нейронок, генерирующих иллюстрации, сделал более доступными и красивые иконки для ваших пет-проектов. Посмотрите, какая красота получается!
📌 ВКонтакте привлекает разработчиков к созданию мини-приложений
Команда регулярно проводит конкурсы вроде VK Fresh Code, которые помогают найти лучшие ИТ-продукты и привлечь к развитию платформы талантливых разработчиков. В недавнем этапе выиграли 25 мини-приложений на базе платформы VK Mini Apps на разные тематики, а их создатели получили гранты из призового фонда в 4,5 миллиона рублей. Поучаствовать в конкурсе могут как отдельные разработчики, так и команды.
Команда регулярно проводит конкурсы вроде VK Fresh Code, которые помогают найти лучшие ИТ-продукты и привлечь к развитию платформы талантливых разработчиков. В недавнем этапе выиграли 25 мини-приложений на базе платформы VK Mini Apps на разные тематики, а их создатели получили гранты из призового фонда в 4,5 миллиона рублей. Поучаствовать в конкурсе могут как отдельные разработчики, так и команды.
Обновился роадмап Kotlin
Основной фокус на четырех больших проектах:
1️⃣Релиз стабильного K2 компилятора
2️⃣Релиз нового плагина для IDE на базе K2
3️⃣Стабильный релиз KMM
4️⃣Улучшение жизни авторов библиотек
Подборка интересных фичей и планов:
💣Общий тикет с планами по всем новым языковым фичам и экспериментам
💣Детальные планы по тому, что будет стабилизировано в КММ
💣Первый релиз К2 IDE будет включать в себя только часть фичей старого плагина
💣.gradle.kts планируют сделать дефолтным для всей экосистемы вместо Groovy
💣Новый Gradle DSL для конфигурации компиляторных аргументов
💣Плагин для IDE, который позволит работать с Kotlin в стиле датасаенсовых ноутбуков
💣Много улучшений в KDoc
💣Большой гайд по дизайну API и обеспечению обратной совместимости для авторов библиотек
💣Поддержка Base64 и Hex в stdlib
Голосуйте за самые интересные тикеты, задавайте в комментариях к ним вопросы и обратную связь!
Основной фокус на четырех больших проектах:
1️⃣Релиз стабильного K2 компилятора
2️⃣Релиз нового плагина для IDE на базе K2
3️⃣Стабильный релиз KMM
4️⃣Улучшение жизни авторов библиотек
Подборка интересных фичей и планов:
💣Общий тикет с планами по всем новым языковым фичам и экспериментам
💣Детальные планы по тому, что будет стабилизировано в КММ
💣Первый релиз К2 IDE будет включать в себя только часть фичей старого плагина
💣.gradle.kts планируют сделать дефолтным для всей экосистемы вместо Groovy
💣Новый Gradle DSL для конфигурации компиляторных аргументов
💣Плагин для IDE, который позволит работать с Kotlin в стиле датасаенсовых ноутбуков
💣Много улучшений в KDoc
💣Большой гайд по дизайну API и обеспечению обратной совместимости для авторов библиотек
💣Поддержка Base64 и Hex в stdlib
Голосуйте за самые интересные тикеты, задавайте в комментариях к ним вопросы и обратную связь!
Что ждете больше всего?
Anonymous Poll
13%
Стабильный K2 компилятор
3%
Новый K2 IDE плагин
23%
Стабильный КММ
7%
Ускорение компиляции Kotlin/Native
10%
Улучшения .gradle.kts
12%
Ускорение инкрементальной компиляции в Gradle
4%
Новые языковые фичи (non local break and continue, ..<, data objects)
7%
Новые фичи стандартной библиотеки, корутин и сериализации
21%
Посмотреть результаты
Remote Development в Uber
Отличная статья для тех, кто любит читать, как решаются проблемы в огромных командах разработки. После переезда всех сервисов и приложений Uber в монорепозиторий заметно просела скорость сборки и сложность поднятия локального окружения. Чтобы решить проблему, команда реализовала возможность быстрого поднятия контейнера с преднастроенным рабочим окружением, к которому можно коннектиться с помощью remote development фичей IntelliJ и VSCode.
В статье детали про архитектуру решения, его плюсы и известные проблемы.
Отличная статья для тех, кто любит читать, как решаются проблемы в огромных командах разработки. После переезда всех сервисов и приложений Uber в монорепозиторий заметно просела скорость сборки и сложность поднятия локального окружения. Чтобы решить проблему, команда реализовала возможность быстрого поднятия контейнера с преднастроенным рабочим окружением, к которому можно коннектиться с помощью remote development фичей IntelliJ и VSCode.
В статье детали про архитектуру решения, его плюсы и известные проблемы.
Все про работу со стейтом в Compose
var enabled by remember { mutableStateOf(true) }
☁️mutableStateOf(true) создает объект типа MutableState<Boolean>, который содержит сам стейт
☁️Функция remember говорит фреймворку о том, что выполнять лямбду при каждой рекомпозиции не нужно
☁️Ключевое слово by позволяет работать с переменной enabled как с Boolean
Статья начинается с разбора того, как именно определяется стейт, а затем уходит в детали:
🧷Что будет, если опустить что-то из перечисленных выше шагов
🧷Чем отличаются stateful и stateless composables, и когда стейт нужен
🧷Почему TextInput должен быть stateful
🧷Работа со стейтом во ViewModel
🧷Представление стейта с помощью Flow, rxJava и LiveData
var enabled by remember { mutableStateOf(true) }
☁️mutableStateOf(true) создает объект типа MutableState<Boolean>, который содержит сам стейт
☁️Функция remember говорит фреймворку о том, что выполнять лямбду при каждой рекомпозиции не нужно
☁️Ключевое слово by позволяет работать с переменной enabled как с Boolean
Статья начинается с разбора того, как именно определяется стейт, а затем уходит в детали:
🧷Что будет, если опустить что-то из перечисленных выше шагов
🧷Чем отличаются stateful и stateless composables, и когда стейт нужен
🧷Почему TextInput должен быть stateful
🧷Работа со стейтом во ViewModel
🧷Представление стейта с помощью Flow, rxJava и LiveData
У Сбера появилась платформа для разработчиков html-игр.
Здесь каждый может не только получить новый канал продвижения, но и монетизировать свои разработки — достаточно адаптировать игру под пульт, загрузить в каталог хостинга Сбера и начать зарабатывать на in-app покупках и рекламных интеграциях.
Для геймдевелоперов у Сбера действует ежемесячная программа мотивации.
Все подробности здесь
Здесь каждый может не только получить новый канал продвижения, но и монетизировать свои разработки — достаточно адаптировать игру под пульт, загрузить в каталог хостинга Сбера и начать зарабатывать на in-app покупках и рекламных интеграциях.
Для геймдевелоперов у Сбера действует ежемесячная программа мотивации.
Все подробности здесь
Как устроен и работает Kotlin DSL для описания конфига GitHub Actions
Автор проекта github-workflows-kt рассказывает о том, как настрадался с описанием конфигурации CI с помощью YAML и решил переписать все на Kotlin DSL.
Самое интересное в статье – то, как автор подошел к вопросам дизайна, выделял основные сущности и исправлял проблемы большого количества дублирующихся сущностей в YAML.
Автор проекта github-workflows-kt рассказывает о том, как настрадался с описанием конфигурации CI с помощью YAML и решил переписать все на Kotlin DSL.
Самое интересное в статье – то, как автор подошел к вопросам дизайна, выделял основные сущности и исправлял проблемы большого количества дублирующихся сущностей в YAML.