Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
Избранные слайды из доклада
#AndroidStudio #ProjectMarble #GoogleIO

Google I/O'19: What's New in Android Development Tools

Доклад о улучшениях в #AndroidStudio (AS). Новых функций было показано мало, виной чему #ProjectMarble, в рамках которого команда Android Development Tools последние полгода занималась фиксом багов, улучшением производительности и улучшение работы текущих фичей.

Запустите AS 3.5 Beta и ощутите результаты уже сегодня. Теперь это стало сделать проще - теперь не требуется обновлять Android Gradle Plugin вместе с Android Studio!

В рамках проекта также была разработана и встроена в AS система аналитики, которая позволяет отлавливать баги, собирать по ним статистику, а также снимать дампы, что помогать исправлять утечки памяти. Благодаря последнему решению, были найдены проблемы в сторонних плагинах, в которых команда Google сообщила разработчикам, которые в свою очередь исправили ошибки.

Также появились возможности:
👉 скачать maven.google.com оффлайн со всеми последними версиями библиотек
👉 Изменить максимальный размер Heap из AS, без редактирования конфигурационных файлов. Также AS теперь сама вам будет увеличить размер со стандартных 1.2 Гб, если ваш компьютер позволяет это сделать
👍1
#Kotlin #UI #GoogleIO #JetpackCompose

Google I/O'19: Declarative UI Patterns

Google показала своё видение будущего написание UI в Android (видение совсем ранее) - Jetpack Compose. Особенности:
👉 Никакого XML
👉 Чистый Kotlin в декларативном стиле
👉 Никакого findViewById() (это далеко не первая попытка решить эту сложность)
👉 Обратная совместимость с View подходом

Авторы вдохновлялись реализацию описания UI в React, Vue.js, Flutter и Litho.

Проект находится на очень ранней стадии и разработчики ждут отзывы сообщества и предложения по улучшению. Чтобы попробовать Jetpack Compose вам надо скачать специальную сборку Android Studio.

Вопрос пока намного больше чем ответов:
👉 Что по поводу работы Layout Editor?
👉 Поддержка текущих виджетов?
👉 Как будет осуществляться описание UI под различные конфигурации и размеры экранов?
👉 Какова скорость компиляции?
👉 Что с Java проектами?
👉 Что с анимациями?
👉 Что со всем кодом, ранее написанным к старому написанию UI ?
👍1
Forwarded from Mobile People Talks (Kirill Rozov)
#ReactNative

Пришла очередь Владимиру Иванову выступить в роли допрашиваемого, и отстаивать честь React Native. Вова отвечал на все колкие вопросы ведущих подкаста, приверженцев других мобильных фреймворков:
👉 В каких случаях стоит использовать React Native
👉 Какие есть преимущества по сравнению с Flutter,
👉 Когда же уже будет релиз? И будет ли он когда-нибудь?
👉 Что там с производительностью?

Подкаст уже доступен
🎧 SoundCloud
🎧 Apple Podcasts
👍1
#ConstraintLayout #MotionLayout #Animation

ConstraintLayout 2.0 Beta 1

Вышла первая beta версия ConstraintLayout. Что нового по сравнению с версией 1.X:

👉 Virtual Layout - позволяющий описывать правила размещения группы View. На текущий момент существует только одно стандартное - Flow, которая заменяет собой chain и добавляет новых возможностей.

👉 MotionLayout - теперь анимировать изменения layout становится значительно проще, описывайте все трансформации через специальный XML файл и наслаждайтесь как фреймворк все делает за вас

👉 ConstraintProperties - более просто способ обновления параметров ConstraintLayout

👉 Визуальный редактор MotionLayout. Попробовать его не получится, но сейчас все силы команду ConstraintLayout сконцентрированы на его доработки. Надеюсь увидеть его в Android Studio 3.6

Больше подробностей в видео

Пример использования новых ConstraintLayout и MotionLayout
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Редактор #MotionLayout в Android Studio (пока нет возможности его опробовать)
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Пример анимации, построенной на основе #MotionLayout
👍1
#Kotlin #Coroutines #GoogleIO #KotlinFirst

First Class Coroutines Support

🎉Kotlin Coroutine теперь официально рекомендуемый и поддерживаемый подход для асинхронных операций на Android 🎉
👍1
#GoogleIO #Kotlin #Coroutines #AndroidX

