#UI #Framework
Litho: лучшие практики для создания эффективного UI в Android
Многие слышали о Jetpack Compose, но не все знают, что уже давно существует конкурент от Facebook под названием Litho, который представляет собой фрэймворк, позволяющий создавать UI в декларативном стиле в коде. Причем его уже можно использовать в Production!
Основные преимущества этого фрэймворка:
👉 Все вычисления происходят вне UI потока в него передаётся лишь Draw
👉 Значительный прирост в производительности при отрисовке UI
👉 Интерфейс более плоский, потому что сокращается уровень вложенности Layout'ов
При этом существует и ряд недостатков:
⛔ Плохая интеграция с Android Studio
⛔ Нет поддержки в UI Preview
⛔ Интеграция с Kotlin всё ещё в разработке
Если же достоинства превосходят недостатки, то для вас статья от Сергея Рябова, разработчика Litho, в ней он постарался раскрыть большинство аспектов фреймворка.
Litho: лучшие практики для создания эффективного UI в Android
Многие слышали о Jetpack Compose, но не все знают, что уже давно существует конкурент от Facebook под названием Litho, который представляет собой фрэймворк, позволяющий создавать UI в декларативном стиле в коде. Причем его уже можно использовать в Production!
Основные преимущества этого фрэймворка:
👉 Все вычисления происходят вне UI потока в него передаётся лишь Draw
👉 Значительный прирост в производительности при отрисовке UI
👉 Интерфейс более плоский, потому что сокращается уровень вложенности Layout'ов
При этом существует и ряд недостатков:
⛔ Плохая интеграция с Android Studio
⛔ Нет поддержки в UI Preview
⛔ Интеграция с Kotlin всё ещё в разработке
Если же достоинства превосходят недостатки, то для вас статья от Сергея Рябова, разработчика Litho, в ней он постарался раскрыть большинство аспектов фреймворка.
Хабр
Litho: лучшие практики для создания эффективного UI в Android
Litho — UI-фреймворк от Facebook, который отвечает за быстрый рендеринг тяжелого UI в топовых приложения с миллиардами загрузок. Как его использовать, что происходит под капотом, и действительно...
#Conference #Online
DevParty Russia!
В субботу, 27 июня, ждём на 15-часовую бесплатную онлайн-конференцию DevParty от GDG Russia. Все начнется в 5 утра по московскому времени, встретим рассвет в Владивостоке, а завершим день и проводим закат в Калининграде. И все это в прямой трансляции!
В программе вас ждут:
- 3 потока (Mobile, Web, Cloud)
- 45 спикеров из более чем 10 стран
- 33 комьюнити GDG со всей России
- GDE по всем направлениям
В мобильном треке вас ждет 15 докладов от спикеров из Lyft, Avito, JetBrains, EPAM Systems, Replika.ai, Тинькофф, MERA, Surf и других компаний.
DevParty Russia!
В субботу, 27 июня, ждём на 15-часовую бесплатную онлайн-конференцию DevParty от GDG Russia. Все начнется в 5 утра по московскому времени, встретим рассвет в Владивостоке, а завершим день и проводим закат в Калининграде. И все это в прямой трансляции!
В программе вас ждут:
- 3 потока (Mobile, Web, Cloud)
- 45 спикеров из более чем 10 стран
- 33 комьюнити GDG со всей России
- GDE по всем направлениям
В мобильном треке вас ждет 15 докладов от спикеров из Lyft, Avito, JetBrains, EPAM Systems, Replika.ai, Тинькофф, MERA, Surf и других компаний.
На DevParty Russia будет выступать автор канала Кирилл Розов с докладом "Все ли вы знаете об Android Jetpack?" в котором расскажет о интересных API, которое вы могли упустить, а также о будущих версиях и новинках, представленных вместе с Android 11 Beta 1
#BestPractices #CodeQuality
10 правил NASA для написания критически важного кода
У разработчиков в NASA непростое ПО, оно реально отправляет в космос! И поэтому к нему предъявляются наивысшие требования по качеству и безопасности. Подробнее об этих правилах в статье:
10 правил NASA для написания критически важного кода
У разработчиков в NASA непростое ПО, оно реально отправляет в космос! И поэтому к нему предъявляются наивысшие требования по качеству и безопасности. Подробнее об этих правилах в статье:
AppTractor
10 правил NASA для написания критически важного кода
У разработчиков NASA одна из самых сложных работ в мире программирования. Они пишут код и разрабатывают критически важные приложения, в первую очередь заботясь о безопасности и надежности.
#Course #Online
JetBrains Academy Is Getting Ready to Hit the Market
JetBrains Academy станет платной. Если успеете зарегистрироваться до 1 июля, то у вас останется бесплатный доступ до 2021, а на следующий год получите скидку на подписку.
JetBrains Academy Is Getting Ready to Hit the Market
JetBrains Academy станет платной. Если успеете зарегистрироваться до 1 июля, то у вас останется бесплатный доступ до 2021, а на следующий год получите скидку на подписку.
The JetBrains Blog
JetBrains Academy Is Getting Ready to Hit the Market | The JetBrains Academy Blog
Back in February 2019, we announced the Early Access Program (EAP) for JetBrains Academy – an educational platform with a focus on learning by doing. We launched the program with a curriculum for Java
#Coroutines #UnderTheHood
Coroutines: Suspending State Machines
8 минут на чтение
В статье разбирает как код с использованием suspend функций и Coroutine превращается в рабочий код на конечной платформе. Разбираются такие понятия как:
👉 suspension points
👉 Continuation Passing Style (CPS)
👉 state machine
Все довольно лаконично, просто и с визуализацией, поэтому сложить высокоуровневое представление получается достаточно хорошо.
Coroutines: Suspending State Machines
8 минут на чтение
В статье разбирает как код с использованием suspend функций и Coroutine превращается в рабочий код на конечной платформе. Разбираются такие понятия как:
👉 suspension points
👉 Continuation Passing Style (CPS)
👉 state machine
Все довольно лаконично, просто и с визуализацией, поэтому сложить высокоуровневое представление получается достаточно хорошо.
Medium
Coroutines: Suspending State Machines
Coroutines make our asynchronous code look sequential. Coroutines help us escape the callback hell. Coroutines save us from the complex…
Какую роль играет оформление презентации у спикера для восприятия доклада?
Final Results
66%
Хорошему слайду, хорошая картинка
20%
Главное материал, а не оформление
11%
Можно и без слайдов, если донести сможет
0%
Другой вариант
3%
Не участвую
#Multiplatform #KMP
Создаём своё первое приложение для Kotlin Multiplatform
Kotlin Multiplatfrom - отличная возможность писать общий код сразу для нескольких платформ, на языке, полюбивщимся Android разработчикам.
Общая идея проста - нативный код платформы все еще остается, однако дополнительно на Kotlin можно создавать переиспользуемые между платформами модули - общая бизнес логика, сервисы по работе с сетевым подключением, базами данных и т.д.
В данной статье разбирается по шагам как написать свое первое приложение с Kotlin Multiplatform сразу под две мобильные платформы (Android и iOS):
👉 необходимые среды разработки и инструменты
👉 структура и настройка проекта
👉 создание общей логики и ее вызов в нативной платформенной части
В статье при создании общего модуля показан пример использования Coroutines и Ktor - мультиплатформенной библиотеки для работы с сетью и сериализацией
Создаём своё первое приложение для Kotlin Multiplatform
Kotlin Multiplatfrom - отличная возможность писать общий код сразу для нескольких платформ, на языке, полюбивщимся Android разработчикам.
Общая идея проста - нативный код платформы все еще остается, однако дополнительно на Kotlin можно создавать переиспользуемые между платформами модули - общая бизнес логика, сервисы по работе с сетевым подключением, базами данных и т.д.
В данной статье разбирается по шагам как написать свое первое приложение с Kotlin Multiplatform сразу под две мобильные платформы (Android и iOS):
👉 необходимые среды разработки и инструменты
👉 структура и настройка проекта
👉 создание общей логики и ее вызов в нативной платформенной части
В статье при создании общего модуля показан пример использования Coroutines и Ktor - мультиплатформенной библиотеки для работы с сетью и сериализацией
Tproger
Создаём своё первое приложение для Kotlin Multiplatform
Статья о том, как с помощью SDK для мультиплатформенной разработки на Kotlin написать приложение под Android и iOS.
#Security
Dependency-check-gradle plugin - интересный Gradle плагин от OWASP для поиска уязвимостей в проекте.
Позволяет запуском одной команды (не считая команды на обновление локальной базы данных) подготовить отчет о наличии в зависимостях известных уязвимостей.
Сам плагин работает поверх утилиты DependencyCheck. Информация об уязвимостях берется из базы данных управления уязвимостями NVD.
Dependency-check-gradle plugin - интересный Gradle плагин от OWASP для поиска уязвимостей в проекте.
Позволяет запуском одной команды (не считая команды на обновление локальной базы данных) подготовить отчет о наличии в зависимостях известных уязвимостей.
Сам плагин работает поверх утилиты DependencyCheck. Информация об уязвимостях берется из базы данных управления уязвимостями NVD.
Wikipedia
OWASP
Open Worldwide Application Security Project (OWASP) — это открытый проект обеспечения безопасности веб-приложений.
#CustomView
Custom view from scratch. Part I.
Автор начал серию статей в которой он хочет полностью разобрать тему Custom View. В первой части он рассказывает:
👉 Когда стоит использовать
👉 Жизненный цикл
👉 Основы и тонкости при наследовании от базовых классов
Если вы всегда хотели разобраться в этой теме, то стоит следить за обновлениями автора, а сама статья будет вам полезна в качестве первого шага в теме кастомных View. Jetpack Compose упростит создание собственных виджетов, но знания от Custom View будут нужны.
Custom view from scratch. Part I.
Автор начал серию статей в которой он хочет полностью разобрать тему Custom View. В первой части он рассказывает:
👉 Когда стоит использовать
👉 Жизненный цикл
👉 Основы и тонкости при наследовании от базовых классов
Если вы всегда хотели разобраться в этой теме, то стоит следить за обновлениями автора, а сама статья будет вам полезна в качестве первого шага в теме кастомных View. Jetpack Compose упростит создание собственных виджетов, но знания от Custom View будут нужны.
Medium
Custom view from scratch. Part I.
Creation & Optimisation of a Dynamic Chart
#MLKit #MachineLearning
On-device machine learning solutions with ML Kit, now even easier to use
ML Kit - sdk для использования возможностей машинного обучения в мобильных приложениях.
В посте рассказывается про то, что:
👉 для использования ML Kit проект в Firebase больше не обязателен
👉 ML Kit обрабатывает данные в режиме реального времени, без задержек из-за сетевых запросов
👉 работает в offline режиме
👉 пользовательские данные не отправляются в сеть, а значит приватность сохраняется
👉 некоторые модели доставляются через Google Play Services, а значит уменьшается размер приложения при установке
👉 можно использовать не только готовые модели, но и собственные модели
👉 в рамках программы раннего доступа можно ознакомиться с новыми моделями:
👉 добавлена поддержка Android Jetpack Lifecycle, что облегчает остановку использования ML Kit на основании жизненного цикла
👉 интеграция с Lifecycle также сделала использование CameraX проще и удобнее.
💪 Как начать работать с новым ML Kit и его поддержкой CameraX можно узнать в code lab Recognize, Identify Language and Translate text
On-device machine learning solutions with ML Kit, now even easier to use
ML Kit - sdk для использования возможностей машинного обучения в мобильных приложениях.
В посте рассказывается про то, что:
👉 для использования ML Kit проект в Firebase больше не обязателен
👉 ML Kit обрабатывает данные в режиме реального времени, без задержек из-за сетевых запросов
👉 работает в offline режиме
👉 пользовательские данные не отправляются в сеть, а значит приватность сохраняется
👉 некоторые модели доставляются через Google Play Services, а значит уменьшается размер приложения при установке
👉 можно использовать не только готовые модели, но и собственные модели
TensorFlow Lite
👉 в рамках программы раннего доступа можно ознакомиться с новыми моделями:
Entity Extraction
и Pose Detection
👉 добавлена поддержка Android Jetpack Lifecycle, что облегчает остановку использования ML Kit на основании жизненного цикла
👉 интеграция с Lifecycle также сделала использование CameraX проще и удобнее.
💪 Как начать работать с новым ML Kit и его поддержкой CameraX можно узнать в code lab Recognize, Identify Language and Translate text
Android Developers Blog
On-device machine learning solutions with ML Kit, now even easier to use
News and insights on the Android platform, developer tools, and events.
ОПРОС ДЛЯ РАЗРАБОТЧИКОВ
Какая ОС на вашем основном личном смартфоне?
Какая ОС на вашем основном личном смартфоне?
Anonymous Poll
85%
Android
13%
iOS
0%
Другая ОС
0%
Не использую смарфтон
0%
Не разработчик
1%
Не участвую в опросе
Android Broadcast
Ваше мнение по поводу новой библиотеки Hilt:
Интересные результаты по поводу Dagger Hilt - впервые на моей памяти большинство респондентов решили выбрать "Не участвую". Но а из ответов без игнора видно что большой популярности добиться не получилось пока, только хайпануть на Hilt можно
Pokedex
Помните таки созданий как покемоны? В моем детстве все дети от них тащились (а я даже знал всех 150 наизусть 😎), а пару лет назад вообще все бегали с телефонами и в AR ловили их везде вокруг.
Но сегодня вы можете посмотреть pet проект в котором реализована идея поке-Wikipedia и понасталгировать, но и увидеть приложение с современнейшим стеком:
👉 Kotlin
👉 Coroutines
👉 Dagger Hilt
👉 Jetpack MVVM
Помните таки созданий как покемоны? В моем детстве все дети от них тащились (а я даже знал всех 150 наизусть 😎), а пару лет назад вообще все бегали с телефонами и в AR ловили их везде вокруг.
Но сегодня вы можете посмотреть pet проект в котором реализована идея поке-Wikipedia и понасталгировать, но и увидеть приложение с современнейшим стеком:
👉 Kotlin
👉 Coroutines
👉 Dagger Hilt
👉 Jetpack MVVM
#ProGuard #Kotlin
Full Kotlin Support in ProGuard
В новой версии Proguard (7.0) добавили полную поддержку Kotlin. Например, он умеет обрабатывать метадату Kotlin, которую R8 боится трогать.
Full Kotlin Support in ProGuard
В новой версии Proguard (7.0) добавили полную поддержку Kotlin. Например, он умеет обрабатывать метадату Kotlin, которую R8 боится трогать.
Guardsquare
Announcing ProGuardCORE & Kotlin Support | Guardsquare
Announcing ProGuardCORE & full Kotlin support to shrink & protect Android apps. Learn more.
#Kotlin
Kotlin DSL для создания State Machine
Все лаконично и просто - если вам нужна finite State Machine и вы используете Kotlin, то вам стоит обратить внимание на эту библиотеку от разработчиков из Tinder
Также есть специальные плагины для IDEA чтобы визуализировать эту State Machine
Kotlin DSL для создания State Machine
Все лаконично и просто - если вам нужна finite State Machine и вы используете Kotlin, то вам стоит обратить внимание на эту библиотеку от разработчиков из Tinder
Также есть специальные плагины для IDEA чтобы визуализировать эту State Machine
#REST
Migrating Retrofit to Ktor
Retrofit давно стал "серебряной пулей" для Android-разработчиков в вопросе работы с REST, но у JetBrains есть для этих целей своё решение — библиотека Ktor, которая полностью написана на Kotlin и под капотом использует Coroutine.
Автор рассказывает как интегрировать библиотеку в ваше приложение:
👉 Настройка HTTP клиента
👉 Сериализация
👉 Создание запросов
👉 Обработка ошибок
Однако, автор сам замечает тот факт, что Ktor сложнее в настройке и не такой удобный как привычный всем Retrofit. Основным аргументом для миграции на Ktor является возможность использования при мультиплатформенной разработке на Kotlin Multiplatform.
Migrating Retrofit to Ktor
Retrofit давно стал "серебряной пулей" для Android-разработчиков в вопросе работы с REST, но у JetBrains есть для этих целей своё решение — библиотека Ktor, которая полностью написана на Kotlin и под капотом использует Coroutine.
Автор рассказывает как интегрировать библиотеку в ваше приложение:
👉 Настройка HTTP клиента
👉 Сериализация
👉 Создание запросов
👉 Обработка ошибок
Однако, автор сам замечает тот факт, что Ktor сложнее в настройке и не такой удобный как привычный всем Retrofit. Основным аргументом для миграции на Ktor является возможность использования при мультиплатформенной разработке на Kotlin Multiplatform.
Medium
Using Ktor on Android
Ktor is a coroutine-based networking framework by Jetbrains that works with Kotlin Multiplatform.
#AndroidStudio #SystemTrace
What’s New in Android Studio System Trace
System Trace - утилита, позволяющая анализировать активность на устройстве за некоторый период времени. Начиная с Android Studio 4.0, System Trace стала доступна как часть UI в IDE.
В статье рассматриваются новинки утилиты и как с ней удобно работать в Android Studio.
What’s New in Android Studio System Trace
System Trace - утилита, позволяющая анализировать активность на устройстве за некоторый период времени. Начиная с Android Studio 4.0, System Trace стала доступна как часть UI в IDE.
В статье рассматриваются новинки утилиты и как с ней удобно работать в Android Studio.
Medium
What’s new in Android Studio System Trace
Highlights of the CPU Profiler improvements in Android Studio 4.0 and 4.1 Beta
#Architecture
Designing and Working with Single View States on Android
В мире разработки Android споры о лучшем архитектурном подходе не утихали никогда. Многие пытаются найти самый лучший подход. У каждого паттерна есть свои достоинства, недостатки и сфера применения. Сегодня предлагаем вам посмотреть на статью про использование ViewState для управления UI, что является особенностью MVI паттерна, в рамках MVVM архитектуры.
В статье описывается два варианта подхода к контролю ViewState, приводятся примеры кода и есть ссылка на готовый проект, в котором можно посмотреть всю структуру.
Designing and Working with Single View States on Android
В мире разработки Android споры о лучшем архитектурном подходе не утихали никогда. Многие пытаются найти самый лучший подход. У каждого паттерна есть свои достоинства, недостатки и сфера применения. Сегодня предлагаем вам посмотреть на статью про использование ViewState для управления UI, что является особенностью MVI паттерна, в рамках MVVM архитектуры.
В статье описывается два варианта подхода к контролю ViewState, приводятся примеры кода и есть ссылка на готовый проект, в котором можно посмотреть всю структуру.
zsmb.co
Designing and Working with Single View States on Android
Describing the state of a screen is a common practice these days thanks to MVI popularizing the concept. Let's take a look at some examples of how you can design your state objects neatly using data classes and sealed classes, and how you can put them into…
#Huawei #HuaweiMobileServices
Huawei выпустила HMS Core 5.0
Huawei Mobile Services (HMS) - это платформа для Huawei и Honor устройств, которая заменяет популярные приложения и службы Google. Это альтернатива Google Play Services (GMS).
HMS Core — это набор различных инструментов для разработчиков (API, SDK и сервисы) для создания приложений, интегрированных в экосистему Huawei.
Недавно Huawei представила новую версию HMS Core. Среди улучшений и изменений:
👉 изменения в системе позиционирования
👉 изменения в push-сервисах
👉 улучшения в способе обработки графики и звука
👉 появилась поддержка приложений дополненной реальности
Huawei выпустила HMS Core 5.0
Huawei Mobile Services (HMS) - это платформа для Huawei и Honor устройств, которая заменяет популярные приложения и службы Google. Это альтернатива Google Play Services (GMS).
HMS Core — это набор различных инструментов для разработчиков (API, SDK и сервисы) для создания приложений, интегрированных в экосистему Huawei.
Недавно Huawei представила новую версию HMS Core. Среди улучшений и изменений:
👉 изменения в системе позиционирования
👉 изменения в push-сервисах
👉 улучшения в способе обработки графики и звука
👉 появилась поддержка приложений дополненной реальности
iXBT.com
Huawei выпустила HMS Core 5.0 для успешной конкуренции с сервисами Google
Китайская компания Huawei, которая старается удержать свои позиции на мировом рынке смартфонов на фоне американских санкций, продолжает улучшать собственные мобильные сервисы, конкурирующие с сервисами Google.