Android Good Reads
3.88K subscribers
344 photos
13 videos
1 file
2K links
Самые интересные статьи, видео и новости, связанные с Android разработкой. Не больше трёх материалов в день.

Автор канала: @Lamprof

Размещение рекламы: @tanyasanovna
Download Telegram
📱Android-разработчик VK Видео (middle)

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.
Как нарисовать тени в Android

- Чаще всего достаточно использовать системные тени, определяемые через параметр 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 – дублирование строки
This media is not supported in your browser
VIEW IN TELEGRAM
Profileable сборки приложений

- В Android 10 появилась возможность собирать релизные билды со специальным тегом profiliable. По сравнению с дебажными сборками, их перфоманс приближен к релизному.
- Такую сборку можно создать как из интерфейса Android Studio, так и вручную, указав тег в AndroidManifest.xml.
Open-Obfuscator – новый обфускатор мобильных приложений

- Автор проекта увлекался поиском уязвимостей в существующих обфускаторах, но ему не были рады. Поэтому он решил написать свой, с упором на открытость к разработчикам и рисерчерам. Даже для первого релиза большую часть времени разработки автор вложил в понятную документацию.
- Open-Obfuscator поддерживает обфускацию нативного кода с помощью специального LLVM плагина, и обфускацию Kotlin/Java кода поверх ядра Proguard.
- Нативный обфускатор называется O-MVLL, обфускатор для Kotlin – dProtect.
Туториал по работе с жестами в Compose

🕵️Отслеживание тапов
🌟Реализация двойного тапа
👆Жест скролла
👉Жест закрытия по свайпу
Podlodka Android Crew – уже в понедельник

Примета: если пропустить ноябрьскую Podlodka Android Crew, то весь следующий год у вас будут проблемы с архитектурой на проекте.

Да-да, это неожиданный анонс конфы, которая стартует 14 ноября.

Зачем идти на конфу:
- узнаете, что за странные слова TEA, ELM, MVU.
- поймете, что Backend Driven UI вам не нужен.
- увидете, как на практике Anvil упрощает работу с Dagger'ом.
- научитесь дошлифовывать архитектуру проекта для получения надежных и предсказуемых тестов.
- ну, и, конечно, отлично проведете неделю в Слаке, общаясь с русскоязычными андроид-разработчиками, которые расползлись по миру.

Всем подписчикам канала – скидка на 1000р по промокоду ADVANCED.

Айда на конфу, билеты на сайте!
Разбор и критика гайдов Google по работе с диалогами

Автор разбирает недочеты в рекомендациях Google по отображению и получению результатов простых и сложных диалогов, реализованных с помощью FragmentManager или Jetpack Navigation.
Kotlin 1.8.0-Beta

Вышла первая EAP версия новой мажорной версии Kotlin:
- Полностью удален старый компиляторный JVM бэкенд
- Новый новый бэкенд Kotlin/JS перешел в Stable
- Совместимость с Gradle 7.3
- Новые экспериментальные фичи для java.nio.file.path и TimeMarks
- Поддержка Xcode 14 для KMM
Советы по тестированию suspend функций

Разбор нескольких практик тестирования и вспомогательных функций из kotlinx.coroutines.test, которые упрощают проверку результатов работы корутин.
Multiplatform Paging

- Логика пагинации – идеальный кандидат для того, чтобы шарить между платформами.
- CashApp выпустили библиотеку Multiplatform Paging, полный аналог библиотеки из AndroidX, но с поддержкой мультиплатформы.
Отчет с анализом 2.9 миллионов приложений из Play Store

- Ежегодный рост количества приложений уменьшился, пик был в 2019 году. То же и с ростом количества разработчиков.
- Категории-лидеры по количеству инсталлов: Tools, Communication, Productivity, Entertainment, Video Players.
- Только у 1% приложений больше миллиона инсталлов, причем только у 61% из них рейтинг выше 4.
- В среднем в 40% приложений есть реклама.
Релиз Koin Android 3.3.0

koin-android и koin-android-compose обновились до версии 3.3.0. Основной фокус – обновление ViewModel API.
Различия .collect() и .launchIn() в Kotlin Flows

В статье разбираются различия между двумя основными способами сбора результатов работы Flow. Если кратко, то для большинства случаев рекомендуется .launchIn(), так как логика работы .collect() менее очевидна.
Расскажите, чего вам не хватает в роадмапе Kotlin

В команде Kotlin только что закончилось полугодовое планирование, и я готовлю обновление для публичного роадмапа. Расскажите в комментариях, какой информации вам в нем не хватает и как, на ваш взгляд, его можно было бы улучшить!