Understand Kotlin Coroutines on Android

Очень хороший доклад по Coroutines, в котором освещаются
👉 базовые моменты работы корутин
👉 Чем Coroutines они отличаются от блокирующего подхода
👉 поддержка корутин в библиотеках: WorkManager, Room, ViewModel, LiveData, Lifecycle
👉 Тестирование Coroutines

Из доклада видно как активно добавляется поддержка Kotlin Coroutines в библиотеки #AndroidX и это показывает в действие Kotlin First в Android.
👍1
#Coroutines #AndroidX

Use Kotlin coroutines with Architecture components

В AndroidX для поддержки Coroutines добавили следующее:
👉 CoroutineWorker для WorkManager, позволяющий выполнять задачу при помощи корутин
👉 Поддержка suspend функций в Room. Пока нет возможности наблюдать за изменениями с помощью Channel и Flow, но их поддержка уже в работе
👉 Поддержка Coroutine в LiveData
👉 ViewModel.viewModelScope
👉 LifecycleScope - CoroutineScope, связанный с Lifecycle
👉 Lifecycle-aware Coroutines: whenCreated, whenStarted, whenResumed, которые запустятся в соотвествующий момент жизненного цикла

Замечание: Множество из нового функционала доступны в следующих версиях библиотек, которые еще на в релизе
👍1
Kotlin официально стал основном языком для Android разработки, Coroutine - рекомендуемый подход, представлен Jetpack Compose. Рады ли вы таким переменам?
Final Results
74%
Да, уже давно пишу на Kotlin
20%
Я за равноправие Java и Kotlin
1%
Писал на Java и буду писать
3%
Пишу на других языках
👍1
#GoogleIO #Security #Android #AndroidX #ProjectMainline

What’s New in Android Q Security

В новой версии Android Google сконцентрировались на безопасности:
👉 Улучшенная система разрешений
👉 Project Mainline - новый способ доставки и установки обновление безопасности, не требующих OTA обновления от производителя, а установка их напрямую из Google Play и убирает привязку к OEM. Подробнее "Fresher OS with Projects Treble and Mainline"
👉 Поддержка TLS 1.3
👉 Adiantum - шифрование данных, не требующих специального железа и достаточно нетребовательное к ресурсам, что позволяет им работать от умных часов и до IoT устройств
👉 Для всех устройств на Android Q+ теперь шифрование данных будет обязательным
👉 Изолированная песочница для софтовых кодеков
👉 Ограничение доступа к системному API
👉 Рандомизация MAC адреса при подключение к Wi-FI
👉 Улучшения в BiometricPrompt API
👉 Библиотека AndroidX Security, которая упрощает шифрование файлов и SharedPreferences
👉 Приложения в фоне не могут запустить Activity
👉 Scoped Storage, который был отложен на Android R
👉 Google Assistant сможет работать на устройстве без необходимости обращения к серверам
👉 Больше проверок в LLVM: BoundSan, улучшение IntSan, Shadow Call Stack (SCS), eXecute-Only Memory, Scudo Hardened Allocator. Больше подробностей "Queue the Hardening Enhancements"

Работы по безопасности продолжаются: в Google активно работают над поддержкой Electronic ID для мобильных приложений, что позволит использовать мобильных приложения в качеств удостоверений, например водительских прав.
👍1
#GoogleIO #Kotlin #UnderTheHood

Google I/O'19: Kotlin Under the Hood: Understand the Internals
Продолжительность: 40:45

Доклад в котором рассматривается цена фичей на пример Kotlin/JVM, за которые мы любим Kotlin:
👉 Null safety
👉 when expression
👉 lazy{} делегат
👉 Unsigned числа (experimental)
👉 Ranges
👉 Inline классы (experimental)
👉 Создание массивов
👉 Лямбда
👉 Вызов Extenstion функций
👉 Значения параметров метода по умолчанию
👉 State машина Coroutine

Главное что стоит помнить при использование различных фичей Kotlin - они имеют свою цену, так как реализуются поверх другой технологии (JVM, Native, JS) и для работы функций в конечной среде выполнения, их нужно реализовывать на поддерживаемых средой технологиях.

За это приходиться платить цену, например в Kotlin/JVM эта цена запись от стандартной библиотеки, дополнительный генерируемый байткод и выделение объектов
👍1