#Kotlin
Вышел Kotlin 1.3.40
Новинки минорного обновления языка:
👉 Новая система type inference развивается. В будущем она заменит текущую, но уже сейчас ее можно попробовать в IDE
👉 Новые функции для кодирования/декодирования строк в UTF-8
👉 Добавлена поддержка сторонних nullability аннотаций. Только в IDE 😞
👉 Появилась возможность получения
👉Оптимизированы
👉 Улучшения в Multiplatform Project
👉 Улучшения в Kotlin/JS
👉 Улучшения в Kotlin/Native
👉 Исправление багов
Вышел Kotlin 1.3.40
Новинки минорного обновления языка:
👉 Новая система type inference развивается. В будущем она заменит текущую, но уже сейчас ее можно попробовать в IDE
👉 Новые функции для кодирования/декодирования строк в UTF-8
👉 Добавлена поддержка сторонних nullability аннотаций. Только в IDE 😞
👉 Появилась возможность получения
reified типа с помощью рефлексии на JVM. Используйте функцию typeOf()👉Оптимизированы
trimIndent() и trimMargin(). Теперь для строковых констант они выполняются во время компиляции, а не во время выполнения кода.👉 Улучшения в Multiplatform Project
👉 Улучшения в Kotlin/JS
👉 Улучшения в Kotlin/Native
👉 Исправление багов
The JetBrains Blog
Kotlin 1.3.40 released | The Kotlin Blog
We’re happy to present the new release today, Kotlin 1.3.40. In addition to the quality and tooling improvements the main focus for this version has been on: Gradle support for NPM, Yarn, and Webpa
#Room #ORM #AcrhitectureComponents
Migrating to Room in the real world — Part 1
Новые технологии появляются постоянно: Kotlin приходит на смену Java, корутины заменяют Rx, Architecture Components активнее используются для построения архитектуры приложения. Каково быть если ваш проект имеет большое количество legacy кода и вы уже работаете со старыми технологиями, но хотите мигрировать?
Ребята из Blinkist делятся своим опытом миграции с работы с SQLite на основе ContentValues и простой обертки Cupboard на Room.
Migrating to Room in the real world — Part 1
Новые технологии появляются постоянно: Kotlin приходит на смену Java, корутины заменяют Rx, Architecture Components активнее используются для построения архитектуры приложения. Каково быть если ваш проект имеет большое количество legacy кода и вы уже работаете со старыми технологиями, но хотите мигрировать?
Ребята из Blinkist делятся своим опытом миграции с работы с SQLite на основе ContentValues и простой обертки Cupboard на Room.
Medium
Migrating to Room in the real world — Part 1
Analysis and planning.
#Kotlin
[Kotlin pearls 6] Extensions: The Good, The Bad and The Ugly
Kotlin
В статье происходит разбор этой функции языка, как она работает под капотом и случаи когда ее стоит использовать, а когда нет.
[Kotlin pearls 6] Extensions: The Good, The Bad and The Ugly
Kotlin
extension function и property - это визитная карточка Kotlin для Java разработчиков. Разве что null safety может сравниться по популярности.В статье происходит разбор этой функции языка, как она работает под капотом и случаи когда ее стоит использовать, а когда нет.
Medium
[Kotlin Pearls 6] Extensions: The Good, The Bad and The Ugly
How to use Extension Functions and Properties to improve the readability of your code
#RecyclerView #Performance
Smooth RecyclerView Scrolling in Android
Отображение списков - довольно популярная задача в современных мобильных приложениях. Требование к таким виджетам высоки - они должны обеспечивать быструю скорость работы и плавность отрисовки при работе пользователя с ними.
Как этого добиваться в
👉 Осуществляйте inflate view для ViewHolder в отдельном потоке при помощи AsyncLayoutInflater и создавайте пул из них
👉 Создайте очередь из UI операций для оптимизации выполнения
👉 Используйте PrecomputedTextCompat, чтобы вынести расчеты для отображения текста на фоновый поток
Smooth RecyclerView Scrolling in Android
Отображение списков - довольно популярная задача в современных мобильных приложениях. Требование к таким виджетам высоки - они должны обеспечивать быструю скорость работы и плавность отрисовки при работе пользователя с ними.
Как этого добиваться в
RecyclerView? Используйте следующие советы хардкор уровня:👉 Осуществляйте inflate view для ViewHolder в отдельном потоке при помощи AsyncLayoutInflater и создавайте пул из них
👉 Создайте очередь из UI операций для оптимизации выполнения
onBindViewHolder()👉 Используйте PrecomputedTextCompat, чтобы вынести расчеты для отображения текста на фоновый поток
Medium
Smooth RecyclerView Scrolling in Android
Tips for using complex views without skipping frames
#Compatibility
Android API Level, backward and forward compatibility
Подробный разбор вопросов версий Android SDK и как они влияют. В статье рассматривается:
👉 Что такое API и SDK ?
👉 Что значит API Level ?
👉 Как использовать compileSdkVersion, minSdkVersion и targetSdkVersion ?
👉 Как вы можете убедиться, что приложение будет работать нормально на устройствах с различными версиями ОС?
👉 Что такое forward & backward совместимость (compatibility)?
Android API Level, backward and forward compatibility
Подробный разбор вопросов версий Android SDK и как они влияют. В статье рассматривается:
👉 Что такое API и SDK ?
👉 Что значит API Level ?
👉 Как использовать compileSdkVersion, minSdkVersion и targetSdkVersion ?
👉 Как вы можете убедиться, что приложение будет работать нормально на устройствах с различными версиями ОС?
👉 Что такое forward & backward совместимость (compatibility)?
Medium
Android API Level, backward and forward compatibility
If you get to read this article it might mean you are wondering things like:
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
знаешь что об этом ты?
Первоначальной идеей выпуска было обсуждение асиннхронности, подходов и решений со всех, так сказать, четырех сторон. Сначала обсудить нативные темы, а потом обсудить кроссплатформенные решения. И нач
#Meetup #MobilePeople #Minsk
27 июня состоится митап сообщества Mobile People. В рамках митапа вас ждут 2 доклада:
👉 Android: Under the Hood
Что общего между вашим мобильным телефоном и модемом Промсвязь? Что происходит при вызове startActivity(Intent)? Кто считает секунды до ANR? В своем докладе Дмитрий даст ответы на эти вопросы и раскроет детали работы Android О
👉 Kotlin Multiplatform – швейцарский нож мобильного разработчика
Kotlin Multiplatform – новый инструмент для решения разработки одного приложения для разных платформ. Хотите узнать как можно уже сейчас начать использовать Kotlin и Clean Architecture для разработки приложение под Android и iOS, какие есть ограничения и достоинства подхода? Алексей вам расскажет об этом на основе реального опыта разработки продакшен приложения.
Участие бесплатное по предварительной регистрации
Когда: 19.00, 27 июня 2019 (четверг)
Где: EPAM, ул. Академика Купреевича 3В, Loft
27 июня состоится митап сообщества Mobile People. В рамках митапа вас ждут 2 доклада:
👉 Android: Under the Hood
Что общего между вашим мобильным телефоном и модемом Промсвязь? Что происходит при вызове startActivity(Intent)? Кто считает секунды до ANR? В своем докладе Дмитрий даст ответы на эти вопросы и раскроет детали работы Android О
👉 Kotlin Multiplatform – швейцарский нож мобильного разработчика
Kotlin Multiplatform – новый инструмент для решения разработки одного приложения для разных платформ. Хотите узнать как можно уже сейчас начать использовать Kotlin и Clean Architecture для разработки приложение под Android и iOS, какие есть ограничения и достоинства подхода? Алексей вам расскажет об этом на основе реального опыта разработки продакшен приложения.
Участие бесплатное по предварительной регистрации
Когда: 19.00, 27 июня 2019 (четверг)
Где: EPAM, ул. Академика Купреевича 3В, Loft
EPAM Campus
Industry-focused free IT courses for beginners | EPAM Campus
✅ The international IT company EPAM offers training programs in 30+ different IT directions for beginners around the globe. 🎯 Jumpstart your career in tech with EPAM!
Mobile People Minsk Android June Meetup.ics
1.2 KB
Не забудь добавить в календарь
#Новости
Сделал новый сваг для канала. Принцип чтобы его получить прост - находите меня и говорите: "Хочу сваг Android Broadcast"
Сделал новый сваг для канала. Принцип чтобы его получить прост - находите меня и говорите: "Хочу сваг Android Broadcast"
#MotionLayout #Animation
MotionLayout + ShapeOfView = 😍
MotionLayout и UI редактор в
Например, в статье вы можете найти как можно делать красивые анимации с
MotionLayout + ShapeOfView = 😍
MotionLayout и UI редактор в
Android Studio - это большой шаг для предоставления удобного инструмента, который позволит создавать красивые анимации для приложений. Пока этого не произошло 😞 (осталось ждать совсем чуть-чуть), мы можем посмотреть, что можно cделать уже сейчас.Например, в статье вы можете найти как можно делать красивые анимации с
Nested Scroll и ShapeOfView, в MotionLayout.Medium
MotionLayout + ShapeOfView = 😍
By using MotionLayout you can give a totally different and fluid style to your application. Forget static screens without any animation…
This media is not supported in your browser
VIEW IN TELEGRAM
Пример работы библиотеки
#Lint #CodeQuality #Google
🎥 Static Analysis with Android Lint by Tom Norbye
Продолжительность: 40:27
Android Lint - это статический анализатор кода, широко используемый в Android разработке для поиска ошибок в Java и Kotlin коде. Также он способен находить множество ошибок различных ошибок при написании Android приложений.
Tom Norbye из Google - создатель этого инструмента и Lead Android Studio, в своем докладе рассказывает о:
👉 основы Android Lint
👉 архитектура
👉 как написать собственное правило
🎥 Static Analysis with Android Lint by Tom Norbye
Продолжительность: 40:27
Android Lint - это статический анализатор кода, широко используемый в Android разработке для поиска ошибок в Java и Kotlin коде. Также он способен находить множество ошибок различных ошибок при написании Android приложений.
Tom Norbye из Google - создатель этого инструмента и Lead Android Studio, в своем докладе рассказывает о:
👉 основы Android Lint
👉 архитектура
👉 как написать собственное правило
SlidesLive
Tor Norbye · Static Analysis with Android Lint
Android Lint is a static analysis tool used by Android developers to find common and not so common bugs. It's not limited to Android code; inside Google it is also used for general purpose static...
#Animation #SharedElementTransition
Implement Google Inbox Style Animation on Android
Пользователи очень хорошо относятся к тем приложениям, которые содержат анимации, которые позволяют проще понимать интерфейс и создают "Вау" эффект. Одно из таких приложений - Google Inbox (который был убит).
Автор статьи пытается повторить анимацию открытия письма с экрана списка всех писем. Решение требует множество кастомизаций в стандартных Shared Element Transition, но в итоге результат радует 😁
Implement Google Inbox Style Animation on Android
Пользователи очень хорошо относятся к тем приложениям, которые содержат анимации, которые позволяют проще понимать интерфейс и создают "Вау" эффект. Одно из таких приложений - Google Inbox (который был убит).
Автор статьи пытается повторить анимацию открытия письма с экрана списка всех писем. Решение требует множество кастомизаций в стандартных Shared Element Transition, но в итоге результат радует 😁
Medium
Implement Google Inbox Style Animation on Android
As an Android user and developer, I am always attracted to great apps with nice and meaningful animations. To me such apps not only deliver…
#Library #Hack
Only
Как часто вы сталкивались с тем, что тестировщик нервно жмет на кнопку, какой-то экран у вас открывается несколько раз и вам прилетает баг? Малоприятная ситуация. Приходится идти и рассказывать, что это не баг, а ситуация на которую не распространяется проверка в приложении и в реальном мире таких ситуаций не происходит.
Но бывают случаи, когда менеджер заставлял делать затычку, обычно в виде
Библиотека Only предоставляет простое API, которое позволяет выполнять действия строго не более указанного вами количества раз.
Only
Как часто вы сталкивались с тем, что тестировщик нервно жмет на кнопку, какой-то экран у вас открывается несколько раз и вам прилетает баг? Малоприятная ситуация. Приходится идти и рассказывать, что это не баг, а ситуация на которую не распространяется проверка в приложении и в реальном мире таких ситуаций не происходит.
Но бывают случаи, когда менеджер заставлял делать затычку, обычно в виде
boolean флага, которая будет блокировать выполнение действий множество раз ☹️. Что делать если таких кнопок в вашем приложении много?Библиотека Only предоставляет простое API, которое позволяет выполнять действия строго не более указанного вами количества раз.
#Kotlin #DSL
How do Kotlin DSL libraries work?
Kotlin DSL - это удобный декларативный формат работы с различным API. Множество различных библиотек и фреймворков имеют его поддержку: Gradle, Anko, Koin DI, Spek.
Хотите понять как реализовано Kotlin DSL в различных библиотеках и использовать его у себя в приложение? Читайте больше подробностей в статье
How do Kotlin DSL libraries work?
Kotlin DSL - это удобный декларативный формат работы с различным API. Множество различных библиотек и фреймворков имеют его поддержку: Gradle, Anko, Koin DI, Spek.
Хотите понять как реализовано Kotlin DSL в различных библиотеках и использовать его у себя в приложение? Читайте больше подробностей в статье
Brunoaybar
How do Kotlin DSL libraries work?
Many new and shiny Kotlin libraries implement their own DSLs. Learn how they work and how can you implement your own.