#Kotlin #Collections #Sequence
Красивая визуализация в отличие использовании операций для Collection и Sequence от Florina Muntenescu
Красивая визуализация в отличие использовании операций для Collection и Sequence от Florina Muntenescu
#Giphy #SDK
Представлено Android и iOS SDK для Giphy
Любите веселые анимашки с GIPHY? Тогда теперь вы можете сделать интеграцию между своими приложением и этим сервисом!
Представлено Android и iOS SDK для Giphy
Любите веселые анимашки с GIPHY? Тогда теперь вы можете сделать интеграцию между своими приложением и этим сервисом!
#Podcast #DEX #ART #Dalvik #UnderTheHood
Android Dev Podcast #96: DEX формат, его инструментация и Android рантаймы
Продолжительность: 1:08:44
Подходит к концу рабочая неделя и все готовяться отдохнуть. Самое время где-нибудь лечь на солнышке, расслабиться и послушать интересный подкаст.
В последнем выпуске ребята из Android Dev Podcast рассказывают о том как под капотом Android исполняется и оптимизируется код
Android Dev Podcast #96: DEX формат, его инструментация и Android рантаймы
Продолжительность: 1:08:44
Подходит к концу рабочая неделя и все готовяться отдохнуть. Самое время где-нибудь лечь на солнышке, расслабиться и послушать интересный подкаст.
В последнем выпуске ребята из Android Dev Podcast рассказывают о том как под капотом Android исполняется и оптимизируется код
SoundCloud
Android Dev Podcast #96
Это наш второй эксперимент с погружением в особенности платформы. На этот раз погрузились в .dex формат, его интерпретацию, JIT, AOT и инструменты его исследования.
1. DEX формат: зачем, особенности,
1. DEX формат: зачем, особенности,
#Fuchsia
Будущее уже здесь - fuchsia.dev
Появился сайт с документацией ОС с открытым исходным кодов - Fuchsia. Та новая операционка от Google, вокруг которой давно ходят слухи.
На сайте уже можно найти следующее:
👉 Описание ОС Fuchsia
👉 Разработка под новую ОС
👉 Обзор системы
👉 Ядро Zircon (не Linux)
👉 Fuchsia SDK Reference
Будущее уже здесь - fuchsia.dev
Появился сайт с документацией ОС с открытым исходным кодов - Fuchsia. Та новая операционка от Google, вокруг которой давно ходят слухи.
На сайте уже можно найти следующее:
👉 Описание ОС Fuchsia
👉 Разработка под новую ОС
👉 Обзор системы
👉 Ядро Zircon (не Linux)
👉 Fuchsia SDK Reference
#Room #Kotlin
How to create M:N Relationship with Room and Kotlin
Room - очень удобная ORM для Android. Ее отличительные особенности:
👉 удобство использования
👉 интеграция с Architecture Components и другими популярными библиотеками
👉 отсутствие рефлексии
Но не все возможности поддерживаются этой библиотекой, например из коробки нет возможности построить отношение M : N 😦. В статье вы найдете рецепт как исправить отсутствие этой функции (я надеюсь что с будущими релизами ее исправят).
How to create M:N Relationship with Room and Kotlin
Room - очень удобная ORM для Android. Ее отличительные особенности:
👉 удобство использования
👉 интеграция с Architecture Components и другими популярными библиотеками
👉 отсутствие рефлексии
Но не все возможности поддерживаются этой библиотекой, например из коробки нет возможности построить отношение M : N 😦. В статье вы найдете рецепт как исправить отсутствие этой функции (я надеюсь что с будущими релизами ее исправят).
Medium
How to create M:N Relationship with Room and Kotlin
In this article i will explain how to create a relationship Many to Many using Room. I’ll try to be more practice as possible, without…
#JetpackCompose #UI
Погружение в Jetpack Compose
Текущий тренд во всей разработке с UI - декларативные фреймворки. Jetpack Compose - решение этого вопросы для Android. Пока оно очень сырое и не готово к использованию в боевых приложениях, но уже можно посмотреть на то как мы будем писать UI через 1-2 года.
Погружение в Jetpack Compose
Текущий тренд во всей разработке с UI - декларативные фреймворки. Jetpack Compose - решение этого вопросы для Android. Пока оно очень сырое и не готово к использованию в боевых приложениях, но уже можно посмотреть на то как мы будем писать UI через 1-2 года.
Хабр
Погружение в Jetpack Compose
Всем привет. Перед уходом на выходные спешим поделиться с вами еще одним переводом, подготовленным специально для студентов курса «Android-разработчик. Продвинутый курс». Пробуем новый...
#Korlin #Parcelable
Kotlin Android Extensions: Parcelize
Android - особенная ОС, поэтому ей даже сделали особенный формат сериализации данных - Parcelable. Конечно он быстрее, лучше и весь такой крутой по сравнению с
Kotlin сделал нашу жизнь лучше и даже сделали специальное расширение, которое упрощает жизнь разработчикам под Android - Kotlin Android Extensions, в рамках которого есть функция, упрощающая реализацию
Kotlin Android Extensions: Parcelize
Android - особенная ОС, поэтому ей даже сделали особенный формат сериализации данных - Parcelable. Конечно он быстрее, лучше и весь такой крутой по сравнению с
Serializable
, но проблема в одном - множество boilerplate кода, который надо писать, а все мы знаем, что разработчики ленивы 😁Kotlin сделал нашу жизнь лучше и даже сделали специальное расширение, которое упрощает жизнь разработчикам под Android - Kotlin Android Extensions, в рамках которого есть функция, упрощающая реализацию
Parcelable
. Для этого вам необходимо добавить аннотацию @Parcelize к вашему классу.#Gradle
Вышел Gradle 5.5
Новый релиз системы для сборки приложений
👉 Трансформация зависимостей во время их поиска
👉 init плагин теперь поддерживает JUnit 5 и генерацию проекта для Gradle плагина
👉 Обновлена документация по сборки нативных приложений с Gradle
👉 Исправление багов
Улучшения для разработчиков
👉 Возможность выполнять inject системных сервисов (ObjectFactory, WorkerExecutor и пр.) в абстрактные поля
👉 Добавлены методы для создания domain object collection в ObjectFactory: domainObjectContainer() и domainObjectSet()
👉 Собственные типы, такие как
👉 Больше документации по написанию собственных плагинов
Вышел Gradle 5.5
Новый релиз системы для сборки приложений
Gradle
принес ряд новых возможностей:👉 Трансформация зависимостей во время их поиска
👉 init плагин теперь поддерживает JUnit 5 и генерацию проекта для Gradle плагина
👉 Обновлена документация по сборки нативных приложений с Gradle
👉 Исправление багов
Улучшения для разработчиков
Gradle
плагинов:👉 Возможность выполнять inject системных сервисов (ObjectFactory, WorkerExecutor и пр.) в абстрактные поля
👉 Добавлены методы для создания domain object collection в ObjectFactory: domainObjectContainer() и domainObjectSet()
👉 Собственные типы, такие как
Task
, Plugin
или Project
, могут быть реализованы как абстрактные классы👉 Больше документации по написанию собственных плагинов
#Dagger #Kotlin #DependencyInjection
Painless Dagger+Android+Kotlin
Dagger 2 - самый популярный DI на Android. Но не все так идеально, так как приходится писать слишком много boileplate кода для его работы. Как уменьшить количество этих строк в ваших исходниках? Воспользуйтесь основными рекомендациями:
1️⃣ Не используйте dagger-android
2️⃣ Используйте
3️⃣ Используйте inject в конструкторы вместо объявление зависимостей в модулях
4️⃣ Для предоставления зависимостей, тип которых является интерфейс используйте @Binds
5️⃣ Не используйте
Лично от себя рекомендую обратить внимание на простые библиотеки, разработанные в EPAM:
👉 Assisted ViewModel - упрощение inject
👉 Dagger Generate Binds - упрощение объявление @Binds
Painless Dagger+Android+Kotlin
Dagger 2 - самый популярный DI на Android. Но не все так идеально, так как приходится писать слишком много boileplate кода для его работы. Как уменьшить количество этих строк в ваших исходниках? Воспользуйтесь основными рекомендациями:
1️⃣ Не используйте dagger-android
2️⃣ Используйте
androix.fragment
1.1.0, в которой появились возможность делать inject зависимостей в конструктор Fragment
с использованием FragmentFactory3️⃣ Используйте inject в конструкторы вместо объявление зависимостей в модулях
4️⃣ Для предоставления зависимостей, тип которых является интерфейс используйте @Binds
5️⃣ Не используйте
Dagger Component
для получения зависимостей оттудаЛично от себя рекомендую обратить внимание на простые библиотеки, разработанные в EPAM:
👉 Assisted ViewModel - упрощение inject
ViewModel
👉 Dagger Generate Binds - упрощение объявление @Binds
Medium
Painless Dagger+Android+Kotlin
Historically the words “Dagger” and “painless” have been mutually exclusive. Dagger has often been associated with complex configuration…
#Conference #Minsk #MobilePeople
Последние 3 месяца сообщество Mobile People (и я в том числе) готовило для вас большое мероприятие - Mobile People Day в рамках RS Conf.
В рамках конференции вы можете услышать доклады по Android, iOS и Flutter. Вас ждут 14 спикеров с докладами в горячих темах современной разработки:
👉 Йонатан Левин@monday.com -
👉 Александр Блинов@Headhunter - ведущий
👉 Elaine Dias Batista@SFEIR -
👉 Muhammed Salih Guler@Onefootball GmbH -
👉 Anastasiia Voitova@Cossack Labs - специалист по безопасности мобильных приложений
👉 Дмитрий Мовчан@KasperskyLab - организатор
Когда: 9 августа 2019
Формат: 1 день ➡️ 2 потока ➡️13 докладов
Место: Культурный хаб OK16 (карта)
Больше спикеров и информации о них вы можете найти на сайте конференции
* GDE - Google Developer Expert
Последние 3 месяца сообщество Mobile People (и я в том числе) готовило для вас большое мероприятие - Mobile People Day в рамках RS Conf.
В рамках конференции вы можете услышать доклады по Android, iOS и Flutter. Вас ждут 14 спикеров с докладами в горячих темах современной разработки:
👉 Йонатан Левин@monday.com -
Android GDE
, основатель Android Academy👉 Александр Блинов@Headhunter - ведущий
Android Dev Podcast
👉 Elaine Dias Batista@SFEIR -
Google Assistant GDE
👉 Muhammed Salih Guler@Onefootball GmbH -
Flutter GDE
👉 Anastasiia Voitova@Cossack Labs - специалист по безопасности мобильных приложений
👉 Дмитрий Мовчан@KasperskyLab - организатор
Android Academy в Москве
Когда: 9 августа 2019
Формат: 1 день ➡️ 2 потока ➡️13 докладов
Место: Культурный хаб OK16 (карта)
Больше спикеров и информации о них вы можете найти на сайте конференции
* GDE - Google Developer Expert
Forwarded from Mobile People Talks (Александр Денисов)
Асинхронность - знаешь что об этом ты? Part I
Первоначальной идеей этого выпуска было обсуждение асиннхронности, подходов и решений со всех, так сказать, четырех сторон. Сначала обсудить нативные темы, а потом обсудить кроссплатформенные решения. И начиналось все вроде бы хорошо, обсудили многопоточность, классические проблемы, языки, которые живут без этого, но потом Данис с Кириллом так увлеклись беседой о сходствах и различиях асинхронных подходов в Android и iOS, что на Flutter и React Native просто тупо не хватило времени!
🤪 Так что придется делать два выпуска по цене одного! Асинхронность Flutter vs ReactNative ждите в следующем!
🎧 SoundCloud
🎧 Apple Podcasts
Первоначальной идеей этого выпуска было обсуждение асиннхронности, подходов и решений со всех, так сказать, четырех сторон. Сначала обсудить нативные темы, а потом обсудить кроссплатформенные решения. И начиналось все вроде бы хорошо, обсудили многопоточность, классические проблемы, языки, которые живут без этого, но потом Данис с Кириллом так увлеклись беседой о сходствах и различиях асинхронных подходов в Android и iOS, что на Flutter и React Native просто тупо не хватило времени!
🤪 Так что придется делать два выпуска по цене одного! Асинхронность Flutter vs ReactNative ждите в следующем!
🎧 SoundCloud
🎧 Apple Podcasts
SoundCloud
знаешь что об этом ты?
Первоначальной идеей выпуска было обсуждение асиннхронности, подходов и решений со всех, так сказать, четырех сторон. Сначала обсудить нативные темы, а потом обсудить кроссплатформенные решения. И нач
#AndroidStudio #Productivity #Template
Supercharging your app development speed with custom file templates
Boilerplate код - это неприятное для любого программиста часть кода. Оно тратит время и добавляет лишний код, затрудняя читабельность кода. Все это влияет на стоимость конечной разработки, что не нравится бизнесу.
Самый популярный boilerplate код, который можно встретить это архитектура:
Хорошая новость в том, что Android Studio уже содержит необходимый функционал. В статье вы найдете подробное руководство как это реализовать.
Supercharging your app development speed with custom file templates
Boilerplate код - это неприятное для любого программиста часть кода. Оно тратит время и добавляет лишний код, затрудняя читабельность кода. Все это влияет на стоимость конечной разработки, что не нравится бизнесу.
Самый популярный boilerplate код, который можно встретить это архитектура:
MVVM
, MVP
, Clean Architecture
и пр. Дело в том что этот код имеет одинаковое строение и много схожего API. Так почему бы не избавиться от этого и сделать генерацию каркаса архитектуры фичи с помощью IDE?Хорошая новость в том, что Android Studio уже содержит необходимый функционал. В статье вы найдете подробное руководство как это реализовать.
Medium
Supercharging your app development speed with custom file templates
While working on the android app at Wishfie, we often had to write a lot of boilerplate code for creation of each of our new Activity and…
#Gradle
Android Environments build Gradle plugin
С приходом билд системы на основе Gradle в Android появилась возможность использования BuildConfig - специального класса, в котором содержится ряд стандартных констант (версия, buildVariant и пр.) так и имеется возможность добавлять свои собственные из Gradle скриптов.
Проблема в том, что описывать множество таких констант для разных
Android Environments build Gradle plugin
С приходом билд системы на основе Gradle в Android появилась возможность использования BuildConfig - специального класса, в котором содержится ряд стандартных констант (версия, buildVariant и пр.) так и имеется возможность добавлять свои собственные из Gradle скриптов.
Проблема в том, что описывать множество таких констант для разных
buildType
и productFlavor
не является удобным. Для решение этой проблемы я нашел удобный Gradle плагин, который позволяет описывать константы в property файлах, расположенных в соответствующей buildType
и productFlavor
папке в исходниках.GitHub
GitHub - IlyaPavlovskii/Android-Environments: Android environments builder
Android environments builder. Contribute to IlyaPavlovskii/Android-Environments development by creating an account on GitHub.
Используете ли вы Robolectric?
Final Results
5%
Да, много тестов на нем
19%
Да, немного тестов на нем
60%
Нет
16%
Что это?
#AndroidAcademy #Moscow
Android Academy в Москве: Advanced Course
Android Academy возвращается в Москву с новым курсом Advanced 🎉. В рамках него вы сможете познакомиться с различными темами из Android разработки на более глубоком уровне.
Курс будет полезен тем кто уже успел окончить курс Fundamentals, так и практикующим инженерам, которые хотят улучшить свои знания в Android разработке.
Вас ждет 6 лекций по 1.5 часа каждые 2-3 недели:
1️⃣ Advanced Multithreading
2️⃣ Optimizations
3️⃣ Advanced & Secure Networking
4️⃣ Advanced Architecture
5️⃣ DI: How to and why
6️⃣ Android Internals
Когда: 25 июля 19:00
Где: офис "Авито", БЦ «Белые Сады», ул. Лесная, 7
Участие бесплатное по предварительной регистрации
Android Academy в Москве: Advanced Course
Android Academy возвращается в Москву с новым курсом Advanced 🎉. В рамках него вы сможете познакомиться с различными темами из Android разработки на более глубоком уровне.
Курс будет полезен тем кто уже успел окончить курс Fundamentals, так и практикующим инженерам, которые хотят улучшить свои знания в Android разработке.
Вас ждет 6 лекций по 1.5 часа каждые 2-3 недели:
1️⃣ Advanced Multithreading
2️⃣ Optimizations
3️⃣ Advanced & Secure Networking
4️⃣ Advanced Architecture
5️⃣ DI: How to and why
6️⃣ Android Internals
Когда: 25 июля 19:00
Где: офис "Авито", БЦ «Белые Сады», ул. Лесная, 7
Участие бесплатное по предварительной регистрации
Хабр
Android Academy в Москве: Advanced Course
Всем привет! Лето — это отличное время года. Подошли к концу Google I/O, Mobius и AppsConf, а многие студенты уже закрыли или вот-вот уже закончат сдавать сессии...
#Yandex
Yandex Droid Mission
Разработчики Яндекса запустила онлайн-квест с задачами, которые часто приходится решать Android‑специалистам.
Конкурс проходит с 25 июня по 25 июля. Участвовать в онлайн-квесте могут граждане России и других стран СНГ, достигшие возраста 18 лет.
Yandex Droid Mission
Разработчики Яндекса запустила онлайн-квест с задачами, которые часто приходится решать Android‑специалистам.
Конкурс проходит с 25 июня по 25 июля. Участвовать в онлайн-квесте могут граждане России и других стран СНГ, достигшие возраста 18 лет.