Визуальный гайд по основным операциям над коллекциями в Kotlin
Отличная визуализация функций работы с коллекциями из стандартной библиотеки:
🗺️Mapping
🤐Zipping
🔗Association
🤌Flattening
📙String representation
Отличная визуализация функций работы с коллекциями из стандартной библиотеки:
🗺️Mapping
🤐Zipping
🔗Association
🤌Flattening
📙String representation
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Gradle BOM
Gradle Bill of Materials – конфигурационный файл, в котором зафиксирован список связанных друг с другом зависимостей и их версии. Команда Compose начала использовать BOM для того, чтобы было проще обновляться на актуальные версии всех связанных с Compose библиотек, не разбираясь, какие конкретно версии для каждой надо выставить.
Gradle Bill of Materials – конфигурационный файл, в котором зафиксирован список связанных друг с другом зависимостей и их версии. Команда Compose начала использовать BOM для того, чтобы было проще обновляться на актуальные версии всех связанных с Compose библиотек, не разбираясь, какие конкретно версии для каждой надо выставить.
Podlodka Android Crew про архитектуру
14-18 ноября пройдет новый сезон Podlodka Android Crew с кучей сессий про архитектуру. Вот несколько кайфовых тем:
🧱Почему Backend Driven UI не нужен
🔃Elm и Redux с Compose
📝Публичное собеседование по System Design в Android
💉Эволюция подходов к DI в Lyft
👉Подключайтесь и вы!
14-18 ноября пройдет новый сезон Podlodka Android Crew с кучей сессий про архитектуру. Вот несколько кайфовых тем:
🧱Почему Backend Driven UI не нужен
🔃Elm и Redux с Compose
📝Публичное собеседование по System Design в Android
💉Эволюция подходов к DI в Lyft
👉Подключайтесь и вы!
История дебага TransactionTooLargeException
- Что такое Binder и для чего он нужен
- Как происходит сохранение состояния Activity при
переходе в бэкграунд
- Как дебажить происходящее в Binder транзакциях с помощью toolargetool
- Что такое Binder и для чего он нужен
- Как происходит сохранение состояния Activity при
переходе в бэкграунд
- Как дебажить происходящее в Binder транзакциях с помощью toolargetool
This media is not supported in your browser
VIEW IN TELEGRAM
Бегущая строка на Compose
Статья с разбором реализации компонента, который для коротких строк ведет себя как Text, а для длинных включает анимацию бегущей строки и добавляет градиент по краям.
Статья с разбором реализации компонента, который для коротких строк ведет себя как Text, а для длинных включает анимацию бегущей строки и добавляет градиент по краям.
Android Developers Backstage: Performance
Выпуск подкаста ADB с разработчиком из команды перфоманса в Android. В выпуске разбираются R8, Perfetto, baseline profiles, различные инструменты и метрики перфоманса, библиотеки Jetpack Tracing и JankStats.
Выпуск подкаста ADB с разработчиком из команды перфоманса в Android. В выпуске разбираются R8, Perfetto, baseline profiles, различные инструменты и метрики перфоманса, библиотеки Jetpack Tracing и JankStats.
Baseline Profiles – реальность сложнее, чем кажется
Твиттер-тред инженера из Square про то, как работают Baseline Profiles, про реальный перфоманс буст и про сложности их создания. Обязательно плолистайте и реплаи, там много ценного.
Твиттер-тред инженера из Square про то, как работают Baseline Profiles, про реальный перфоманс буст и про сложности их создания. Обязательно плолистайте и реплаи, там много ценного.
Twitter
Let's talk about Android Baseline Profiles!
Android team is pushing hard for their adoption. GMaps startup had 40% perf improvements, why isn't everybody jumping on that?!
Reality is a bit more complex...
#AndroidDev #performance
Android team is pushing hard for their adoption. GMaps startup had 40% perf improvements, why isn't everybody jumping on that?!
Reality is a bit more complex...
#AndroidDev #performance
📱Android-разработчик VK Видео (middle)
VK Видео - это один из самых крупных сервисов потокового видео в России. Ежедневно им пользуются десятки миллионов людей и перед командой стоит амбициозная задача - стать видеосервисом 1 в РФ.
Чтобы сделать сервис еще более полезным и увлекательным для зрителей и помогать авторам находить свою аудиторию, они ищут Android-разработчиков
🎯Задачи:
📌Разрабатывать приложение ВКонтакте (продукт видео) для Android;
📌Создавать новые возможности продукта, реализовывать смелые UX-эксперименты;
📌Следить за работоспособностью сервиса и устранять технический долг;
📌Взаимодействовать с командой менеджеров, дизайнеров, аналитиков и тестировщиков;
📌Принимать участие в планировании, обсуждении проектов.
🔥Требования:
💎Отличное знание Java и Kotlin;
💎Хорошие знания платформы Android;
💎Знание классических алгоритмов и структуры данных;
💎Навыки профилирования;
💎Опыт написания Unit-тестов;
💎Опыт работы с аудио или видео на мобильных устройствах (желательно);
💎Готовность активно участвовать в ревью кода.
🛠Стек:
Kotlin — весь новый функционал; Java — legacy части, постепенно переписываемые на Kotlin; RxJava; Room; Coroutines; Jetpack Compose.
🤩Почему у них круто:
ДМС для сотрудника и его детей с первого месяца работы;
100%-ная оплата больничного в течение 30 дней;
Компенсация занятий спортом;
Компенсация питания;
Конкурентный уровень заработной платы.
И многое другое, скорее пиши в рекрутеру - @bxnmx
VK Видео - это один из самых крупных сервисов потокового видео в России. Ежедневно им пользуются десятки миллионов людей и перед командой стоит амбициозная задача - стать видеосервисом 1 в РФ.
Чтобы сделать сервис еще более полезным и увлекательным для зрителей и помогать авторам находить свою аудиторию, они ищут Android-разработчиков
🎯Задачи:
📌Разрабатывать приложение ВКонтакте (продукт видео) для Android;
📌Создавать новые возможности продукта, реализовывать смелые UX-эксперименты;
📌Следить за работоспособностью сервиса и устранять технический долг;
📌Взаимодействовать с командой менеджеров, дизайнеров, аналитиков и тестировщиков;
📌Принимать участие в планировании, обсуждении проектов.
🔥Требования:
💎Отличное знание Java и Kotlin;
💎Хорошие знания платформы Android;
💎Знание классических алгоритмов и структуры данных;
💎Навыки профилирования;
💎Опыт написания Unit-тестов;
💎Опыт работы с аудио или видео на мобильных устройствах (желательно);
💎Готовность активно участвовать в ревью кода.
🛠Стек:
Kotlin — весь новый функционал; Java — legacy части, постепенно переписываемые на Kotlin; RxJava; Room; Coroutines; Jetpack Compose.
🤩Почему у них круто:
ДМС для сотрудника и его детей с первого месяца работы;
100%-ная оплата больничного в течение 30 дней;
Компенсация занятий спортом;
Компенсация питания;
Конкурентный уровень заработной платы.
И многое другое, скорее пиши в рекрутеру - @bxnmx
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз Appyx 1.0.0
- Вышел первый стабильный релиз Appyx – библиотеки навигации от Bumble.
- Вместе с релизом выпустили три туториала: Basics, Navigation и Custom animation.
- Вышел первый стабильный релиз Appyx – библиотеки навигации от Bumble.
- Вместе с релизом выпустили три туториала: Basics, Navigation и Custom animation.
Как нарисовать тени в Android
- Чаще всего достаточно использовать системные тени, определяемые через параметр elevation.
- Если дизайн требует кастомной тени, можно попробовать MaterialShapeDrawable из Material.
- Автор в статье разбирает эти и другие способы создания теней и оптимизирует производительность получившегося решения.
- Чаще всего достаточно использовать системные тени, определяемые через параметр elevation.
- Если дизайн требует кастомной тени, можно попробовать MaterialShapeDrawable из Material.
- Автор в статье разбирает эти и другие способы создания теней и оптимизирует производительность получившегося решения.
Недооцененные хоткеи в IntelliJ
1️⃣⌥ “x” or Alt+“x” – закрыть все неактивные табы
2️⃣⇧⌘V or Shift+Ctrl+V – управление буфером обмена
3️⃣⌥/ or Alt+/ – специальный режим автокомплишна, который предлагает слова без учета контекста
4️⃣⌥⌘L or Ctrl+Alt+L – применение к коду настроек форматирования
5️⃣⌘F12 or Ctrl+F12 – навигация по структуре файла
6️⃣⌃G or Alt+J – выбор нескольких вхождений поисковой строки в файле для их одновременного редактирования
7️⃣⌘⇧↑/↓ or Alt +Shift+↑/↓ – реордеринг строк в файле
8️⃣⌘D or Ctrl+D – дублирование строки
1️⃣⌥ “x” or Alt+“x” – закрыть все неактивные табы
2️⃣⇧⌘V or Shift+Ctrl+V – управление буфером обмена
3️⃣⌥/ or Alt+/ – специальный режим автокомплишна, который предлагает слова без учета контекста
4️⃣⌥⌘L or Ctrl+Alt+L – применение к коду настроек форматирования
5️⃣⌘F12 or Ctrl+F12 – навигация по структуре файла
6️⃣⌃G or Alt+J – выбор нескольких вхождений поисковой строки в файле для их одновременного редактирования
7️⃣⌘⇧↑/↓ or Alt +Shift+↑/↓ – реордеринг строк в файле
8️⃣⌘D or Ctrl+D – дублирование строки
The JetBrains Blog
Top Underrated Shortcuts in IntelliJ IDEA | The IntelliJ IDEA Blog
Shortcuts are in IntelliJ IDEA’s DNA: every possible action is at your fingertips – even those you didn’t think you needed. We share helpful shortcuts with you quite frequently, so by now, you may
This media is not supported in your browser
VIEW IN TELEGRAM
Profileable сборки приложений
- В Android 10 появилась возможность собирать релизные билды со специальным тегом profiliable. По сравнению с дебажными сборками, их перфоманс приближен к релизному.
- Такую сборку можно создать как из интерфейса Android Studio, так и вручную, указав тег в AndroidManifest.xml.
- В Android 10 появилась возможность собирать релизные билды со специальным тегом profiliable. По сравнению с дебажными сборками, их перфоманс приближен к релизному.
- Такую сборку можно создать как из интерфейса Android Studio, так и вручную, указав тег в AndroidManifest.xml.
Open-Obfuscator – новый обфускатор мобильных приложений
- Автор проекта увлекался поиском уязвимостей в существующих обфускаторах, но ему не были рады. Поэтому он решил написать свой, с упором на открытость к разработчикам и рисерчерам. Даже для первого релиза большую часть времени разработки автор вложил в понятную документацию.
- Open-Obfuscator поддерживает обфускацию нативного кода с помощью специального LLVM плагина, и обфускацию Kotlin/Java кода поверх ядра Proguard.
- Нативный обфускатор называется O-MVLL, обфускатор для Kotlin – dProtect.
- Автор проекта увлекался поиском уязвимостей в существующих обфускаторах, но ему не были рады. Поэтому он решил написать свой, с упором на открытость к разработчикам и рисерчерам. Даже для первого релиза большую часть времени разработки автор вложил в понятную документацию.
- Open-Obfuscator поддерживает обфускацию нативного кода с помощью специального LLVM плагина, и обфускацию Kotlin/Java кода поверх ядра Proguard.
- Нативный обфускатор называется O-MVLL, обфускатор для Kotlin – dProtect.
Туториал по работе с жестами в Compose
🕵️Отслеживание тапов
🌟Реализация двойного тапа
👆Жест скролла
👉Жест закрытия по свайпу
🕵️Отслеживание тапов
🌟Реализация двойного тапа
👆Жест скролла
👉Жест закрытия по свайпу
kodeco.com
Gestures in Jetpack Compose: Getting Started
Learn how to implement different gestures in Jetpack Compose and provide your app an intuitive user experience.
Podlodka Android Crew – уже в понедельник
Примета: если пропустить ноябрьскую Podlodka Android Crew, то весь следующий год у вас будут проблемы с архитектурой на проекте.
Да-да, это неожиданный анонс конфы, которая стартует 14 ноября.
Зачем идти на конфу:
- узнаете, что за странные слова TEA, ELM, MVU.
- поймете, что Backend Driven UI вам не нужен.
- увидете, как на практике Anvil упрощает работу с Dagger'ом.
- научитесь дошлифовывать архитектуру проекта для получения надежных и предсказуемых тестов.
- ну, и, конечно, отлично проведете неделю в Слаке, общаясь с русскоязычными андроид-разработчиками, которые расползлись по миру.
Всем подписчикам канала – скидка на 1000р по промокоду
Айда на конфу, билеты на сайте!
Примета: если пропустить ноябрьскую Podlodka Android Crew, то весь следующий год у вас будут проблемы с архитектурой на проекте.
Да-да, это неожиданный анонс конфы, которая стартует 14 ноября.
Зачем идти на конфу:
- узнаете, что за странные слова TEA, ELM, MVU.
- поймете, что Backend Driven UI вам не нужен.
- увидете, как на практике Anvil упрощает работу с Dagger'ом.
- научитесь дошлифовывать архитектуру проекта для получения надежных и предсказуемых тестов.
- ну, и, конечно, отлично проведете неделю в Слаке, общаясь с русскоязычными андроид-разработчиками, которые расползлись по миру.
Всем подписчикам канала – скидка на 1000р по промокоду
ADVANCED
.Айда на конфу, билеты на сайте!
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #14
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Обзор сессий второго дня Android Developer Summit’22
Все новые сессии посвящены необычным форм-факторам Android приложений: часам, TV и большим экранам.
Полный плейлист
Все новые сессии посвящены необычным форм-факторам Android приложений: часам, TV и большим экранам.
Полный плейлист
Android Developers Blog
Form Factors at Android Developer Summit ‘22
Discover the latest tools, APIs and guidance that make it easier to build apps that look great on large screens, wearables, and TVs.
Разбор и критика гайдов Google по работе с диалогами
Автор разбирает недочеты в рекомендациях Google по отображению и получению результатов простых и сложных диалогов, реализованных с помощью FragmentManager или Jetpack Navigation.
Автор разбирает недочеты в рекомендациях Google по отображению и получению результатов простых и сложных диалогов, реализованных с помощью FragmentManager или Jetpack Navigation.
Medium
Mastering Android Dialogs: Don’t follow official Google Guides
This article is part of a multi-series on Mastering Android Dialogs
Kotlin 1.8.0-Beta
Вышла первая EAP версия новой мажорной версии Kotlin:
- Полностью удален старый компиляторный JVM бэкенд
- Новый новый бэкенд Kotlin/JS перешел в Stable
- Совместимость с Gradle 7.3
- Новые экспериментальные фичи для java.nio.file.path и TimeMarks
- Поддержка Xcode 14 для KMM
Вышла первая EAP версия новой мажорной версии Kotlin:
- Полностью удален старый компиляторный JVM бэкенд
- Новый новый бэкенд Kotlin/JS перешел в Stable
- Совместимость с Gradle 7.3
- Новые экспериментальные фичи для java.nio.file.path и TimeMarks
- Поддержка Xcode 14 для KMM
Советы по тестированию suspend функций
Разбор нескольких практик тестирования и вспомогательных функций из kotlinx.coroutines.test, которые упрощают проверку результатов работы корутин.
Разбор нескольких практик тестирования и вспомогательных функций из kotlinx.coroutines.test, которые упрощают проверку результатов работы корутин.
Arkadiusz Chmura
How to test intermediate steps in suspending functions | Arkadiusz Chmura
Testing the final result of a suspending function is easy, but what about verifying what happens inside it during the execution?
Multiplatform Paging
- Логика пагинации – идеальный кандидат для того, чтобы шарить между платформами.
- CashApp выпустили библиотеку Multiplatform Paging, полный аналог библиотеки из AndroidX, но с поддержкой мультиплатформы.
- Логика пагинации – идеальный кандидат для того, чтобы шарить между платформами.
- CashApp выпустили библиотеку Multiplatform Paging, полный аналог библиотеки из AndroidX, но с поддержкой мультиплатформы.
Cash App Code Blog
Announcing Multiplatform Paging
Multiplatform Paging is a library that packages AndroidX Paging for Kotlin/Multiplatform. It’s built to be a drop-in-replacement for AndroidX Paging, so extracting out shared pagination logic couldn’t be easier.