#FirebaseML #MLKit #MachineLearning
Машинное обучение для мобильных разработчиков вместе с Firebase ML
Машинное обучение становится все более востребованным. Google прилагает много усилий для того, чтобы развивать эту область. Также стремится предоставить разработчикам любого уровня познаний в машинном обучении возможность его использовать. В том числе и в мобильных приложениях.
Созданный ранее для этих целей проект ML Kit for Firebase, разделили на два отдельных продукта и обновили ML Kit SDK.
В статье подробнее описано для чего предназначен Firebase ML и ML Kit
Машинное обучение для мобильных разработчиков вместе с Firebase ML
Машинное обучение становится все более востребованным. Google прилагает много усилий для того, чтобы развивать эту область. Также стремится предоставить разработчикам любого уровня познаний в машинном обучении возможность его использовать. В том числе и в мобильных приложениях.
Созданный ранее для этих целей проект ML Kit for Firebase, разделили на два отдельных продукта и обновили ML Kit SDK.
В статье подробнее описано для чего предназначен Firebase ML и ML Kit
Telegraph
Машинное обучение для мобильных разработчиков вместе с Firebase ML
Машинное обучение предоставляет много возможностей и каждый день становится все более востребованными, в том числе и для мобильных приложений. Благодаря TensorFlow Lite использование моделей машинного обучения в мобильных приложениях стало проще. Однако проектирование…
#Android11
New Android R Important Changes
Достаточно много материалов вышло в последние дни о будущей версии Android, и еще не меньше выйдет. Ребята в своей статье рассматривают достаточно интересные фишки:
👉 Одновременное использование нескольких камер устройства, например даже фронтальную и основную одновременно (хотя такая фишка у меня уже была на Nokia 7 Plus)
👉 Замена API Wi-Fi сканирования
New Android R Important Changes
Достаточно много материалов вышло в последние дни о будущей версии Android, и еще не меньше выйдет. Ребята в своей статье рассматривают достаточно интересные фишки:
👉 Одновременное использование нескольких камер устройства, например даже фронтальную и основную одновременно (хотя такая фишка у меня уже была на Nokia 7 Plus)
👉 Замена API Wi-Fi сканирования
Medium
New Android R Important Changes
Review of the new Android R features and changes
#MemoryLeak
Practical Guide To Solve OutOfMemoryError in Android Application
Утечки памяти и, как следствие, OutOfMemoryError - больное место как для начинающего, так и для опытного Android разработчика. Основная проблема состоит в том что подобного рода ошибки не так очевидны и их сложно сразу отследить. Наиболее частые причины возникновения:
👉 Использование static
👉 Зарегистрированные, но не актуальные Listener'ы
👉 Использование
👉 Не статичные вложенные классы
В статье подробно рассказывается обо всех этих причинах, приводятся примеры подобных утечек и рассказывается как их избегать.
Practical Guide To Solve OutOfMemoryError in Android Application
Утечки памяти и, как следствие, OutOfMemoryError - больное место как для начинающего, так и для опытного Android разработчика. Основная проблема состоит в том что подобного рода ошибки не так очевидны и их сложно сразу отследить. Наиболее частые причины возникновения:
👉 Использование static
Context
, View
или Activity
👉 Зарегистрированные, но не актуальные Listener'ы
👉 Использование
getContext()
вместо getApplicationContext()
там где это необходимо👉 Не статичные вложенные классы
В статье подробно рассказывается обо всех этих причинах, приводятся примеры подобных утечек и рассказывается как их избегать.
Medium
Practical Guide To Solve OutOfMemoryError in Android Application
In this blog, we will learn how to solve OutOfMemoryError in Android application. We will look at the reasons responsible for OOM.
#JetpackCompose
Why do we need Jetpack Compose?
Приложения для Android успешно разрабатываются уже больше 10 лет, для чего же нам понадобился новый UI-фреймворк?
в статье рассматриваются недостатки имеющегося подхода:
👉 инструментарий 10-летней давности, когда на телефонах решались совсем другие задачи
👉 иерархия наследования с базовым классом View c десятками тысяч строк кода
👉 является частью ОС, что делает невозможным исправление ошибок без обновления прошивок
👉 нет поддержки Material Design, представленного позже
а также преимущества Jetpack Compose:
🔥 современные язык, парадигмы и инструменты. Для описания UI используется Kotlin, подходы взяты из таких UI-фреймворков как React и Flutter, полная поддержка со стороны Android Studio
🔥 единый источник правды. Больше ваш UI не будет отображать неактуальное состояние
🔥 команда разработки уделила особое внимание производительности фреймворка
🔥 поддержка Material Design из коробки
🔥 совместимость с имеющейся UI-иерархией
Why do we need Jetpack Compose?
Приложения для Android успешно разрабатываются уже больше 10 лет, для чего же нам понадобился новый UI-фреймворк?
в статье рассматриваются недостатки имеющегося подхода:
👉 инструментарий 10-летней давности, когда на телефонах решались совсем другие задачи
👉 иерархия наследования с базовым классом View c десятками тысяч строк кода
👉 является частью ОС, что делает невозможным исправление ошибок без обновления прошивок
👉 нет поддержки Material Design, представленного позже
а также преимущества Jetpack Compose:
🔥 современные язык, парадигмы и инструменты. Для описания UI используется Kotlin, подходы взяты из таких UI-фреймворков как React и Flutter, полная поддержка со стороны Android Studio
🔥 единый источник правды. Больше ваш UI не будет отображать неактуальное состояние
🔥 команда разработки уделила особое внимание производительности фреймворка
🔥 поддержка Material Design из коробки
🔥 совместимость с имеющейся UI-иерархией
Medium
Why do we need Jetpack Compose?
There has been much excitement in the Android community since the announcement of Jetpack Compose at Google I/O 2019, with a vast number…
#Розыгрыш
Разыграли билет на онлайн-конференция Podlodka Android Crew. Поздравляю победителя @ValeryBoretsky
Для тех кто не попал, то можете купить билет на сайте. Уже доступна расписание и всю следующую неделю будут говорить об архитектуре приложений. На сайте уже доступно расписание сессий.
Видео запись с розыгрышем
Разыграли билет на онлайн-конференция Podlodka Android Crew. Поздравляю победителя @ValeryBoretsky
Для тех кто не попал, то можете купить билет на сайте. Уже доступна расписание и всю следующую неделю будут говорить об архитектуре приложений. На сайте уже доступно расписание сессий.
Видео запись с розыгрышем
#Android11 #Jetpack #UI
Screens - Large, Small and Foldable
Продолжительность 16 минут
Современная Android разработка подразумевает поддержку устройств с разными типами и размерами экранов, а также режимами отображения окон: мобилки, планшеты (они живы?), десктопы (Chrome OS), складываемые устройства а также многооконность
В видео рассказывается:
👉 Почему верстка должна быть адаптивной
👉 Хорошие практики для расположения элементов
👉 Jetpack Window Manager
👉 Android Compatibility Definition Document - документ с требованиями для Android устройств, где можно найти информацию о возможных конфигурациях, включая размеры экрана, окон в разных режимах и т.д.
👉 Возможность задать свои ограничения для конфигурации окон
👉 Эмуляторы, на которых можно тестировать разные конфигурации
👉 Deprecated APIs по работе с
👉 Новые APIs, в том числе новый класс WindowMetrics
Screens - Large, Small and Foldable
Продолжительность 16 минут
Современная Android разработка подразумевает поддержку устройств с разными типами и размерами экранов, а также режимами отображения окон: мобилки, планшеты (они живы?), десктопы (Chrome OS), складываемые устройства а также многооконность
В видео рассказывается:
👉 Почему верстка должна быть адаптивной
👉 Хорошие практики для расположения элементов
👉 Jetpack Window Manager
👉 Android Compatibility Definition Document - документ с требованиями для Android устройств, где можно найти информацию о возможных конфигурациях, включая размеры экрана, окон в разных режимах и т.д.
👉 Возможность задать свои ограничения для конфигурации окон
👉 Эмуляторы, на которых можно тестировать разные конфигурации
👉 Deprecated APIs по работе с
Display
и WindowManager
👉 Новые APIs, в том числе новый класс WindowMetrics
YouTube
Screens - large, small and foldable
Learn about different screen configurations and window features supported by Android, explore design challenges with new and existing products, and take a look at some of the latest tools and APIs in the platform and Jetpack.
Resource:
Blog → https://goo.gle/window…
Resource:
Blog → https://goo.gle/window…
#Dagger
В Dagger появится Assisted Inject
Для тех кто не знает - это возможность добавлять параметры в конструкторы или методы, которых нет в графе, и предоставлять их через фабрики.
Подобную реализацию уже сделал Jake Wharton. AssistedInject on Square
В Dagger появится Assisted Inject
Для тех кто не знает - это возможность добавлять параметры в конструкторы или методы, которых нет в графе, и предоставлять их через фабрики.
Подобную реализацию уже сделал Jake Wharton. AssistedInject on Square
Twitter
Manuel Vivo
Got a lot of questions about AssistedInject and Hilt working together. AssistedInject will be added to Dagger and Hilt in the future so expect a good support there. Meanwhile, you can still use its generated code in Hilt. Here's an example of how you'd do…
#Meetup #Online #Android11
Android 11: что нового?
Продолжительность: ~ 2 часа
Завтра, 20 июня в 12:00(GMT+3) пройдет митап по новинкам в Android 11, совместно организованный GDG группами Брянска и Калуги. Вас ждет 3 доклада:
👉 Изменения в Privacy / Федор Цымбал
👉 Новинки WindowInsets и анимации клавиатуры / Иван Баранов
👉 Обзор Notification Bubbles / Инесса Бухонова
Зарегистрироваться нужно 👉 тут
Android 11: что нового?
Продолжительность: ~ 2 часа
Завтра, 20 июня в 12:00(GMT+3) пройдет митап по новинкам в Android 11, совместно организованный GDG группами Брянска и Калуги. Вас ждет 3 доклада:
👉 Изменения в Privacy / Федор Цымбал
👉 Новинки WindowInsets и анимации клавиатуры / Иван Баранов
👉 Обзор Notification Bubbles / Инесса Бухонова
Зарегистрироваться нужно 👉 тут
#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%
Не участвую в опросе