#AndroidAcademy #Minsk
Сегодня, 9 сентября состоится очередная лекция курса Android Academy Minsk - Android Fundamentals #1 : Hello world. В лекции вы узнаете
👉 Как создать простой Android проект
👉 Базисы работы с ресурсами
👉 Немного о
Сегодня, 9 сентября состоится очередная лекция курса Android Academy Minsk - Android Fundamentals #1 : Hello world. В лекции вы узнаете
👉 Как создать простой Android проект
👉 Базисы работы с ресурсами
👉 Немного о
Context
и Activity
#Android10 #Security
Project Mainline в Android 10
Обновление устройств и их поддержка - это большая проблема Android. Если вы купили телефон флагман, вы столкнётесь с такой проблемой меньше, но все равно столкнётесь. Купив в этом году Galaxy S10 вы не получите обновления также быстро после выхода Galaxy S11, так как компании нужно продавать свежий флагман. На дешевые телефон компании забивают еще раньше 😔 + этому не способствовал сам Android, так как его ядро было большим монолитом.
Google стала решать эту проблему -
В статье разбираются детали работы «Project Mainline»
Project Mainline в Android 10
Обновление устройств и их поддержка - это большая проблема Android. Если вы купили телефон флагман, вы столкнётесь с такой проблемой меньше, но все равно столкнётесь. Купив в этом году Galaxy S10 вы не получите обновления также быстро после выхода Galaxy S11, так как компании нужно продавать свежий флагман. На дешевые телефон компании забивают еще раньше 😔 + этому не способствовал сам Android, так как его ядро было большим монолитом.
Google стала решать эту проблему -
«Project Treble»
в Android 8 и потом «Project Mainline»
в Android 10. Первый разделил ядро ОС на слои, отделив работу с железом в отдельный слой, а второй - позволяет обновлять наиболее критичные компоненты без необходимости перезагрузки устройства и обновления прошивки, аналогично приложениям Google Play.В статье разбираются детали работы «Project Mainline»
Хабр
Project Mainline в Android 10
Вчера вышло очередное обновление ОС для мобильных устройств от Google. Одним из главных нововведений Android 10 стал «Project Mainline». Попробую разобраться что это, для чего и как работает. В...
#ArchitectureComponents #LiveData #Location
Android Tutorial On Location Update With LiveData
Гайд по интеграции Fused Location Provider и
Android Tutorial On Location Update With LiveData
Гайд по интеграции Fused Location Provider и
LiveData
, чтобы получать обновления геопозиции красиво с использованием Architecture ComponentsMedium
Android Tutorial On Location Update With LiveData
In this tutorial, I will introduce you to how to implement continuous location update with Android architecture components and Google…
#Kotlin
Unit, Nothing, Any (and null)
Kotlin имеет систему типов отличную от Java - есть понятия nullable типов и специальные типы
Unit, Nothing, Any (and null)
Kotlin имеет систему типов отличную от Java - есть понятия nullable типов и специальные типы
Any
, Nothing
и Unit
. За что эти типы отвечают, в каких ситуациях применяются и чем отличаются - вы найдете в статье.Medium
[Kotlin Pearls 7] Unit, Nothing, Any (and null)
How to take advantage of Kotlin special Types
Хотитет узнать больше интересного о системе типов в Kotlin? Рекомендую почитать статью от Marcin Moskala "The beauty of Kotlin typing system"
Medium
The beauty of Kotlin typing system
Many amazing Kotlin features are just a result of its amazingly designed type system. See how all those pieces perfectly fit together.
#Architecture #BestPractices
The “Real” Repository Pattern in Android
Repository - это довольно популярный шаблон проектирования, позволяющий инкапсулировать получение/хранение данных из различных источников: сервер, БД, хранилища на устройстве и пр.
Шаблон проектирования - это рекомендация и общее описание компонентов и их отношений между ними, поэтому зачастую разработчики делают реализацию по разному и не всегда хорошо.
Наиболее популярные ошибки, которые допускают пользователи:
👉
👉 Различные несвязанные между собой DataSource используются одни и те же DTO
👉 Repository реализуется по на основе endpoint-ов, а не на основе модели
👉 Repository кэширует всю модель, даже те поля, которые всегда должны быть свежими
👉 DataSource используется более чем одним Repository
В статье разбираются эти лучшие практики по реализации и почему им стоит следовать
The “Real” Repository Pattern in Android
Repository - это довольно популярный шаблон проектирования, позволяющий инкапсулировать получение/хранение данных из различных источников: сервер, БД, хранилища на устройстве и пр.
Шаблон проектирования - это рекомендация и общее описание компонентов и их отношений между ними, поэтому зачастую разработчики делают реализацию по разному и не всегда хорошо.
Наиболее популярные ошибки, которые допускают пользователи:
👉
Repository
возвращает DTO (модели источников данных, которые используются источниками данных в нем) а не модели Domain слоя👉 Различные несвязанные между собой DataSource используются одни и те же DTO
👉 Repository реализуется по на основе endpoint-ов, а не на основе модели
👉 Repository кэширует всю модель, даже те поля, которые всегда должны быть свежими
👉 DataSource используется более чем одним Repository
В статье разбираются эти лучшие практики по реализации и почему им стоит следовать
Medium
The “Real” Repository Pattern in Android
Over the years I’ve seen many implementations of the repository pattern, yet I think most of them are wrong and not beneficial.
#Testing
Android UI Testing Frameworks
Сравнение различных тестовых фреймворков для UI на Android. В ходе сравнения производится сравнения реализации одного тестового сценария на разных фреймворках:
👉 Appium
👉 Espresso
👉 UI Automator
Android UI Testing Frameworks
Сравнение различных тестовых фреймворков для UI на Android. В ходе сравнения производится сравнения реализации одного тестового сценария на разных фреймворках:
👉 Appium
👉 Espresso
👉 UI Automator
Medium
Android UI Testing Frameworks
Testing is an essential part of the software development process and product release. Often, there is a situation when there are two…
#Java
Jabel - unlock Javac 12+ syntax when targeting Java 8
Все еще боретесь за права Java и не признаёте Kotlin? Пока Android команда молчит о добавление поддержке возможностей из свежих версий Java, проект Jabel может вас порадовать. Автор занимается тем чтобы использовать такие новинки Java 12+ на Java 9 как:
👉 var
👉 Type inference
👉 switch expression
👉 много другого менее интересного
Jabel - unlock Javac 12+ syntax when targeting Java 8
Все еще боретесь за права Java и не признаёте Kotlin? Пока Android команда молчит о добавление поддержке возможностей из свежих версий Java, проект Jabel может вас порадовать. Автор занимается тем чтобы использовать такие новинки Java 12+ на Java 9 как:
👉 var
👉 Type inference
👉 switch expression
👉 много другого менее интересного
GitHub
GitHub - bsideup/jabel: Jabel - unlock Javac 9+ syntax when targeting Java 8
Jabel - unlock Javac 9+ syntax when targeting Java 8 - bsideup/jabel
#ViewBinding
В Android Studio добавили View Binding
В Android Studio 3.6. Canary 11 добавили поддержку
Наконец-то появилась альтернатива Butter Knife и Kotlin Android Extensions.
В Android Studio добавили View Binding
В Android Studio 3.6. Canary 11 добавили поддержку
View Binding
. View Binding
- это легкая замена Data Binding, котороя содержит только ссылки на View из ваших layout ресурсов.Наконец-то появилась альтернатива Butter Knife и Kotlin Android Extensions.
#JakeWharton
Вышел Butter Knife 10.2.0
Вышла новая версия библиотеки Butter Knife, в которой реализована поддержка инкрементального процессинга аннотаций, а также теперь поддерживается только Android Gradle Plugin версии 3.3 и выше
Вышел Butter Knife 10.2.0
Вышла новая версия библиотеки Butter Knife, в которой реализована поддержка инкрементального процессинга аннотаций, а также теперь поддерживается только Android Gradle Plugin версии 3.3 и выше
GitHub
butterknife/CHANGELOG.md at master · JakeWharton/butterknife
Bind Android views and callbacks to fields and methods. - butterknife/CHANGELOG.md at master · JakeWharton/butterknife
Что вы используете для получения ссылок на view в Android?
Final Results
16%
findViewById()
4%
Butter Knife
1%
Kotter Knife
11%
Android DataBindings
2%
View Bindings (появилось в AS 3.6 Canary 11)
60%
Kotlin Android Extensions
3%
Пишу UI в коде и не нужно ничего искать
2%
Собственное решение
1%
Не работаю с UI
#JakeWharton #ViewBinding
Важная новость которую я пропустил в посте и Butter Knife 10.2.0 - Jake рекомендует мигрировать на View Binding т.к. разработка Butter Knife останавливается
Важная новость которую я пропустил в посте и Butter Knife 10.2.0 - Jake рекомендует мигрировать на View Binding т.к. разработка Butter Knife останавливается
#Multiplatform #ReactiveX #Kotlin
Вышел Reaktive 1.0.0-rc2
Ребята из Badoo не останавливаются и продолжают развивать свою библиотеку Reaktive - ReactiveX на чистом Kotlin причем еще и Multiplatform. В новой версии произошли следующие изменения:
👉 Переход на Kotlin 1.3.50
👉 Новый оператор threadLocal()
👉 Thread local subscriptions
👉 Новые операторы
👉 Исправление багов и больше стабильности
👉 Добвлен MPP модуль с примером
Ждем не дождемся стабильного релиза!
Вышел Reaktive 1.0.0-rc2
Ребята из Badoo не останавливаются и продолжают развивать свою библиотеку Reaktive - ReactiveX на чистом Kotlin причем еще и Multiplatform. В новой версии произошли следующие изменения:
👉 Переход на Kotlin 1.3.50
👉 Новый оператор threadLocal()
👉 Thread local subscriptions
👉 Новые операторы
👉 Исправление багов и больше стабильности
👉 Добвлен MPP модуль с примером
Ждем не дождемся стабильного релиза!
GitHub
Release 1.0.0-rc2 · badoo/Reaktive
Kotlin 1.3.50
New threadLocal() operator and thread local subscriptions
More operators
Bug fixes
More tests
Added sample MPP module, reused in all sample apps, MVI architecture
Linux sample app now...
New threadLocal() operator and thread local subscriptions
More operators
Bug fixes
More tests
Added sample MPP module, reused in all sample apps, MVI architecture
Linux sample app now...
"Reaktive: реактивное программирование в Kotlin Multiplatform" - Аркадий Иванов@Badoo
Уже доступно видео с конференции Kotlin/Everywhere Minsk, где один из создателей библиотеки рассказывает более подробно о ней.
Уже доступно видео с конференции Kotlin/Everywhere Minsk, где один из создателей библиотеки рассказывает более подробно о ней.
#JavaScript #V8
A lighter V8
Для всех кто исполняет JS код у себя в приложения (я это не разделяю, но есть legacy порой). V8 Lite - это проект направленный на сокращения потребления памяти на слабых устройствах. В некоторых оптимизациях в жертву была отдана скорость выполнения.
В статье рассказывается о том, что из себя представляет новый режим V8, какие есть оптимизации, сравнение V8 и V8 Lite и результаты работы.
A lighter V8
Для всех кто исполняет JS код у себя в приложения (я это не разделяю, но есть legacy порой). V8 Lite - это проект направленный на сокращения потребления памяти на слабых устройствах. В некоторых оптимизациях в жертву была отдана скорость выполнения.
В статье рассказывается о том, что из себя представляет новый режим V8, какие есть оптимизации, сравнение V8 и V8 Lite и результаты работы.
v8.dev
A lighter V8 · V8
The V8 Lite project dramatically reduced the memory overhead of V8 on typical websites, this is how we did it.
Всем привет! Сегодня 256-ой день в году, а это значит, что сегодня важный праздник для большинства подписчиков канала - День Программиста. Я желаю вас всего самого наилучшего: чистой архитектуры проектов, быстрой сборки, отсутствия багов, интересного стека технологий, задач и достижения невероятных высот вашими приложениями.
Спасибо всем вам, что вы читаете новости. Очень приятно понимать, что то что ты делаешь кому-то нужно и помогает. Хороших всем выходных!
Спасибо всем вам, что вы читаете новости. Очень приятно понимать, что то что ты делаешь кому-то нужно и помогает. Хороших всем выходных!
#Conference
Три в ряд: топ-10 докладов Mobius 2019 Piter
Появились записи докладов с последнего Mobius, который прошёл в мае 2019 в Санкт-Петербурге. Топовым докладом стал рассказ Дениса Неклюдова о архитектуре в Lyft. Также рекомендую обратить внимание на доклад Степана Гончарова об оптимизации Gradle сборки.
К сожалению, мой доклад «Coroutining Android Apps» не попал в топ 10, но вы сможете найти там полезные советы как использовать Coroutine эффективнее и правильнее в своих Android проектах.
Три в ряд: топ-10 докладов Mobius 2019 Piter
Появились записи докладов с последнего Mobius, который прошёл в мае 2019 в Санкт-Петербурге. Топовым докладом стал рассказ Дениса Неклюдова о архитектуре в Lyft. Также рекомендую обратить внимание на доклад Степана Гончарова об оптимизации Gradle сборки.
К сожалению, мой доклад «Coroutining Android Apps» не попал в топ 10, но вы сможете найти там полезные советы как использовать Coroutine эффективнее и правильнее в своих Android проектах.
Хабр
Три в ряд: топ-10 докладов Mobius 2019 Piter
В День программиста делимся с мобильными разработчиками подборкой отличных докладов! В мае в Петербурге прошла конференция Mobius, а теперь мы опубликовали её видеозаписи — и для Хабра сделали...
#KotlinEverywhere #Minsk #Kotlin
7 сентября в Минск прошла конференция Kotlin/Everywhere Minsk. Уже стали доступны записи практически всех докладов. Почему практически всех? Нам необходимо получить одобрение всех спикеров на публикацию, поэтому нужно время.
7 сентября в Минск прошла конференция Kotlin/Everywhere Minsk. Уже стали доступны записи практически всех докладов. Почему практически всех? Нам необходимо получить одобрение всех спикеров на публикацию, поэтому нужно время.
#Gradle #Kotlin #DSL
Converting your Android Gradle scripts to Kotlin
Недавно я перевел в одном из проектов Gradle на Kotlin DSL. И вам скажу мне очень зашло. Что изменилось:
➕Появилось нормальное автодополнение в IDE
➕Ошибки в скриптах можно получить до запуска сборки
➕Избавление от Groovy, так как он использовался только для Gradle скриптов и теперь у меня один язык везде - Kotlin
➖увеличилось время инициализации
➖Пришлось переписать часть скриптов
➖Некоторые вызовы которе легко делаются в Groovy, выглядят странным в Kotlin (но это улучшается с каждым релизом)
Хотите попробовать тоже самое в своих проекта? Тогда читайте больше подробностей в статье как это сделать
Converting your Android Gradle scripts to Kotlin
Недавно я перевел в одном из проектов Gradle на Kotlin DSL. И вам скажу мне очень зашло. Что изменилось:
➕Появилось нормальное автодополнение в IDE
➕Ошибки в скриптах можно получить до запуска сборки
➕Избавление от Groovy, так как он использовался только для Gradle скриптов и теперь у меня один язык везде - Kotlin
➖увеличилось время инициализации
➖Пришлось переписать часть скриптов
➖Некоторые вызовы которе легко делаются в Groovy, выглядят странным в Kotlin (но это улучшается с каждым релизом)
Хотите попробовать тоже самое в своих проекта? Тогда читайте больше подробностей в статье как это сделать
Medium
Converting your Android Gradle scripts to Kotlin
Using the same language throughout your whole project can further streamline and speed up your development process. With the stable…