#Livestream #Swift #Multiplatform
Swift на Android. Как Spark код между iOS и Android шарили
Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.
Мы будем вести прямую трансляцию и вы сможете задать свои вопросы
Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
Swift на Android. Как Spark код между iOS и Android шарили
Когда: Сегодня, 26 мая, 20.00 (GMT+3)
Где: YouTube канал Android Broadcast
Team Lead Android команды разработки Spark Mail расскажет о том, как они шарят код между iOS и Android, используя при этом Swift. Посмотрим появится ли конкурент у Kotlin Multiplatform.
Мы будем вести прямую трансляцию и вы сможете задать свои вопросы
Ведущий Кирилл Розов. Android и Kotlin fan. Mobile Lead в Replika.ai
Гости:
- Андрей Друк. Team Lead Android команды Spark Mail в Readdle
- Данис Тазетдинов. Евангелист платформ Apple. Chief Software Engineer в EPAM. Ведущий подкаста Mobile People Talks
#UX
UX для недизайнеров, или что должен учитывать разработчик мобильных приложений
UX - это забота не только дизайнеров, менеджера продукта и UX-эксперта, а также задача разработчика знать базовые вещи, которые он не должен допустить, а именно:
⚠️ Маленькая область нажатия - должна быть не меньше 48 dp по ширине и высоте для кликабильного элемента
⚠️ Отсутствие реакции на нажатие - view должен меняться при нажатии: смена фона, ripple эффект и другие
⚠️ Реакция когда не надо - например на элементах, клики на которых не приводят к каким либо действия
⚠️ Не учитывается что экраны могут быть маленькими
⚠️ Клавиатура не появляется/скрывается автоматически
⚠️ Отсутствие информация о выполнении операции (напр, показ прогресса)
В статье разбирается множество других проблем, которое разработчик должен не допускать при реализации дизайна
Нашли кейсы которых нет в статье или страдаете от них как пользователь - пишите в @android_broadcast_talks
UX для недизайнеров, или что должен учитывать разработчик мобильных приложений
UX - это забота не только дизайнеров, менеджера продукта и UX-эксперта, а также задача разработчика знать базовые вещи, которые он не должен допустить, а именно:
⚠️ Маленькая область нажатия - должна быть не меньше 48 dp по ширине и высоте для кликабильного элемента
⚠️ Отсутствие реакции на нажатие - view должен меняться при нажатии: смена фона, ripple эффект и другие
⚠️ Реакция когда не надо - например на элементах, клики на которых не приводят к каким либо действия
⚠️ Не учитывается что экраны могут быть маленькими
⚠️ Клавиатура не появляется/скрывается автоматически
⚠️ Отсутствие информация о выполнении операции (напр, показ прогресса)
В статье разбирается множество других проблем, которое разработчик должен не допускать при реализации дизайна
Нашли кейсы которых нет в статье или страдаете от них как пользователь - пишите в @android_broadcast_talks
vc.ru
UX для недизайнеров, или что должен учитывать разработчик мобильных приложений — Дизайн на vc.ru
В мобильных приложениях часто встречаются мелкие UX-детали, которые дизайнеры забывают отрисовать в макетах, а менеджеры прописать в тасках. Избежать появления многих ошибок могут сами разработчики.
#Tooling
The Sandbox Show: LeakCanary от Square
Доклад от Square о LeakCanary - библиотеки для поиска утечек памяти в Android приложениях. В рамках видео вы увидите как ищут утечки памяти в новом браузере от Firefox - Fenix и сможете познакомиться с тем как находить и анализировать утечки с LeakCanary.
The Sandbox Show: LeakCanary от Square
Доклад от Square о LeakCanary - библиотеки для поиска утечек памяти в Android приложениях. В рамках видео вы увидите как ищут утечки памяти в новом браузере от Firefox - Fenix и сможете познакомиться с тем как находить и анализировать утечки с LeakCanary.
YouTube
The Sandbox: LeakCanary
In this episode of the Sandbox Show, Pierre-Yves Ricau (https://twitter.com/Piwai) and Emily Kager (https://twitter.com/EmilyKager) take a look at using LeakCanary to address some memory leaks in the open source Firefox android app Fenix.
You can see a walkthrough…
You can see a walkthrough…
#Meetup #Online
Tinkoff_IT_Weekly#8. Android
Когда: 27 мая 19.00 (GMT+3)
Где: Zoom
Митап от компании Тинькофф в котором вас ждут 2 доклада:
🤟 Мария Чернядиева из Тинькофф расскажет, чем отличается библиотека и sdk и в чем особенности ее разработки.
🤙 Сергей Боиштян из Avito поделится опытом управления, тестирования и подключения зависимостей к приложению в ci/cd команде
Tinkoff_IT_Weekly#8. Android
Когда: 27 мая 19.00 (GMT+3)
Где: Zoom
Митап от компании Тинькофф в котором вас ждут 2 доклада:
🤟 Мария Чернядиева из Тинькофф расскажет, чем отличается библиотека и sdk и в чем особенности ее разработки.
🤙 Сергей Боиштян из Avito поделится опытом управления, тестирования и подключения зависимостей к приложению в ci/cd команде
Т-Банк Митапы
Митап Tinkoff IT Weekly #8. Android
Еженедельные встречи экспертов, разбор реальных кейсов, советы по выживанию. it’s Tinkoff выходит в онлайн.
#Kotlin #Delegation
Delegation Pattern in Kotlin
Kotlin поддерживает шаблон Delegation и это позволяет вам не создавать сложных иерархий и упрощать переиспользование логики.
В статье разбирается как это сделать, а также пример как подход можно применить для упрощения работы с ViewBinding в Android
Delegation Pattern in Kotlin
Kotlin поддерживает шаблон Delegation и это позволяет вам не создавать сложных иерархий и упрощать переиспользование логики.
В статье разбирается как это сделать, а также пример как подход можно применить для упрощения работы с ViewBinding в Android
Medium
Delegation Pattern in Kotlin
Issues with inheritance to make your code reusable
#AndroidAcademy #Minsk #Online
Android Academy Advanced. Optimization. Part 3
Когда: 19.00 28 мая (GMT+3)
Где: YouTube канал Andoid Academy Minsk
В Android имеется встроенная поддержка одной из распространенных систем управления базами данных - SQLite. Для этого в пакете android.database.sqlite определен набор классов, которые позволяют работать с базами данных SQLite.
Как правильно работать с SQLite и что нужно знать, чтобы получить максимальную производительность, все это расскажут на лекции.
Android Academy Advanced. Optimization. Part 3
Когда: 19.00 28 мая (GMT+3)
Где: YouTube канал Andoid Academy Minsk
В Android имеется встроенная поддержка одной из распространенных систем управления базами данных - SQLite. Для этого в пакете android.database.sqlite определен набор классов, которые позволяют работать с базами данных SQLite.
Как правильно работать с SQLite и что нужно знать, чтобы получить максимальную производительность, все это расскажут на лекции.
#Performance #RecyclerView
Как происходит рендеринг экрана сообщений ВКонтакте
Разработчик из VK делится опытом оптимизации UI в RecyclerView с множеством различных типов элементов. В докладе рассматриваются как стандартные подходы, так и нет.
Как происходит рендеринг экрана сообщений ВКонтакте
Разработчик из VK делится опытом оптимизации UI в RecyclerView с множеством различных типов элементов. В докладе рассматриваются как стандартные подходы, так и нет.
Хабр
Как происходит рендеринг экрана сообщений ВКонтакте
Что делает ВКонтакте, чтобы уменьшить лаги отрисовки? Как отобразить очень большое сообщение и не убить UiThread? Как уменьшить задержки при скролле в RecyclerView? Мой опыт основан на работе...
#Java #Coroutines
Project Loom: виртуальные потоки в Java уже близко
Java в последние пару лет фигачит новые фичи быстрее чем стартапы, уже скоро и альтернатива Kotlin Coroutines будет в строю - виртульные потоки.
Виртуальные потоки принесут легковесную многопоточность в Java, но также решат проблемы разработчиков библиотек с concurrency
Project Loom: виртуальные потоки в Java уже близко
Java в последние пару лет фигачит новые фичи быстрее чем стартапы, уже скоро и альтернатива Kotlin Coroutines будет в строю - виртульные потоки.
Виртуальные потоки принесут легковесную многопоточность в Java, но также решат проблемы разработчиков библиотек с concurrency
Хабр
Project Loom: виртуальные потоки в Java уже близко
Несколько дней назад Ron Pressler разродился статьей State of Loom, которую не полайкал только самый ленивый джавист. Статья действительно хорошая, в ней много и...
#AndroidStudio
Вышла новая мажорная версия Android Studio 4.0
В новой версии очень много плюшек:
🔥 Долгожданный Motion Editor
🔥 Live Layout Inspector
🔥 Layout Validation - возможность посмотреть как ваш UI выглядит на разных экранах и разных конфигурациях
🔥 Анализ Gradle сборок - понять на какой стадии сборки и где у вас проблемы теперь можно проще
🔥 Улучшенный CPU Profiler
🔥 Автодополнение в конфигурациях R8
🔥 Поддержка Gradle Kotlin Script
🔥 Обновление до IntelliJ IDEA 2019.3
🔥 Desugaring API из Java 8 в D8 и R8 - теперь все новые API с более поздних версий Android и фиксы станут доступны для старых
🔥 Dynamic Features: Feature-on-feature dependencies
🔥 Можно отключать feature сборки такие как AIDL, DataBinding и др
🔥 Dependencies metadata - специальная информация о зависимостях, которая используется перед публикацией приложения в Google Play для анализа
...много всего полезного еще
Много всего нового нас ждет. Буквально со дня на день Android Studio 4.1 станет beta и мы увидим Canary версии 4.2
Вышла новая мажорная версия Android Studio 4.0
В новой версии очень много плюшек:
🔥 Долгожданный Motion Editor
🔥 Live Layout Inspector
🔥 Layout Validation - возможность посмотреть как ваш UI выглядит на разных экранах и разных конфигурациях
🔥 Анализ Gradle сборок - понять на какой стадии сборки и где у вас проблемы теперь можно проще
🔥 Улучшенный CPU Profiler
🔥 Автодополнение в конфигурациях R8
🔥 Поддержка Gradle Kotlin Script
🔥 Обновление до IntelliJ IDEA 2019.3
🔥 Desugaring API из Java 8 в D8 и R8 - теперь все новые API с более поздних версий Android и фиксы станут доступны для старых
🔥 Dynamic Features: Feature-on-feature dependencies
🔥 Можно отключать feature сборки такие как AIDL, DataBinding и др
🔥 Dependencies metadata - специальная информация о зависимостях, которая используется перед публикацией приложения в Google Play для анализа
...много всего полезного еще
Много всего нового нас ждет. Буквально со дня на день Android Studio 4.1 станет beta и мы увидим Canary версии 4.2
Android Developers Blog
Android Studio 4.0
Posted by Adarsh Fernando, Product Manager
Чистыи код - Именование.pdf
1 MB
Умение давать удачные имена субъектам кода требует высокого уровня владения описательным навыком и единого культурного и информационного фона в команде. Сформулировать единые принципы именования и придерживаться их важно - это обеспечивает единообразие и предсказуемость кодовой базы.
#Gradle
Stop using Gradle buildSrc. Use composite builds instead
В статье автор рассматривает влияние buildSrc в цифрах и предлагает использовать Gradle Compose builds как альтернативу
Stop using Gradle buildSrc. Use composite builds instead
buildSrc
- это специальная директория в Gradle проекте в которой вы можете писать код, доступный в ваших скриптах. Проблема только в том, что любое изменение кода в buildSrc приводит к сборке проекта с нуля (без кэша) ☹️.В статье автор рассматривает влияние buildSrc в цифрах и предлагает использовать Gradle Compose builds как альтернативу
Medium
Stop using Gradle buildSrc. Use composite builds instead
You are invalidating the whole project for any change within buildSrc, usually without there being a valid reason. We can keep the…
Android Broadcast
#Android11 #Online Анонс Android 11 Beta - Смотрим вместе Когда: 3 июня, 17.40 GMT+3 Где: YouTube канал Android Broadcast 3 июня пройдет важное событие - запуск первой Beta Android 11. Для Android разработчиков это событие фактически Android Keynote с Google…
Огорчился сам и придется огорчить вас - презентацию новой версии Android отложили (официальный твит).
Новую дату трансляции на YouTube канале Android Broadcast объявлю позже
Новую дату трансляции на YouTube канале Android Broadcast объявлю позже
Twitter
Android Developers
We are excited to tell you more about Android 11, but now is not the time to celebrate. We are postponing the June 3rd event and beta release. We'll be back with more on Android 11, soon.
#Gradle
Как подружиться с Gradle
Продолжительность 1.5 часа
Gradle трудится для нас каждый день, а мы о нем не всё знаем. Не справедливо! Разработчик из Redmadrobot решил исправить это и сделал классный большой обзор этой системы сборки
Как подружиться с Gradle
Продолжительность 1.5 часа
Gradle трудится для нас каждый день, а мы о нем не всё знаем. Не справедливо! Разработчик из Redmadrobot решил исправить это и сделал классный большой обзор этой системы сборки
#Material #UI
Вышла Material 1.2.0 Beta
Уже на подходе новая версия библиотеки реализация Material Design 2.0 на Android. Если вы не боитесь beta статуса, то сможете получить:
👉 Новый компонент Slider
👉 Поддержка Material Motion System. Теперь анимации будут "из коробки" поддерживаться библиотекой
👉 Новый компонент ShapeableImageView
👉 Улучшения существующих виджетов
👉 Улучшена в Accessibility
👉 Улучшения MaterialShapeDrawable
👉 Множество исправлений багов и мелких улучшений
Вышла Material 1.2.0 Beta
Уже на подходе новая версия библиотеки реализация Material Design 2.0 на Android. Если вы не боитесь beta статуса, то сможете получить:
👉 Новый компонент Slider
👉 Поддержка Material Motion System. Теперь анимации будут "из коробки" поддерживаться библиотекой
👉 Новый компонент ShapeableImageView
👉 Улучшения существующих виджетов
👉 Улучшена в Accessibility
👉 Улучшения MaterialShapeDrawable
👉 Множество исправлений багов и мелких улучшений
GitHub
Release 1.2.0-beta01 · material-components/material-components-android
Dependency Updates:
No dependency updates.
Library Updates:
Transitions/Motion
Update transitions to be based on androidx and add transitions platform subpackage to support Activities, Windows,...
No dependency updates.
Library Updates:
Transitions/Motion
Update transitions to be based on androidx and add transitions platform subpackage to support Activities, Windows,...
#Architecture
Масштабируемая архитектура для больших мобильных приложений
Статья про то, как лучше делать архитектуру мобильных приложений. Это не про выбор MVI, MVVM, MVP или чего-то еще, а про то каким принципам стоит следовать, разделяя приложение на компоненты.
👉 Единая ответственность
👉 Простота имплементации
👉 Независимость
👉 Анонимность коммуникаций
👉 Единое состояние UI
👉 Unidirectional data flow
👉 Отключаемость (feature toggles)
В статье также описывается "State Машина" и "Server Driven UI"
Масштабируемая архитектура для больших мобильных приложений
Статья про то, как лучше делать архитектуру мобильных приложений. Это не про выбор MVI, MVVM, MVP или чего-то еще, а про то каким принципам стоит следовать, разделяя приложение на компоненты.
👉 Единая ответственность
👉 Простота имплементации
👉 Независимость
👉 Анонимность коммуникаций
👉 Единое состояние UI
👉 Unidirectional data flow
👉 Отключаемость (feature toggles)
В статье также описывается "State Машина" и "Server Driven UI"
Хабр
Масштабируемая архитектура для больших мобильных приложений
В этой статье мы не будем разбирать MVP, MVVM, MVI или что-то подобное. Сегодня мы поговорим о более глобальной вещи, чем просто архитектура уровня представления...
#UserSession
Managing User Sessions In Android
Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.
Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
Managing User Sessions In Android
Большинство приложений сталкиваются с авторизацией пользователя, следовательно, есть и управление сессией пользователя: хранение данных, токенов для работы с сервером и прочее.
Автор статьи рассказывает, что ему надоело реализовывать управление сессий в каждом приложении и он написал небольшую библиотеку для этого про которую он и рассказывает.
Medium
Managing User Sessions In Android
I ended up having to build my library
#Coroutines #Networking
Do I need to call suspend functions of Retrofit and Room on a background thread?
Библиотека Retrofit поддерживает объявление
Do I need to call suspend functions of Retrofit and Room on a background thread?
Библиотека Retrofit поддерживает объявление
suspend
функций, но многие совершают ошибку и при вызове таких функций вызывают их на фоновом потоке. Этого не нужно делать! Хотите узнать почему? Читайте статью.Medium
Do I need to call suspend functions of Retrofit and Room on a background thread?
After publishing my open source project about Coroutines on Android, which currently includes 16 of the most common, real-world use cases…
Forwarded from Mobile People Talks (Mybot_vasya)
Jetpack Compose. Взгляд изнутри.
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose. Пришло время вернуться к ней, так как гостем этого эпизода стал Матвей Мальков из имеющего самое непосредственное к этой теме места - компании Google. И мы точно можем сказать, что он каждый день видит этот тулкит изнутри, так как вместе с командой его и разрабатывает.
Выпуск начинается под вой сирен лондонской полиции, ведущие даже в какой то момент начинают волноваться, что происходит что-то серьезное и в дверь к Матвею скоро начнут врываться суровые полисмены, а выпуск останется незаписанным.
(СПОЙЛЕР) Все обходится благополучно, и ничто не прерывает запись этого эпизода.
Что произошло с Compose за последний год? Насколько он готов к использованию в продакшене? Зачем нужен плагин к Kotlin компилятору? Использует ли Compose нативные компоненты Android SDK или рисует их на канвасе, как Flutter? И наконец, какие вообще есть отличия в подходах к декларативному UI у Jetpack Compose, SwiftUI, ReactNative и Flutter?
Ответы на все эти, и многие другие ХОРОШИЕ вопросы, из первых рук, не пропустите)
🎧 SoundCloud
🎧 Apple Podcasts
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose. Пришло время вернуться к ней, так как гостем этого эпизода стал Матвей Мальков из имеющего самое непосредственное к этой теме места - компании Google. И мы точно можем сказать, что он каждый день видит этот тулкит изнутри, так как вместе с командой его и разрабатывает.
Выпуск начинается под вой сирен лондонской полиции, ведущие даже в какой то момент начинают волноваться, что происходит что-то серьезное и в дверь к Матвею скоро начнут врываться суровые полисмены, а выпуск останется незаписанным.
(СПОЙЛЕР) Все обходится благополучно, и ничто не прерывает запись этого эпизода.
Что произошло с Compose за последний год? Насколько он готов к использованию в продакшене? Зачем нужен плагин к Kotlin компилятору? Использует ли Compose нативные компоненты Android SDK или рисует их на канвасе, как Flutter? И наконец, какие вообще есть отличия в подходах к декларативному UI у Jetpack Compose, SwiftUI, ReactNative и Flutter?
Ответы на все эти, и многие другие ХОРОШИЕ вопросы, из первых рук, не пропустите)
🎧 SoundCloud
🎧 Apple Podcasts
SoundCloud
взгляд изнутри
Когда-то давно, когда деревья были большими, а в Mobile People Talks еще не приглашали гостей, - ведущие уже поднимали тему Jetpack Compose.
Пришло время вернуться к ней, так как гостем этого эпизод
Пришло время вернуться к ней, так как гостем этого эпизод
#Gradle
Вышел Gradle 6.5
Новая версия системы сборки добавляет новую возможность - "File-system watching". Фактически теперь Gradle подписывается на изменения файлов с помощью API в ОС и получает уведомлением о таких событиях. Это позволят увеличить скорость инкрементальной сборки до 20%!
Помимо этого также появилось:
👉 Улучшенное управление приоритетами версий зависимостей
👉 Улучшение документации и новые примеры
👉 IDE теперь смогут убивать демонов при закрытии
Вышел Gradle 6.5
Новая версия системы сборки добавляет новую возможность - "File-system watching". Фактически теперь Gradle подписывается на изменения файлов с помощью API в ОС и получает уведомлением о таких событиях. Это позволят увеличить скорость инкрементальной сборки до 20%!
Помимо этого также появилось:
👉 Улучшенное управление приоритетами версий зависимостей
👉 Улучшение документации и новые примеры
👉 IDE теперь смогут убивать демонов при закрытии
#HuaweiMobileServices
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Ответ на 10 самых популярных вопросов о Huawei Mobile Services (HMS) - альтернативе Google Play Services (GMS) для их магазина App Gallery.
В статье вы найдете что включает в себя HMS, как протестировать, с чего начать интеграцию и чем заменять сервисы из GMS и Firebase на устройствах от Huawei.
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Ответ на 10 самых популярных вопросов о Huawei Mobile Services (HMS) - альтернативе Google Play Services (GMS) для их магазина App Gallery.
В статье вы найдете что включает в себя HMS, как протестировать, с чего начать интеграцию и чем заменять сервисы из GMS и Firebase на устройствах от Huawei.
Хабр
Заглянуть в глаза дракону: 10 вопросов к Huawei Mobile Services
Привет, Хабр! С мая 2019 года из-за санкций США мы остались без приложений и API для Android от Google. Из-за этого нашим устройствам грозило будущее без push-уведомлений, магазина и облачных сервисов. Естественно, мы не опустили руки, а разработали и запустили…