Подборка новостей и статей для Android разработчиков. Обсуждение @android_broadcast_talks YouTubе канал: https://youtube.com/androidBroadcast Реклама https://androidbroadcast.dev/ads Поддержать проект https://donationalerts.com/r/androidbroadcast
Обновление Android Jetpack:
🛠️ Исправления Compose 1.6.1 и пофикшенный BOM
👉 Jetpack Glance 1.1.0-alpha01 обзавелся тестовым артифактом
👉 Paging 3.3.0-alpha03 добавляет API в PagingDataPresenter для создания собственных хуков UI слоя без зависимости на Android
🛠️ Фиксы в Navigation 2.7.7
🎉 Стабильные Wear ProtoLayout Version 1.1.0 и Wear Tiles Version 1.3.0
👉 Первая RC Hilt 1.2.0
#jetpack #jetpackupdate @android_broadcast
📺 Не так давно я принял участие в выпуске Плохие Прогреские Шутки (8 мин). Вышло весело и порой немного за гранью, но вам точно стоит посмотреть этот выпуск. Мне понравилось, что бывает очень редко 🤯
Обязательно поддержите выпуск лайком на YouTube и CRAZYPROG42">подпишитесь на канал ребят
Камерный митап для мобильных разработчиков, где каждый может предложить свой кейс для обсуждения по трем трекам: iOS, Android, Flutter.
Участники митапа — техлиды, руководители разработки и ведущие мобильные разработчики из команд Яндекс Go и Яндекс Про. В завершении вечера afterparty — нетворкинг, настолки, вкусная еда и напитки.
Место встречи: Москва-Сити, башня «Око»
Дата и время: 15 февраля, 18:30
Бесплатно. Количество мест ограничено. Регистрация обязательна
Подробнее
Обзор решения для работы с ML моделями (EN, 9 мин, ссылка без VPN): Google ML Kit, Mediapipe, TensorFlow Lite, ONNX и др.
#ml @android_broadcast
Emcee — это наш раннер для параллельного запуска автотестов мобильных приложений. Его работа базируется на трёх компонентах:
1️⃣ очередь распределяет тесты по воркерам и централизовано возвращает результат клиентам;
2️⃣ воркеры запускают тесты и эмуляторы, управляют ими и собирают результаты;
3️⃣ клиенты отправляют тесты в очередь и принимают результат.
Прогон на демо-проекте для Android и все нюансы работы с Emcee (в том числе про облачное решение) смотрите в новом выпуске avito.code.
Релизы раннера и новости проекта — в его собственном канале.
На YouTube канале Android Broadcast вы можете найти много собеседований, но в этом году я хочу изменить их формат. Теперь мы не будем делать собеседование на позицию, а будем брать популярные темы из собеседований и спрашивать именно их!
Если вы опытный разработчик и хотите провести собеседований по одной из предложенных тем или предложить свою - заполняйте форму!
Если вы хотите выступить в качестве кандидата - вам заполнять эту форму
#AndroidBroadcast #собес
Apple выпустила новый открытый язык программирования - Pkl
Pkl (произносится как "Пикл") - это язык программирования для создания конфигураций.
🚀 Pkl может генерировать вывод для JSON, YAML, Списков Свойств и других форматов конфигурации. Поддерживает генерацию кода для Java, Kotlin, Swift и Go. Также поддерживает популярные IDE, такие как IntelliJ, Visual Studio Code и Neovim.
✨Официальный анонс
✨GitHub
⚡️ Boris Dipner • Dev Mastery
Вышел Gradle 8.6:
👉 Собственный ключ для шифрования кэша конфигурации
👉 Улучшения build init
👉 Улучшения информации об ошибках и предупреждениях
👉 Улучшения для интеграции с IDE
🛠️ Исправление багов
Улучшения для авторов плагинов
👉 Ленивый поиск тасков по имени
👉 Улучшения dependency capabilities
#gradle
Полезная статья (20 мин) для общего развития - HTTP/3 и какие полезные нововведения есть в новой версии протокола по сравнению с HTTP/2. В статье освещается QUIC — это универсальный транспортный протокол
#network
Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений (11 мин)
Новый тип атак - подмена библиотек в репозитории из-за некоректных настроек и логики работы Maven и Gradle. Все подробности атаки в статье
#security
Figma Dev Mode вышел из Beta. Теперь доступен по платным подпискам. Делитесь впечатлениями тем кто попробовал его в Beta
#figma
Google представила новую возможность - предлагать пользователю обновить приложение до актуальной (выбирается разработчиком) версии, если она доступна в Google Play. От разработчика не требуется никаких манипуляций с кодом, а только использовать App Bundle для публикации и выбрать версию, предлагаемую для обновления в Google Play Console в разделе "Releases"
Аналогичная возможность уже доступна через Play Developer API, но теперь ее еще можно использовать и без кода
#googleplay
Альтернативные магазины приложений на iOS, что уже известно
👉 MarketplaceKit - новый фреймворк для разработки альтернативных магазинов. Так же известный как "фреймворк за миллион евро" 🤑
👉 Epic подтвердили свою готовность создать свой "альтстор"
👉 Apple продолжит взимать плату за приложения, загруженные из "альтсторов". При превышении миллиона загрузок в год, разработчики должны заплатить Apple 50 центов. По данным Apple, менее 1% европейских разработчиков превышают этот порог
👉 Некоммерческие организации, аккредитованные образовательные учреждения и государственные учреждения cмогут бесплатно создать альтернативный магазин приложений и не платить комиссию при превышении порога установок
👉 По всему миру будут доступны приложения для облачного гейминга
👉 Apple будет проверять приложения, скаченные из альтернативных сторов и предупреждать пользователей, аналогично с macOS
👉 Доступность "альтсторов" будет проверяться по региону , который система будет определять по совокупности факторов (GPS, Wi-Fi и Cellular). Посмотреть регион можно будет в новом поле настроек - "Identifiable Region". VPN или Смена региона не влияют на значение поля
Анализ 153 млн строк позволяет обвинить Copilot в снижении качества кода разработчиков
Перекладывание написания кода на ИИ привел к тому что разработчики перестали следить за качеством и кол-во багов в коде с генераций BB стало больше
Анализ на основе данных приводит к неутешительным выводам. Возросла доля категорий добавленного кода и вставки/копирования относительно категорий обновлённого, удалённого и перемещённого кода. Исследование приходит к выводу, что в 2023 году принципы DRY всё чаще нарушаются.
В целом я не удивлен. Чем мощнее инструмент и способен избавлять от нужды думать, тем меньше человек думает, а не направляет силы на другие задачи. Ревьювить код и проверять что вам дает ИИ нужно обязательно, а не полагаться на него как абсолютную истину
#ai
Сравнение подходов между хранением состояния в. ViewModel в видео одного объекте или множества свойств внутри ViewModel. Подробности тут (EN, 4 мин, ссылка без VPN). Делитесь в комментариях какой подход выбираете вы и почему
#viewmodel #architecture
Работаем с размером шрифта для обеспечения доступности
Каждый четвертый пользователь изменяет размер шрифта в большую сторону в настройках системы для повышения читаемости. Чтобы опыт вашего приложения не ухудшился важно также уметь работы с SP.
В статье освещается как можно проверить ваше приложения при разработки и какие моменты важно учитывать при вёртске UI
⚡️ Apple опубликовала ML модель в общий доступ
Новый Open-souce MLLM опубликован с исходниками и весами. Суть ИИ в том чтобы совместить текущие возможности нейронных сетей по редактированию изображений и LLM по преобразованию пользовательского ввода. Если говорить проще, оно умеет вас понимать и делать правильный промпт. Как обычно бывает с Apple, взяли то что уже есть и сделали это доступным обычным людям. Ждем нововведений в редакторе изображений в iOS 18
*изображение в шапке получено при помощи промта "make it beautiful" примененного к логотипу канала
PrevGen - KSP плагин компилятора для генерации стабовых данных для Compose Preview на основе data классов
#ksp @compose_broadcast
Приглашаем на Avito Android meetup #2
Когда: сегодня, 6 февраля в 19:00 мск
Где: в офисе на Лесной и онлайн
В программе доклады про оптимизацию CI/CD, инструменты профайлинга JVM и Baseline Profile для приложений. Будет много цифр и впечатляющие кейсы.
⏰Трансляция стартует в 19:00 на YouTube AvitoTech
Теперь каждую неделю буду рассказывать вам о самых интересных вакансиях для мобильных разработчиков. Подробности тут!
#вакансия
Интервью с новым руководителем Google Play о будущем магазина. Говорят о последних судах касательно магазина приложений от Google и что фокус в будущем будет на инструменты и возможности для разработчиков
#googleplay
🔴 Начинаю разбор кода приложения по доставке пиццы
Разбираю проект подписчика по доставке еды. Стандартный клиент с выбором товара и оформлению его доставки
❗️ Запись эфира останется на канале
❗️ Если хотите, чтобы я разобрал ваш проект - подать заявку можно тут
#AndroidBroadcast #codereview #live
🔴 Разбор кода приложения по доставке пиццы
Когда: завтра, 3 февраля, 18:00 (GMT+3)
Разбираю проект подписчика по доставке еды. Стандартный клиент с выбором товара и оформлению его доставки
❗️ Запись эфира останется на канале
❗️ Если хотите чтобы я разобрал ваш проект - подать заявку можно тут
#AndroidBroadcast #codereview #live
Сравнение инструментов для отладки сетевых запросов: Flipper, Chucker, Android Studio. Подробности тут (EN, 7 мин, ссылка без VPN)
#network #tooling
Лучшие практики RuStore: правила хорошего Code Review для Android (6 мин)
Глава Android разработки RuStore делиться лучшими практиками ревью кода, которые используются командой разработки:
👉 Стандартный набор требований, которым должен отвечать ПР
👉 Как выбрать ревьюверов
👉 Сколько времени надо уделять ревью
Разработчики Fix Price для быстро запуска продуктов в Беларуси и Казахстане использовали PWA (Progressive Web App). В статье делятся опытом
#pwa
💻❌ Mac больше не нужен <//>
Project IDX, универсальная веб-среда Google для разработки приложений с поддержкой искусственного интеллекта, выполняет некоторые из своих ранних обещаний. В январском обновлении Project IDX получил:
– Интеграцию полноценного симулятора iOS и эмулятора Android, доступные прямо из браузера, что (особенно полезно для разработчиков Flutter);
– Новые шаблоны проектов для разных языков и фреймворков;
– Улучшения, такие как автоматическая настройка брандмауэра, инструменты командной строки;
– Поддержка Docker;
– Расширение функций ИИ в 15 странах.
С обновлением можно ознакомиться тут ℹ️
📺 Старт карьеры в Android-разработке до 18 лет (52 мин)
Интервью с парнем, который уже успел поработать во фрилансе, удаленном найме и твердо знает, куда он идет дальше.
00:38 Знакомство с гостем и его путь в разработке с 12 лет
10:26 О фрилансе
16:17 Мотивация
19:20 О работе с арбитражными приложениями
26:39 Зачем ходить на собеседования
28:15 О высшем образовании в IT
29:29 Как ускорить прогон автотестов
30:46 Ложь в резюме
31:53 Самое сложное собеседование
32:51 Мини-собеседование с гостем
37:53 Про официальное и неофициальное трудоустройство до 18 лет
42:53 О разработке своих приложений
45:29 Цели помимо заработка
48:32 Планы на будущее
Смотрите интервью на разных площадках:
👉 YouTube
👉 RuTube
👉 VK Video
👉 Дзен
#AndroidBroadcast #интервью
Release 20.1.0
Первый релиз года порадует следующими фичами и улучшениями:
для iOS:
1️⃣ Оптимизировали способ распределения тестов между воркерами.
2️⃣ Сократили время на старт симуляторов за счёт внутренних оптимизаций.
3️⃣ Уменьшили объём логов, которые записывались по умолчанию. Теперь глубину логирования можно увеличить в настройках.
4️⃣ Добавили образец дашборда с готовыми метриками для Grafana. Пример json-файла дашборда для Grafana и Graphite в качестве источника данных доступен здесь.
для Android:
1️⃣ Улучшили вывод информации о прогоне тестов для Gradle plugin и CLI.
2️⃣ Добавили возможность прописать ограничение на время полного исполнения тестов для Gradle plugin и CLI.
3️⃣ Поработали над документацией: описали новый функционал и собрали все разделы в одном месте.
4️⃣ Сделали образец дашборда с готовыми метриками для Grafana. Пример json-файла тут.
Разработчик из Booking делится зачем делали своё решение для замера производительности приложения во время работы. В статье (EN, 9 мин, ссылка без VPN) рассказывается какие метрики решили замерять и как, а именно: время запуска приложения, время до показа экрана, скорость рендеринга, время простоя
Исходный код для iOS и Android
#performance #analytics