#conference #online
Android Crew продолжается, и уже началась вторая неделя.
Если вы ещё не участвуете – самое время купить билеты по сниженной цене!
Сессии на которые советуем обратить особенное внимание:
🤑Сегодня с утра Кирилл Зубов рассказал про зарплатные вилки
📣Во вторник же вечером в прямом эфире обсудим ваши вопросы про личный бренд с Барухом Садогурским, Кириллом Розовым и Денисом Неклюдовым
💬 В среду вечером вернутся собесы экспертов! В этот раз будут Дмитрий Мовчан, Сергей Рябов и Степан Гончаров
⚒️Утро четверга начнем с рефакторинга тестового проекта с Женей Мацюком
Ко всему этому, а также к видеозаписям сессий первой недели можно получить доступ, купив билеты тут
Android Crew продолжается, и уже началась вторая неделя.
Если вы ещё не участвуете – самое время купить билеты по сниженной цене!
Сессии на которые советуем обратить особенное внимание:
🤑Сегодня с утра Кирилл Зубов рассказал про зарплатные вилки
📣Во вторник же вечером в прямом эфире обсудим ваши вопросы про личный бренд с Барухом Садогурским, Кириллом Розовым и Денисом Неклюдовым
💬 В среду вечером вернутся собесы экспертов! В этот раз будут Дмитрий Мовчан, Сергей Рябов и Степан Гончаров
⚒️Утро четверга начнем с рефакторинга тестового проекта с Женей Мацюком
Ко всему этому, а также к видеозаписям сессий первой недели можно получить доступ, купив билеты тут
podlodka.io
Онлайн-конференция Podlodka Android Crew, сезон #11
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам Android-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
#Kotlin
📺 A Look Into the Future by Roman Elizarov (40 мин)
Обзор будущего языка Kotlin и ответы на пожелания сообщества:
👉 Улучшение поддержки интеропа с JVM
👉 Тернарного оператора не будет из-за конфликта синтаксиса с null safety вызовами. Реализовать можно, но вот в языке для ? заложили другой смысл
👉 namespace - статически расширения для third party API и более удобная группировка кода без необходимости использовать object или companion object
👉 val class - замена inline класса и упрощенная версия data классов без возможности изменения (все property val)
👉 Указание разного возвращаемого типа для property и его get/set
👉 Декораторы функций позволят реализовать несколько ресиверов у extention функций и ограничивать вызовы таких функций только в определенных типах
📺 A Look Into the Future by Roman Elizarov (40 мин)
Обзор будущего языка Kotlin и ответы на пожелания сообщества:
👉 Улучшение поддержки интеропа с JVM
👉 Тернарного оператора не будет из-за конфликта синтаксиса с null safety вызовами. Реализовать можно, но вот в языке для ? заложили другой смысл
👉 namespace - статически расширения для third party API и более удобная группировка кода без необходимости использовать object или companion object
👉 val class - замена inline класса и упрощенная версия data классов без возможности изменения (все property val)
👉 Указание разного возвращаемого типа для property и его get/set
👉 Декораторы функций позволят реализовать несколько ресиверов у extention функций и ограничивать вызовы таких функций только в определенных типах
YouTube
A Look Into the Future by Roman Elizarov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
In this talk, we take a quick look at the history of the Kotlin language, discuss the short term plans for the language, and indulge in some speculation about the future…
In this talk, we take a quick look at the history of the Kotlin language, discuss the short term plans for the language, and indulge in some speculation about the future…
#CI #Tooling
Analyzing your APK during CI/CD
ApkSize-Analyzer - это утилита, которая поможет вам анализировать содержимое вашего APK и анализировать его. Например, на CI вы можете проверить отличие в частях APK. В качестве основы используется Android Studio Plugin для анализа APK.
Возможности:
👉 анализирует файлы, dex, ресурсы в APK
👉 создание отчетов в разных форматах (html, pdf, json)
👉 можно указывать отдельные пакеты для генерации отдельных отчетов
👉 размеры пакетов рассчитываются как комбинация всех dex файлов
👉 отдельный список для изображений, перечисленных в порядке убывания размера
👉 большинство списков отсортированы в порядке убывания их размеров
В будущем планируется добавить поддержку Android App Bundle.
Analyzing your APK during CI/CD
ApkSize-Analyzer - это утилита, которая поможет вам анализировать содержимое вашего APK и анализировать его. Например, на CI вы можете проверить отличие в частях APK. В качестве основы используется Android Studio Plugin для анализа APK.
Возможности:
👉 анализирует файлы, dex, ресурсы в APK
👉 создание отчетов в разных форматах (html, pdf, json)
👉 можно указывать отдельные пакеты для генерации отдельных отчетов
👉 размеры пакетов рассчитываются как комбинация всех dex файлов
👉 отдельный список для изображений, перечисленных в порядке убывания размера
👉 большинство списков отсортированы в порядке убывания их размеров
В будущем планируется добавить поддержку Android App Bundle.
Medium
Analyzing your APK during CI/CD
Not another “Analyzing Apk” Guide.
#Kotlin #Coroutines
Вышла KotlinX.Coroutines 1.4.0-M1
Что нового:
👉 SharedFlow
👉 Превращение Flow в SharedFlow и StateFlow с помощью
👉 Breaking Changes в Channels под капотом
👉 Исправление багов
👉 Android Lint проверки
👉 ProGuard правила для kotlinx-coroutines-core
👉 Улучшения работа CoroutineDispatcher на Android. Инициализация стала быстрее
Вышла KotlinX.Coroutines 1.4.0-M1
Что нового:
👉 SharedFlow
👉 Превращение Flow в SharedFlow и StateFlow с помощью
Flow.shareIn
и Flow.stateIn
👉 Breaking Changes в Channels под капотом
👉 Исправление багов
👉 Android Lint проверки
👉 ProGuard правила для kotlinx-coroutines-core
👉 Улучшения работа CoroutineDispatcher на Android. Инициализация стала быстрее
#Kotlin #Coroutines
Coroutines Update by Vsevolod Tolstopyatov (23 мин)
Много интересного про новый релиз и развитие Coroutine можно узнать из доклада Lead команды KotlinX.
Coroutines Update by Vsevolod Tolstopyatov (23 мин)
Много интересного про новый релиз и развитие Coroutine можно узнать из доклада Lead команды KotlinX.
YouTube
Coroutines Update by Vsevolod Tolstopyatov
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
In this talk, we'll cover what has changed in coroutines over the past year, and how it affects programming with coroutines. We’ll cover the debugging experience, new Flow…
In this talk, we'll cover what has changed in coroutines over the past year, and how it affects programming with coroutines. We’ll cover the debugging experience, new Flow…
#Firebase #Analytics
What’s next with the latest in app analytics
Нова порция обновления в Google Analytics:
👉 Подсчёт дохода от рекламы
👉 Более простой способ создания отчетов по заданным параметрам
👉 Signed user insights - возможность создание аудитории, которая авторизована в приложении, и доставка им персонализированных сообщений в маркетинговых компаниях
Чтобы получить все эти возможности вам надо обновиться на новую Google Analytics из Firebase консоли
What’s next with the latest in app analytics
Нова порция обновления в Google Analytics:
👉 Подсчёт дохода от рекламы
👉 Более простой способ создания отчетов по заданным параметрам
👉 Signed user insights - возможность создание аудитории, которая авторизована в приложении, и доставка им персонализированных сообщений в маркетинговых компаниях
Чтобы получить все эти возможности вам надо обновиться на новую Google Analytics из Firebase консоли
The Firebase Blog
What’s next with the latest in app analytics
#HMS #Location
Встраиваем геолокацию от Huawei в Android приложение
Руководство для всех кто интегрируется поддержку HMS и готовится к публикации в Huawei App Gallery. В новой части серии рассказывается об интеграции работы с местоположением
Встраиваем геолокацию от Huawei в Android приложение
Руководство для всех кто интегрируется поддержку HMS и готовится к публикации в Huawei App Gallery. В новой части серии рассказывается об интеграции работы с местоположением
Хабр
Встраиваем геолокацию от Huawei в Android приложение
В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. И использовали анали...
#AndroidAuto
Introducing the Android for Cars App Library
Google открывает возможность создавать сторонние приложения для Android Auto. Библиотека для разработки вышла в открытую beta. Разрабатывать приложения можно в 3 категориях: навигация, парковки и приложения для зарядки электромобилей.
Introducing the Android for Cars App Library
Google открывает возможность создавать сторонние приложения для Android Auto. Библиотека для разработки вышла в открытую beta. Разрабатывать приложения можно в 3 категориях: навигация, парковки и приложения для зарядки электромобилей.
Android Developers Blog
Introducing the Android for Cars App Library
News and insights on the Android platform, developer tools, and events.
#Conference #Online
GDG DevFest Ukraine 2020 состоится уже в это воскресенье, 18 октября.
Будут выступать спикеры с Google, Microsoft, Atlassian и других компаний. Вас ждут актуальные темы по Web, Cloud, Android, Kotlin и Flutter. Также будет много развлечений 🔥
GDG DevFest Ukraine 2020 состоится уже в это воскресенье, 18 октября.
Будут выступать спикеры с Google, Microsoft, Atlassian и других компаний. Вас ждут актуальные темы по Web, Cloud, Android, Kotlin и Flutter. Также будет много развлечений 🔥
#Koin #DependencyInjection
What’s next with Koin? — 2.2 & 3.0 releases
Koin - одно из популярных решений для DI для проектов на Kotlin. По сравнению с Dagger он убрал долгую компиляцию, упростил объявление зависимостей, но потерял проверку графа во время компиляции.
Совсем скоро выйдет релиз 2.2 этой библиотеки в которой будет:
👉
👉 Поддержка
👉 Поддержка Jetpack Compose
👉 Более простой способ описания Android Scope-ов
👉 Проведены работы под капотом: создать объект Koin Context становится проще
👉 Возможность положить параметр, который inject-ится в зависимость, в граф. По аналогии с
👉 Поддержка JUnit 5
В Koin 3.0 нас ждет поддержка Kotlin Multiplatform
What’s next with Koin? — 2.2 & 3.0 releases
Koin - одно из популярных решений для DI для проектов на Kotlin. По сравнению с Dagger он убрал долгую компиляцию, упростил объявление зависимостей, но потерял проверку графа во время компиляции.
Совсем скоро выйдет релиз 2.2 этой библиотеки в которой будет:
👉
stateViewModel()
и viewModel()
буду заменены на viewModel()
👉 Поддержка
WorkManager
👉 Поддержка Jetpack Compose
👉 Более простой способ описания Android Scope-ов
👉 Проведены работы под капотом: создать объект Koin Context становится проще
👉 Возможность положить параметр, который inject-ится в зависимость, в граф. По аналогии с
StateHandleBundle
👉 Поддержка JUnit 5
В Koin 3.0 нас ждет поддержка Kotlin Multiplatform
Medium
What’s next with Koin? — 2.2 & 3.0 releases
Hi Koin users 👋, Koin 2.2.0 is almost there. This new milestone brings better stability, some API rework and also, helps you inject Work…
#Architecture #JetPack
Navigation Component: An Overview
Повторение - мать учения. Нам вновь рассказывают о возможностях этого компонента и как он может решить навигацию в вашем проекте. Это неправда, но тем кто еще не знает - рекомендую узнать базис
Navigation Component: An Overview
Повторение - мать учения. Нам вновь рассказывают о возможностях этого компонента и как он может решить навигацию в вашем проекте. Это неправда, но тем кто еще не знает - рекомендую узнать базис
Medium
Navigation Component: An Overview
In which I introduce some fundamental concepts of the Navigation component tool and APIs
#Architecture #JetPack
Navigating to Dialog Destinations
Развитие темы в котором говорят уже о навигации в диалоги
Navigating to Dialog Destinations
Развитие темы в котором говорят уже о навигации в диалоги
Medium
Navigating to Dialog Destinations
Navigation component isn’t limited to destinations inside of NavHostFragment
#JetPack #Navigation
AndroidX Navigation: Building on the Wrong Abstraction
JetPack Navigation получилась не самой удачной библиотекой, так как не решает эффективно задачи навигации в проектах среднего и большого объема. Особенно где есть многомодульность.
В статье разбирается альтернативный взгляд на навигацию в коде с помощью аннотаций
AndroidX Navigation: Building on the Wrong Abstraction
JetPack Navigation получилась не самой удачной библиотекой, так как не решает эффективно задачи навигации в проектах среднего и большого объема. Особенно где есть многомодульность.
В статье разбирается альтернативный взгляд на навигацию в коде с помощью аннотаций
Medium
AndroidX Navigation: Building on the Wrong Abstraction
I recently read an article by Jesse Wilson titled “Building on the Wrong Abstraction”. If you haven’t read the article already, I would…
Избегайте внедрения внешних библиотек в свой проект
Все мы используем библиотеки с целью чтобы сократить время на разработку, переложив усилия на поддержку их на других разработчиков. Всегда ли оправдан такой подход? Могут ли быть в нем проблемы?
В статье автор рассматривает потенциальные проблемы интеграции сторонних библиотек:
👉 Негативный эффект на размер приложения
👉 Усложнения проекта (автор приводит в пример EventBus)
👉 Сложность погружения в библиотеку для существующих и новых разработчиков в компании
👉 Эффект на скорость сборки
👉 Баги, которые не дают использовать либу, и которые не исправляются
👉 Уязвимости в библиотеках, которые позволят злоумышленникам воспользоваться ими и получить доступ к данным
👉 Доверие разработчику и гарантии поддержки библиотеки
👉 Библиотека проникает во все слои кода (RxJava)
👉 Накладываемый ограничения на код из-за библиотеки
В конце автор добавляет хороший список вопрос, для того чтобы проанализировать стоит ли добавить библиотеку в ваш проект
Все мы используем библиотеки с целью чтобы сократить время на разработку, переложив усилия на поддержку их на других разработчиков. Всегда ли оправдан такой подход? Могут ли быть в нем проблемы?
В статье автор рассматривает потенциальные проблемы интеграции сторонних библиотек:
👉 Негативный эффект на размер приложения
👉 Усложнения проекта (автор приводит в пример EventBus)
👉 Сложность погружения в библиотеку для существующих и новых разработчиков в компании
👉 Эффект на скорость сборки
👉 Баги, которые не дают использовать либу, и которые не исправляются
👉 Уязвимости в библиотеках, которые позволят злоумышленникам воспользоваться ими и получить доступ к данным
👉 Доверие разработчику и гарантии поддержки библиотеки
👉 Библиотека проникает во все слои кода (RxJava)
👉 Накладываемый ограничения на код из-за библиотеки
В конце автор добавляет хороший список вопрос, для того чтобы проанализировать стоит ли добавить библиотеку в ваш проект
Хабр
Избегайте внедрения внешних библиотек в свой проект
Часто можно услышать фразу: «Зачем писать свой велосипед? Возьми готовую либу и пользуйся! За тебя уже все написали». Особенно часто подобные выражения слышат на...
#GooglePlay
Developer tips and guides: Common policy violations and how you can avoid them
Насколько хорошо вы знаете политики Google Play? Я ими никогда не запаривался, но те кто сталкивался мог запомнить надолго. Разработчики Google Play решили поделиться нарушениями основных политик:
👉 Ссылки на другие приложения в Google Play из
👉 Наличие слов в описании приложения, которые не относятся к вашему приложению, но добавляются туда ради улучшения поисковой выдачи
👉 Неподдерживаемые приложения в аккаунте разработчики, которые лучше отключить
👉 Приложения, которые содержат только WebView, предназначенные для перенаправления трафика на сайт запрещены к публикации
Подробно узнать обо всех политиках можно в Play Developer Policy Center, также рекомендуется пройти специальный тренинг Google Play Academy
Developer tips and guides: Common policy violations and how you can avoid them
Насколько хорошо вы знаете политики Google Play? Я ими никогда не запаривался, но те кто сталкивался мог запомнить надолго. Разработчики Google Play решили поделиться нарушениями основных политик:
👉 Ссылки на другие приложения в Google Play из
👉 Наличие слов в описании приложения, которые не относятся к вашему приложению, но добавляются туда ради улучшения поисковой выдачи
👉 Неподдерживаемые приложения в аккаунте разработчики, которые лучше отключить
👉 Приложения, которые содержат только WebView, предназначенные для перенаправления трафика на сайт запрещены к публикации
Подробно узнать обо всех политиках можно в Play Developer Policy Center, также рекомендуется пройти специальный тренинг Google Play Academy
Android Developers Blog
Developer tips and guides: Common policy violations and how you can avoid them
News and insights on the Android platform, developer tools, and events.
Что используете в Unit тестах больше?
Anonymous Poll
41%
Mock
5%
Stub
9%
В чем разница?
36%
Не пишу тесты
10%
Не участвую в опросе
#Kotlin
Слышали о Kotlin Android Extensions? На оф сайте уже не найти информации о них, а в Kotlin 1.4.20 этот плагина будет помечен как deprecated.
Рекомендуют мигрировать на View Binding. Чтобы было проще использовать его - рекомендую мою библиотеку ViewBindingPropertyDelegate
Слышали о Kotlin Android Extensions? На оф сайте уже не найти информации о них, а в Kotlin 1.4.20 этот плагина будет помечен как deprecated.
Рекомендуют мигрировать на View Binding. Чтобы было проще использовать его - рекомендую мою библиотеку ViewBindingPropertyDelegate
#Testing
Паттерн PageObject в Kotlin для UI-тестирования Android
PageObject - это подход, который давно использовался в тестирование за пределами Android, но в платформе от Google стал адаптироваться не так давно.
В статье рассматривается этот подход, его плюсы и как его реализовать
Паттерн PageObject в Kotlin для UI-тестирования Android
PageObject - это подход, который давно использовался в тестирование за пределами Android, но в платформе от Google стал адаптироваться не так давно.
В статье рассматривается этот подход, его плюсы и как его реализовать
Хабр
Паттерн PageObject в Kotlin для UI-тестирования Android
Это перевод статьи ведущего Android & iOS разработчика Yahoo (Verizon Media) Брама Йе. Он рассказывает о внедрении паттерна PageObject в свои инструментальные тесты, который делает их более...
#Architecture
Создание SDK под Android в стиле Single-Activity
Описание подхода разработки SDK в котором отказываются от Activity как точки входа в SDK и смещают точки входа в Fragment. В статье освещаются плюсы и минусы такого подхода, как использовать Dagger в таком SDK и др. особенности
Создание SDK под Android в стиле Single-Activity
Описание подхода разработки SDK в котором отказываются от Activity как точки входа в SDK и смещают точки входа в Fragment. В статье освещаются плюсы и минусы такого подхода, как использовать Dagger в таком SDK и др. особенности
Хабр
Создание SDK под Android в стиле Single-Activity
Single activity подходом при создании конечного приложения под Android никого не удивишь. Но мы пошли дальше и использовали No-Activity при разработке SDK. Сейча...