This media is not supported in your browser
VIEW IN TELEGRAM
Пошаговая реализация Dynamic Island на Compose
Dynamic Island из iOS – спорный с точки зрения UX, но интересный с точки зрения реализации нестандартного UI компонент. Если вы ищете, на каких примерах потренироваться с анимациями на Compose, то как раз отлично подойдет.
Dynamic Island из iOS – спорный с точки зрения UX, но интересный с точки зрения реализации нестандартного UI компонент. Если вы ищете, на каких примерах потренироваться с анимациями на Compose, то как раз отлично подойдет.
3 причины стать мобильным разработчиком на Android
1. Реализовать идеи
Счётчик просмотренных фильмов или управление светом в холодильнике? Приложение можно создать под любую задачу, на любом компьютере, для разных устройств и брендов.
2. «Пощупать» результат
70% людей в мире, у которых есть смартфон, пользуются Android. Разработчики улучшают жизнь людей и видят отклик: всегда можно протестировать приложение на своём устройстве или почитать отзывы в магазине.
3. Зарабатывать
По данным Хабр Карьеры, начинающие Android-разработчики получают от 40 000 ₽ в месяц, а опытные уровня middle — от 120 000 ₽. Часто разработчики работают удалённо.
Если хотите попробовать себя в этой профессии, начните бесплатную вводную часть курса по Android-разработке. Она делится на два уровня: начальный и для более подготовленных. Вы с первого урока учитесь на реальных задачах и погружаетесь в рабочую среду.
Познакомьтесь с языками Java и Kotlin, напишите своё первое приложение бесплатно →
1. Реализовать идеи
Счётчик просмотренных фильмов или управление светом в холодильнике? Приложение можно создать под любую задачу, на любом компьютере, для разных устройств и брендов.
2. «Пощупать» результат
70% людей в мире, у которых есть смартфон, пользуются Android. Разработчики улучшают жизнь людей и видят отклик: всегда можно протестировать приложение на своём устройстве или почитать отзывы в магазине.
3. Зарабатывать
По данным Хабр Карьеры, начинающие Android-разработчики получают от 40 000 ₽ в месяц, а опытные уровня middle — от 120 000 ₽. Часто разработчики работают удалённо.
Если хотите попробовать себя в этой профессии, начните бесплатную вводную часть курса по Android-разработке. Она делится на два уровня: начальный и для более подготовленных. Вы с первого урока учитесь на реальных задачах и погружаетесь в рабочую среду.
Познакомьтесь с языками Java и Kotlin, напишите своё первое приложение бесплатно →
Яндекс Практикум
Курс «Android-разработчик» - онлайн-обучение разработке мобильных приложений под Андроид
Онлайн-курс «Android-разработчик» от сервиса Яндекс Практикум. 12 месяцев обучения разработке мобильных приложений под Андроид для начинающих (с нуля). Научитесь писать код на Java и Kotlin, создадите командный дипломный проект, с дипломом и помощью в трудоустройстве.
Обновленные данные Android's Platform Distribution
6 января Google обновил данные по распределению используемых версий Android. Теперь можно посмотреть, какой процент пользователей сидит на Android 13 – пока это 5%.
6 января Google обновил данные по распределению используемых версий Android. Теперь можно посмотреть, какой процент пользователей сидит на Android 13 – пока это 5%.
Scaffold в Jetpack Compose
- Scaffold – особый тип composeable, который выступает родительским элементом для всех остальных и задает основной лэйаут.
- Его основные задачи – выделять место для системных элементов вроде Top/Bottom Bars и FloatingActionButton, и автоматически применять цвета выбранной темы к бэкграунду.
- Есть несколько разных типов Scaffold. Например, BottomSheetScaffold или BackdropScaffold, которые приложены скринами к посту.
- Scaffold не обязателен для использования, и его функциональность можно реализовать вручную.
- Scaffold – особый тип composeable, который выступает родительским элементом для всех остальных и задает основной лэйаут.
- Его основные задачи – выделять место для системных элементов вроде Top/Bottom Bars и FloatingActionButton, и автоматически применять цвета выбранной темы к бэкграунду.
- Есть несколько разных типов Scaffold. Например, BottomSheetScaffold или BackdropScaffold, которые приложены скринами к посту.
- Scaffold не обязателен для использования, и его функциональность можно реализовать вручную.
Как работает Gradle
Команда Gradle начала новую серию постов про разные интересные детали того, как работает билд тулинг. В первом посте разбирается, чем отличаются разные способы запуска билда и что происходит в каждый момент под капотом.
Команда Gradle начала новую серию постов про разные интересные детали того, как работает билд тулинг. В первом посте разбирается, чем отличаются разные способы запуска билда и что происходит в каждый момент под капотом.
Бесплатные вебинары от Gradle
Только блогом активность Gradle не ограничивается. В январе пройдет несколько интересных вебинаров, которые открыты всем для участия:
📆Воркшоп по ускорению билдов и траблшутингу, 24 января
📆Интервью Николая Красько, тимлида инфраструктурной команды в Kotlin, про то, как оптимизируется опыт разработчиков внутри команды Kotlin, 25 января
📆Воркшоп по разным аспектам конфигурации Gradle с помощью Kotlin DSL, 26 января
📆Deep dive в Maven Build Cache, 31 января
Только блогом активность Gradle не ограничивается. В январе пройдет несколько интересных вебинаров, которые открыты всем для участия:
📆Воркшоп по ускорению билдов и траблшутингу, 24 января
📆Интервью Николая Красько, тимлида инфраструктурной команды в Kotlin, про то, как оптимизируется опыт разработчиков внутри команды Kotlin, 25 января
📆Воркшоп по разным аспектам конфигурации Gradle с помощью Kotlin DSL, 26 января
📆Deep dive в Maven Build Cache, 31 января
Gradle
Events for Gradle, Develocity, and Developer Productivity | Gradle
Our events explore the latest trends in developer productivity and experience, with expert speakers teaching best practices and sharing tactical tips.
Как Lyft собирает метрики потребления памяти в проде
Для каждой новой фичи, выпускаемой в виде эксперимента, Lyft дополнительно собирает различные технические метрики, в частности, потребление приложением памяти. Если при включенном эксперименте оно повышается, это служит сигналом наличия утечки памяти.
В статье рассказывается о метриках, по которым можно судить о потреблении памяти, границах их применимости, особенностях сбора и анализа.
Для каждой новой фичи, выпускаемой в виде эксперимента, Lyft дополнительно собирает различные технические метрики, в частности, потребление приложением памяти. Если при включенном эксперименте оно повышается, это служит сигналом наличия утечки памяти.
В статье рассказывается о метриках, по которым можно судить о потреблении памяти, границах их применимости, особенностях сбора и анализа.
Релиз compose.compiler 1.4.0
Вышла новая версия androidx.compose.compiler с поддержкой Kotlin 1.8.0. Промежутки между релизами Kotlin и совместимой версии Compose становятся все меньше, это радует!
Вышла новая версия androidx.compose.compiler с поддержкой Kotlin 1.8.0. Промежутки между релизами Kotlin и совместимой версии Compose становятся все меньше, это радует!
Android Developers
Compose Compiler | Jetpack | Android Developers
Как работает Activity
Цикл из двух статей, в которых разбирается, как стартует процесс приложения и все Activity, как показывается сплеш-скрин, в чем суть концепции Window, как вызываются методы жизненных циклов Activity и что происходит с Activity при сворачивании и разворачивании.
Цикл из двух статей, в которых разбирается, как стартует процесс приложения и все Activity, как показывается сплеш-скрин, в чем суть концепции Window, как вызываются методы жизненных циклов Activity и что происходит с Activity при сворачивании и разворачивании.
Роадмап Koin на 2023
Koin переходит на шестимесячный релизный цикл, синхронизированный с Kotlin. Основные планы (H1 – первый мажорный релиз, H2 – второй):
*️⃣KMM Compose API (H1/H2)
*️⃣Улучшения Koin Annotations (H1/H2)
*️⃣Оптимизация кишков (H2)
*️⃣Бридж с iOS и Kotlin Native (H1/H2)
*️⃣DSL и аннотации для Graph Test API (H2)
*️⃣Поддержка новых фичей Ktor (H1/H2)
Koin переходит на шестимесячный релизный цикл, синхронизированный с Kotlin. Основные планы (H1 – первый мажорный релиз, H2 – второй):
*️⃣KMM Compose API (H1/H2)
*️⃣Улучшения Koin Annotations (H1/H2)
*️⃣Оптимизация кишков (H2)
*️⃣Бридж с iOS и Kotlin Native (H1/H2)
*️⃣DSL и аннотации для Graph Test API (H2)
*️⃣Поддержка новых фичей Ktor (H1/H2)
Всем привет! Мы в команде Kotlin очень хотим пообщаться с теми, кто активно разрабатывает проекты на Flutter или React Native. Или, наоборот, попробовал, а потом вернулся к нативной разработке. Если готовы созвониться, рассказать про свой опыт и поотвечать на наши вопросы – заполняйте форму, за участие в интервью отсыпаем всяких ништяков.
Важный момент – эти ништяки мы отсыпать можем только тем, кто находится не в России/Беларуси, поэтому стоит отзываться, только если вы сейчас находитесь за пределами.
Важный момент – эти ништяки мы отсыпать можем только тем, кто находится не в России/Беларуси, поэтому стоит отзываться, только если вы сейчас находитесь за пределами.
Зачем нужен тип Either в ArrowKt
Arrow.Kt – библиотека, которая дает кучу типов и абстракций, которые помогают писать на Kotlin в функциональном стиле. Один из ее типов – Either. Он может содержать в себе значения одного из двух явно указанных типов. Самый стандартный юзкейс для него – быть одновременно и типом данных, представляющим успешный ответ сервера, и типом, представляющим ошибку с деталями.
Arrow.Kt – библиотека, которая дает кучу типов и абстракций, которые помогают писать на Kotlin в функциональном стиле. Один из ее типов – Either. Он может содержать в себе значения одного из двух явно указанных типов. Самый стандартный юзкейс для него – быть одновременно и типом данных, представляющим успешный ответ сервера, и типом, представляющим ошибку с деталями.
Новый UI доступен в Android Studio
В Android Studio Giraffe Canary 2 появилась возможность включить новый UI. Пробуйте и рассказывайте в комментах, что удобно, а что – не очень.
В Android Studio Giraffe Canary 2 появилась возможность включить новый UI. Пробуйте и рассказывайте в комментах, что удобно, а что – не очень.
dependency-guard – плагин для контроля зависимостей
В большой команде периодически возникают проблемы с изменением версий или добавлением зависимостей. Можно случайно добавить в продакшн тестовую зависимость, или вызвать креш в рантайме из-за поднятой версии какой-то из транзитивных зависимостей. Gradle-плагин dependency-guard позволяет это контролировать.
Он генерирует файл, содержащий явный список всех транзитивных зависимостей и их версий, что дает возможность следить за изменениями на PR и составлять черные списки библиотек.
В большой команде периодически возникают проблемы с изменением версий или добавлением зависимостей. Можно случайно добавить в продакшн тестовую зависимость, или вызвать креш в рантайме из-за поднятой версии какой-то из транзитивных зависимостей. Gradle-плагин dependency-guard позволяет это контролировать.
Он генерирует файл, содержащий явный список всех транзитивных зависимостей и их версий, что дает возможность следить за изменениями на PR и составлять черные списки библиотек.
GitHub
GitHub - dropbox/dependency-guard: A Gradle plugin that guards against unintentional dependency changes.
A Gradle plugin that guards against unintentional dependency changes. - dropbox/dependency-guard
Профилирование и оптимизация Compose
Разбор возможных проблем, которые могут повлечь за собой лишние рекомпозиции и ухудшить перфоманс Compose, и инструментов, которые помогают в дебаге.
Разбор возможных проблем, которые могут повлечь за собой лишние рекомпозиции и ухудшить перфоманс Compose, и инструментов, которые помогают в дебаге.
Сериализация sealed interfaces с kotlinx.serialization
В статье разбирается, как с помощью поддержки полиморфизма в kotlinx.serialization можно написать сериализатор, выюирающий разные классы в зависимости от значения поля type.
В статье разбирается, как с помощью поддержки полиморфизма в kotlinx.serialization можно написать сериализатор, выюирающий разные классы в зависимости от значения поля type.
Что происходит со Scala
На этой неделе вышел топовый пост про текущее состояние Scala, ее проблемы и возможные пути будущего развития. Очень советую даже тем, кто со Scala совсем не имеет дела – путь, выбранный языком, сильно отличается от Kotlin, и сравнивать их друг с другом очень интересно.
На этой неделе вышел топовый пост про текущее состояние Scala, ее проблемы и возможные пути будущего развития. Очень советую даже тем, кто со Scala совсем не имеет дела – путь, выбранный языком, сильно отличается от Kotlin, и сравнивать их друг с другом очень интересно.
John A De Goes
Scala Resurrection
Scala's market may not grow any larger unless we take action to address the challenges the language faces