#WorkManager #ArchitectureComponents
https://developer.android.com/jetpack/docs/release-notes#december_19_2018
Под новый год Google радует нас подарками - вышел первый beta релиз WorkManager. Так что можно начинать интегрировать его в ваши приложения: API меняться не будет, за исключением критических багов, да и за последние 6 месяцев там было проделано много работы, как результат - библиотека уже стабильна.
https://developer.android.com/jetpack/docs/release-notes#december_19_2018
Под новый год Google радует нас подарками - вышел первый beta релиз WorkManager. Так что можно начинать интегрировать его в ваши приложения: API меняться не будет, за исключением критических багов, да и за последние 6 месяцев там было проделано много работы, как результат - библиотека уже стабильна.
#R8 #Optimization #Kotlin
"R8 Optimization: Null Data Flow Analysis" by Jake Warton|Google
Продолжение статей о том какие оптимизации выполняются в R8. В новой статье вы узнаете о том как оптимизируется работа с null.
"R8 Optimization: Null Data Flow Analysis" by Jake Warton|Google
Продолжение статей о том какие оптимизации выполняются в R8. В новой статье вы узнаете о том как оптимизируется работа с null.
Jake Wharton
R8 Optimization: Null Data Flow Analysis (Part 1) – Jake Wharton
#GooglePlay
"За что Android-разработчики ненавидят Google" от Евгения Трифонова
Рассказ о том что автоматизация процессов не есть всегда хорошо на примере удаления приложений из Google Play и того какие муки проходят разработчики, чтобы восстановить свои приложения там.
"За что Android-разработчики ненавидят Google" от Евгения Трифонова
Рассказ о том что автоматизация процессов не есть всегда хорошо на примере удаления приложений из Google Play и того какие муки проходят разработчики, чтобы восстановить свои приложения там.
Хабр
За что Android-разработчики ненавидят Google
Если посмотреть на мир Android, с первого взгляда кажется, что между разработчиками приложений и Google царят мир-дружба-жвачка. Компания поддержала любовь раз...
#GooglePlay
"Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store" от Skillbox
История о том как ребята решили создать модель предсказания рейтинга приложения, на основе чего выводили данные и что из этого вышло.
Результат исследований - делайте игру в категорию "Семейные" для всех возрастов 😁
"Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store" от Skillbox
История о том как ребята решили создать модель предсказания рейтинга приложения, на основе чего выводили данные и что из этого вышло.
Результат исследований - делайте игру в категорию "Семейные" для всех возрастов 😁
Хабр
Создаем инструменты для глубокого анализа рейтинга приложений в Google Play Store
От переводчика: сегодня публикуем для вас совместную статью трех разработчиков, Akaash Chikarmane, Erte Bablu и Nikhil Gaur, в которой рассказывается о методе...
В последнее время на канале я стал писать о Flutter на канале, так как это тема стала интересной в сообществе. Я хочу узнать ваше мнение о контенте по Flutter. За обсуждением предлагаю перейти в @android_broadcast_discussions.
anonymous poll
За Flutter – 30
👍👍👍👍👍👍👍 54%
Только Android SDK – 18
👍👍👍👍 32%
Без разницы – 8
👍👍 14%
👥 56 people voted so far. Poll closed.
anonymous poll
За Flutter – 30
👍👍👍👍👍👍👍 54%
Только Android SDK – 18
👍👍👍👍 32%
Без разницы – 8
👍👍 14%
👥 56 people voted so far. Poll closed.
#Kotlin #Dart #Flutter
"From Kotlin to Dart — an Android developer’s perspective" от Łukasz Wasylkowski|Tooploox
Flutter создает все больше хайпа в мире мобильной разработки, но один из самых популярных вопросов в сообществе - "Почему Dart?". В ответе на это даже есть целый развернутый ответ на FAQ Flutter. С другой стороны, я как Android разработчик уже давно наслаждаюсь всеми возможностями Kotlin и отсутсвие какого-то функционала в Dart меня смутило, например extension функций, null safety, sealed классов и прочего. В статье вы найдете сравнение Dart и Kotlin.
Я очень надеюсь, что появится поддержка Kotlin/Dart, JetBrains услышьте призыв!
"From Kotlin to Dart — an Android developer’s perspective" от Łukasz Wasylkowski|Tooploox
Flutter создает все больше хайпа в мире мобильной разработки, но один из самых популярных вопросов в сообществе - "Почему Dart?". В ответе на это даже есть целый развернутый ответ на FAQ Flutter. С другой стороны, я как Android разработчик уже давно наслаждаюсь всеми возможностями Kotlin и отсутсвие какого-то функционала в Dart меня смутило, например extension функций, null safety, sealed классов и прочего. В статье вы найдете сравнение Dart и Kotlin.
Я очень надеюсь, что появится поддержка Kotlin/Dart, JetBrains услышьте призыв!
Medium
From Kotlin to Dart — an Android developer’s perspective
How does Dart compare to Kotlin for Android development?
#Kotlin #Coroutines #LibUpdates
KotlinX.Coroutines 1.1.0 Released
Вышла новая версия библиотеки корутин. Апдейт направлен на улучшения дебага, производительности и стабильности корутин, а именно было сделано следующее:
👉 Читабельные стектрейсы корутин 🎉 - используйте системное свойство kotlinx.coroutines.debug
👉 Новый модуль kotlinx-coroutines-debug 🎉 - теперь можно получить дамп работы корутины
👉 Новый модуль kotlinx-coroutines-test 🎉 - тестировать становится удобнее, появилась функция Dispatchers.setMain() для подмены Dispatchers.Main в тестах
👉 Dispatchers.Default теперь потребляет меньше CPU ресурсов в JVM
👉 MainScope() и CoroutineScope.cancel() позволят вам в 1 строку создавать CoroutineContext для корутин
👉 Корутины теперь собираются в progressive режиме
👉 Множество других улучшений, исправлений багов и обновлений в документации
KotlinX.Coroutines 1.1.0 Released
Вышла новая версия библиотеки корутин. Апдейт направлен на улучшения дебага, производительности и стабильности корутин, а именно было сделано следующее:
👉 Читабельные стектрейсы корутин 🎉 - используйте системное свойство kotlinx.coroutines.debug
👉 Новый модуль kotlinx-coroutines-debug 🎉 - теперь можно получить дамп работы корутины
👉 Новый модуль kotlinx-coroutines-test 🎉 - тестировать становится удобнее, появилась функция Dispatchers.setMain() для подмены Dispatchers.Main в тестах
👉 Dispatchers.Default теперь потребляет меньше CPU ресурсов в JVM
👉 MainScope() и CoroutineScope.cancel() позволят вам в 1 строку создавать CoroutineContext для корутин
👉 Корутины теперь собираются в progressive режиме
👉 Множество других улучшений, исправлений багов и обновлений в документации
GitHub
kotlinx.coroutines/CHANGES.md at master · Kotlin/kotlinx.coroutines
Library support for Kotlin coroutines . Contribute to Kotlin/kotlinx.coroutines development by creating an account on GitHub.
#Dagger #LibUpdates
Release Dagger 2.20
Вышла новая версия библиотеки Dagger 2. Нового функционала релиз не принес, но сделал много улучшения:
👉 Увеличена скорость процессинга аннотаций
👉 Улучшение валидация графа
👉 Исправление багов
👉 Удаление deprecated кода
Release Dagger 2.20
Вышла новая версия библиотеки Dagger 2. Нового функционала релиз не принес, но сделал много улучшения:
👉 Увеличена скорость процессинга аннотаций
👉 Улучшение валидация графа
👉 Исправление багов
👉 Удаление deprecated кода
GitHub
google/dagger
A fast dependency injector for Android and Java. Contribute to google/dagger development by creating an account on GitHub.
Привет! Я ухожу отпуск, чтобы набраться сил, подготовиться к реализации планов на следующий год и давать вам ещё больше интересного материала, поэтому частота выхода материалов до 2 января будет ниже чем обычно.
Желаю вам всех хороших праздников 🎄 и отдыха !
Желаю вам всех хороших праздников 🎄 и отдыха !
#ARM #Hardware
“Huawei анонсирует 7-нанометровый процессор и чип для работы с искусственным интеллектом” от Hi-News.ru
Еще 7 лет назад я плевался от качества телефонов Huawei и отговаривал всех их покупать. Не так давно я подарил своей жене P20 Pro и я не видел камеру круче, крутой градиентный корпус, высокая скорость железа, но пока подводит софт. Также Huawei сейчас делает телефоны на своём железе и умудряется неплохо зарабатывать на них! Я могу только сказать что они молодцы, и я жду когда они начнут делать устройства на Android One без кастомизации и можно будет брать 👍
Но сейчас меня компания Huawei поразила новинками - серверный процессор HiSilicon Hi1620 на основе Arm v8a, 7 нм, до 64 ядер, 2.6-3.0 ГГц, Intel Xeon берегись 😁! Помимо этого представили контроллер для SSD с искусственным интеллектом.
Самое печальное, что Intel до сих пор не может освоить 7 нм тех процесс 😔
“Huawei анонсирует 7-нанометровый процессор и чип для работы с искусственным интеллектом” от Hi-News.ru
Еще 7 лет назад я плевался от качества телефонов Huawei и отговаривал всех их покупать. Не так давно я подарил своей жене P20 Pro и я не видел камеру круче, крутой градиентный корпус, высокая скорость железа, но пока подводит софт. Также Huawei сейчас делает телефоны на своём железе и умудряется неплохо зарабатывать на них! Я могу только сказать что они молодцы, и я жду когда они начнут делать устройства на Android One без кастомизации и можно будет брать 👍
Но сейчас меня компания Huawei поразила новинками - серверный процессор HiSilicon Hi1620 на основе Arm v8a, 7 нм, до 64 ядер, 2.6-3.0 ГГц, Intel Xeon берегись 😁! Помимо этого представили контроллер для SSD с искусственным интеллектом.
Самое печальное, что Intel до сих пор не может освоить 7 нм тех процесс 😔
Яндекс Дзен
Huawei анонсирует 7-нанометровый процессор и чип для работы с искусственным интеллектом
В последние несколько дней китайская компания Huawei делает анонс за анонсом. Нам рассказали об обновленном прямом конкуренте MacBook, новом телефоне Play и желании компании попасть в книгу рекордов Гиннеса.
#Security #BestPractices
Developing Secure Android Apps от Ahmed Abd-Elmeged
Хорошая статья с обзором наиболее популярных уязвимостей в плане безопасности приложение и как их стоит избегать.
В статье вы найдете следующий рекомендации:
👉 В релиз только с Proguard или R8
👉 Доступ к любым API должен осуществляться защищено. Например, используйте API ключ.
👉 Все ключи должны храниться в защищенном месте. Например, можно хранить ключи приложения в нативном коде. Ключи, получаемый динамически, лучше хранить в KeyStore.
👉 Используйте только HTTPS!
👉 Не используйте SharedPreferences для важных данных: ключей, паролей и пр.
👉 Проверяйте что попадает в логи релизной сборки приложения
👉 Важная информация должна храниться только во внутренне хранилище. Внешнее хранилище используйте только для публичных данных, которые вы можете показать кому угодно.
👉 Не передавайте данные в Intent, напр. через Broadcast Receiver. Передача данных между приложениями должна осуществляться через ContentProvider, либо LocalBroadcastManager, для обмена данными в рамках одного приложения.
👉 WebView таит много опасностей внутри себя
👉 Обновляйте ваши зависимости
👉 Доступ к Service и ContentProvider должен осуществляться только при наличие permission
👉 Шифруйте данные на внешнем хранилище, которые вы не можете разместить на внутреннем и валидируйте перед их использованием из приложения.
👉 Старайтесь минимизировать запрос личныз данных GDPR не дремлет!
👉 Рутованные устройства могут менять поведение устройств, поэтому часть функционала на них стоит отключать.Например, вам не будут давать возможности производить оплату или использовать приложения, которые имеют высокие требования к защите.
👉 Запрашивайте как можно меньше permission.
Developing Secure Android Apps от Ahmed Abd-Elmeged
Хорошая статья с обзором наиболее популярных уязвимостей в плане безопасности приложение и как их стоит избегать.
В статье вы найдете следующий рекомендации:
👉 В релиз только с Proguard или R8
👉 Доступ к любым API должен осуществляться защищено. Например, используйте API ключ.
👉 Все ключи должны храниться в защищенном месте. Например, можно хранить ключи приложения в нативном коде. Ключи, получаемый динамически, лучше хранить в KeyStore.
👉 Используйте только HTTPS!
👉 Не используйте SharedPreferences для важных данных: ключей, паролей и пр.
👉 Проверяйте что попадает в логи релизной сборки приложения
👉 Важная информация должна храниться только во внутренне хранилище. Внешнее хранилище используйте только для публичных данных, которые вы можете показать кому угодно.
👉 Не передавайте данные в Intent, напр. через Broadcast Receiver. Передача данных между приложениями должна осуществляться через ContentProvider, либо LocalBroadcastManager, для обмена данными в рамках одного приложения.
👉 WebView таит много опасностей внутри себя
👉 Обновляйте ваши зависимости
👉 Доступ к Service и ContentProvider должен осуществляться только при наличие permission
👉 Шифруйте данные на внешнем хранилище, которые вы не можете разместить на внутреннем и валидируйте перед их использованием из приложения.
👉 Старайтесь минимизировать запрос личныз данных GDPR не дремлет!
👉 Рутованные устройства могут менять поведение устройств, поэтому часть функционала на них стоит отключать.Например, вам не будут давать возможности производить оплату или использовать приложения, которые имеют высокие требования к защите.
👉 Запрашивайте как можно меньше permission.
Medium
Developing Secure Android Apps.
I’ve been developing android apps for over 3 years now and I’m also a security enthusiast. During this journey, most of the new talks and…
#Security #BestPractices
App Security Best Practices от d.android.com
И добавка - серия статей о базовых советах по безопасности Android приложений от Google !
App Security Best Practices от d.android.com
И добавка - серия статей о базовых советах по безопасности Android приложений от Google !
#Activity #LaunchMode
The Android Launch Mode Animated CheatSheet от Todd Greenberg
Визуализация различного поведения Activity при запуске, если начнете играться с launch mode будет вам в помощь. Все сделано в анимашках и как минимум человек заслуживает 👏 в посте на Medium!
The Android Launch Mode Animated CheatSheet от Todd Greenberg
Визуализация различного поведения Activity при запуске, если начнете играться с launch mode будет вам в помощь. Все сделано в анимашках и как минимум человек заслуживает 👏 в посте на Medium!
Medium
The Android Launch Mode Animated CheatSheet
Before API 11, we used activities show every new page on the screen. Now with Fragments and the navigation tools in API 28, it’s totally…
#Library #image
Stfalcon ImageViewer
Библиотека для просмотра изображений во весь экран. Из главных особенностей:
👉 Поддержка жестов
👉 Поддержка Transition
👉 Используйте что вам больше нравится для загрузки картинок: Glide или Picasso или что-то собственное
Stfalcon ImageViewer
Библиотека для просмотра изображений во весь экран. Из главных особенностей:
👉 Поддержка жестов
👉 Поддержка Transition
👉 Используйте что вам больше нравится для загрузки картинок: Glide или Picasso или что-то собственное
GitHub
GitHub - stfalcon-studio/StfalconImageViewer: A simple and customizable Android full-screen image viewer with shared image transition…
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures - stfalcon-studi...
#Optimizatiion #Performance
Комфортная работа с Android Studio от advance
Современная Android разработка требует хорошего железа:
👉 Intel Core I3/5/7/9 с 4 физическими ядрами и более
👉 16 Гб оперативы
👉 SSD
Не у всех есть возможности приобрести такое железо, а кто-то просто фанат AMD и влюбился в Ryzen процессоры 😍.
В статье вы найдете советы по тому как оптимизировать настройки вашей ОС для более быстрой сборки.
Мне на слабеньком железе помогало следующее:
👉 Отключение индексирования в поиске
👉 Отключить антивируса
👉 Отключение шифрования диска
👉 Отключать параллельную сборку в Gradle и Daemon
👉 Поиграйтесь c настройками выделяемой памяти для Android Studio
👉 Отключайте неиспользуемые плагины в Android Studio
👉 Используйте реальные устройства, а не эмуляторы.
👉 Не открывать миллион вкладок в браузере одновременно
Учтите что на слабой машине все оптимизации которые я описал и вы найдете в статье - это компромиссы. Что-то станет работать медленнее, что-то лучше, а Android Studio хотя бы сможет завестись и давать вам работать.
Ребята из Google пообещали в Android Studio 3.4 и 3.5 потрудиться над фиксом багов, потреблением памяти и оптимизацией IDE в рамках Project Merbel.
Комфортная работа с Android Studio от advance
Современная Android разработка требует хорошего железа:
👉 Intel Core I3/5/7/9 с 4 физическими ядрами и более
👉 16 Гб оперативы
👉 SSD
Не у всех есть возможности приобрести такое железо, а кто-то просто фанат AMD и влюбился в Ryzen процессоры 😍.
В статье вы найдете советы по тому как оптимизировать настройки вашей ОС для более быстрой сборки.
Мне на слабеньком железе помогало следующее:
👉 Отключение индексирования в поиске
👉 Отключить антивируса
👉 Отключение шифрования диска
👉 Отключать параллельную сборку в Gradle и Daemon
👉 Поиграйтесь c настройками выделяемой памяти для Android Studio
👉 Отключайте неиспользуемые плагины в Android Studio
👉 Используйте реальные устройства, а не эмуляторы.
👉 Не открывать миллион вкладок в браузере одновременно
Учтите что на слабой машине все оптимизации которые я описал и вы найдете в статье - это компромиссы. Что-то станет работать медленнее, что-то лучше, а Android Studio хотя бы сможет завестись и давать вам работать.
Ребята из Google пообещали в Android Studio 3.4 и 3.5 потрудиться над фиксом багов, потреблением памяти и оптимизацией IDE в рамках Project Merbel.
Хабр
Комфортная работа с Android Studio
Всем доброго времени суток! Насколько производительно работает Android Studio? Считаете ли Вы, что она работает шустро на Вашем ПК или Mac? Или, иногда, сталкив...
#CodeQuality #AndroidLint
Letting Android Lint fix your code от Niklas Baudy
Android Lint - очень полезная тулза, которая позволяет анализировать ваш код и выводить отчет с описанием найденных в нем проблем и способов фиксов. Я уверен, что все вы с ней сталкивались внутри Android Studio, так как именно с помощью ее подсвечиваются различные ошибки в коде.
Для себя я недавно открыл, что Android Lint может не только находить ошибки, но и исправлять их самостоятельно 😮. Для этого есть специальный Gradle task - lintFix. Авторы собственных правил могут интегрироваться с этим API. В статье вы найдете все подробности.
Letting Android Lint fix your code от Niklas Baudy
Android Lint - очень полезная тулза, которая позволяет анализировать ваш код и выводить отчет с описанием найденных в нем проблем и способов фиксов. Я уверен, что все вы с ней сталкивались внутри Android Studio, так как именно с помощью ее подсвечиваются различные ошибки в коде.
Для себя я недавно открыл, что Android Lint может не только находить ошибки, но и исправлять их самостоятельно 😮. Для этого есть специальный Gradle task - lintFix. Авторы собственных правил могут интегрироваться с этим API. В статье вы найдете все подробности.
Medium
Letting Android Lint fix your code
Android Lint is deeply integrated into Android Studio. Issues that are reported will be highlighted either as warnings or errors.
#Kotlin #VisibilityModifiers
Kotlin for Android Developers: Visibility Modifiers от Pablo Costa
Kotlin старается собрать в себе все лучшие практики от опыта разработчиков в Java и других языков. Например множество принципов из книги "Effective Java" от Joshua Bloch были сразу заложены в архитектуре языка.
Одно из важных изменений в Kotlin - модификаторы видимости, заменившие собой модификаторы доступа из Java (access modifiers).
Для всех кто хочет узнать подробнее о них рекомендую читать статью!
Kotlin for Android Developers: Visibility Modifiers от Pablo Costa
Kotlin старается собрать в себе все лучшие практики от опыта разработчиков в Java и других языков. Например множество принципов из книги "Effective Java" от Joshua Bloch были сразу заложены в архитектуре языка.
Одно из важных изменений в Kotlin - модификаторы видимости, заменившие собой модификаторы доступа из Java (access modifiers).
Для всех кто хочет узнать подробнее о них рекомендую читать статью!
Medium
Kotlin for Android Developers: Visibility Modifiers
From Java to Kotlin
#Kotlin #DSL #Architecture
Creating Kotlin DSLs от Wolfram Rittmeyer
DSL довольно удобный формат для описания конфигурация. Kotlin также дает возможность построения своего DSL, так что вы можете интегрировать его себе в свой код, Я решал с помощью DSL задачи по откажу от Builder: диалоги, NotificationCompat.Builder. В статье вы найдете как сделать свой DSL и стоит ли овчинка выделки.
Creating Kotlin DSLs от Wolfram Rittmeyer
DSL довольно удобный формат для описания конфигурация. Kotlin также дает возможность построения своего DSL, так что вы можете интегрировать его себе в свой код, Я решал с помощью DSL задачи по откажу от Builder: диалоги, NotificationCompat.Builder. В статье вы найдете как сделать свой DSL и стоит ли овчинка выделки.
Grokking Android
Creating Kotlin DSLs
With Kotlin DSLs you can write clear and understandable code. This post details of what Kotlin concepts they are made of and shows how to design them.