Android Broadcast
14.2K subscribers
3.53K photos
341 videos
11 files
5.9K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @ab_manager

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#AndroidAcademy #Minsk

Сегодня, 9 сентября состоится очередная лекция курса Android Academy Minsk - Android Fundamentals #1 : Hello world. В лекции вы узнаете
👉 Как создать простой Android проект
👉 Базисы работы с ресурсами
👉 Немного о Context и Activity
#Android10 #Security

Project Mainline в Android 10

Обновление устройств и их поддержка - это большая проблема Android. Если вы купили телефон флагман, вы столкнётесь с такой проблемой меньше, но все равно столкнётесь. Купив в этом году Galaxy S10 вы не получите обновления также быстро после выхода Galaxy S11, так как компании нужно продавать свежий флагман. На дешевые телефон компании забивают еще раньше 😔 + этому не способствовал сам Android, так как его ядро было большим монолитом.

Google стала решать эту проблему - «Project Treble» в Android 8 и потом «Project Mainline» в Android 10. Первый разделил ядро ОС на слои, отделив работу с железом в отдельный слой, а второй - позволяет обновлять наиболее критичные компоненты без необходимости перезагрузки устройства и обновления прошивки, аналогично приложениям Google Play.

В статье разбираются детали работы «Project Mainline»
#Kotlin

Unit, Nothing, Any (and null)

Kotlin имеет систему типов отличную от Java - есть понятия nullable типов и специальные типы Any, Nothing и Unit. За что эти типы отвечают, в каких ситуациях применяются и чем отличаются - вы найдете в статье.
#Architecture #BestPractices

The “Real” Repository Pattern in Android

Repository - это довольно популярный шаблон проектирования, позволяющий инкапсулировать получение/хранение данных из различных источников: сервер, БД, хранилища на устройстве и пр.

Шаблон проектирования - это рекомендация и общее описание компонентов и их отношений между ними, поэтому зачастую разработчики делают реализацию по разному и не всегда хорошо.

Наиболее популярные ошибки, которые допускают пользователи:
👉 Repository возвращает DTO (модели источников данных, которые используются источниками данных в нем) а не модели Domain слоя
👉 Различные несвязанные между собой DataSource используются одни и те же DTO
👉 Repository реализуется по на основе endpoint-ов, а не на основе модели
👉 Repository кэширует всю модель, даже те поля, которые всегда должны быть свежими
👉 DataSource используется более чем одним Repository

В статье разбираются эти лучшие практики по реализации и почему им стоит следовать
#Testing

Android UI Testing Frameworks

Сравнение различных тестовых фреймворков для UI на Android. В ходе сравнения производится сравнения реализации одного тестового сценария на разных фреймворках:
👉 Appium
👉 Espresso
👉 UI Automator
#Java

Jabel - unlock Javac 12+ syntax when targeting Java 8

Все еще боретесь за права Java и не признаёте Kotlin? Пока Android команда молчит о добавление поддержке возможностей из свежих версий Java, проект Jabel может вас порадовать. Автор занимается тем чтобы использовать такие новинки Java 12+ на Java 9 как:
👉 var
👉 Type inference
👉 switch expression
👉 много другого менее интересного
#ViewBinding

В Android Studio добавили View Binding

В Android Studio 3.6. Canary 11 добавили поддержку View Binding. View Binding - это легкая замена Data Binding, котороя содержит только ссылки на View из ваших layout ресурсов.

Наконец-то появилась альтернатива Butter Knife и Kotlin Android Extensions.
#JakeWharton

Вышел Butter Knife 10.2.0

Вышла новая версия библиотеки Butter Knife, в которой реализована поддержка инкрементального процессинга аннотаций, а также теперь поддерживается только Android Gradle Plugin версии 3.3 и выше
#JakeWharton #ViewBinding

Важная новость которую я пропустил в посте и Butter Knife 10.2.0 - Jake рекомендует мигрировать на View Binding т.к. разработка Butter Knife останавливается
#Multiplatform #ReactiveX #Kotlin

Вышел Reaktive 1.0.0-rc2

Ребята из Badoo не останавливаются и продолжают развивать свою библиотеку Reaktive - ReactiveX на чистом Kotlin причем еще и Multiplatform. В новой версии произошли следующие изменения:
👉 Переход на Kotlin 1.3.50
👉 Новый оператор threadLocal()
👉 Thread local subscriptions
👉 Новые операторы
👉 Исправление багов и больше стабильности
👉 Добвлен MPP модуль с примером

Ждем не дождемся стабильного релиза!
"Reaktive: реактивное программирование в Kotlin Multiplatform" - Аркадий Иванов@Badoo

Уже доступно видео с конференции Kotlin/Everywhere Minsk, где один из создателей библиотеки рассказывает более подробно о ней.
#JavaScript #V8

A lighter V8

Для всех кто исполняет JS код у себя в приложения (я это не разделяю, но есть legacy порой). V8 Lite - это проект направленный на сокращения потребления памяти на слабых устройствах. В некоторых оптимизациях в жертву была отдана скорость выполнения.

В статье рассказывается о том, что из себя представляет новый режим V8, какие есть оптимизации, сравнение V8 и V8 Lite и результаты работы.
Всем привет! Сегодня 256-ой день в году, а это значит, что сегодня важный праздник для большинства подписчиков канала - День Программиста. Я желаю вас всего самого наилучшего: чистой архитектуры проектов, быстрой сборки, отсутствия багов, интересного стека технологий, задач и достижения невероятных высот вашими приложениями.

Спасибо всем вам, что вы читаете новости. Очень приятно понимать, что то что ты делаешь кому-то нужно и помогает. Хороших всем выходных!
#Conference

Три в ряд: топ-10 докладов Mobius 2019 Piter

Появились записи докладов с последнего Mobius, который прошёл в мае 2019 в Санкт-Петербурге. Топовым докладом стал рассказ Дениса Неклюдова о архитектуре в Lyft. Также рекомендую обратить внимание на доклад Степана Гончарова об оптимизации Gradle сборки.

К сожалению, мой доклад «Coroutining Android Apps» не попал в топ 10, но вы сможете найти там полезные советы как использовать Coroutine эффективнее и правильнее в своих Android проектах.
#KotlinEverywhere #Minsk #Kotlin

7 сентября в Минск прошла конференция Kotlin/Everywhere Minsk. Уже стали доступны записи практически всех докладов. Почему практически всех? Нам необходимо получить одобрение всех спикеров на публикацию, поэтому нужно время.
#Gradle #Kotlin #DSL

Converting your Android Gradle scripts to Kotlin

Недавно я перевел в одном из проектов Gradle на Kotlin DSL. И вам скажу мне очень зашло. Что изменилось:
Появилось нормальное автодополнение в IDE
Ошибки в скриптах можно получить до запуска сборки
Избавление от Groovy, так как он использовался только для Gradle скриптов и теперь у меня один язык везде - Kotlin
увеличилось время инициализации
Пришлось переписать часть скриптов
Некоторые вызовы которе легко делаются в Groovy, выглядят странным в Kotlin (но это улучшается с каждым релизом)

Хотите попробовать тоже самое в своих проекта? Тогда читайте больше подробностей в статье как это сделать