Forwarded from Android Broadcast (Кирилл Розов)
📺 Корутины в Android. Специальные API || Курс по корутинам #8 (8 мин)
Собираем все полученные знания, чтобы узнать как их адаптировать к Android разработке и какие специальные API сделали в Jetpack
Весь курс, который сделан при поддержке компании Revolut, можно найти здесь
#AndroidBroadcast #курс #coroutines
Собираем все полученные знания, чтобы узнать как их адаптировать к Android разработке и какие специальные API сделали в Jetpack
Весь курс, который сделан при поддержке компании Revolut, можно найти здесь
#AndroidBroadcast #курс #coroutines
Forwarded from Android Broadcast (Кирилл Розов)
📺 Новости мобильной разработки (24 мин)
В свежем выпуске разбираю
👉 анонс KMM Beta
🔥 Jetpack Multiplatform на Kotlin
👉 новый формат Android Dev Summit
👉 Jetpack Compose for Android TV
👉 новые Google Pixel устройства
🎧 Подкаст версия
📺 Версия на YouTube
#AndroidBroadcast
В свежем выпуске разбираю
👉 анонс KMM Beta
🔥 Jetpack Multiplatform на Kotlin
👉 новый формат Android Dev Summit
👉 Jetpack Compose for Android TV
👉 новые Google Pixel устройства
🎧 Подкаст версия
📺 Версия на YouTube
#AndroidBroadcast
Forwarded from Android Broadcast (Кирилл Розов)
🔴 Подводим итоги 2022
Когда: сегодня, 28 декабря, среда, 18:00 (GMT+3)
Сегодня вечером я с Лешей Гладковым, автором Mobile Developer, проведем стрим на моем канале, где подведем итоги года, ответим на ваши вопросы и просто классно проведем время! Посидим, поворчим 😁
#AndroidBroadcast #live
Когда: сегодня, 28 декабря, среда, 18:00 (GMT+3)
Сегодня вечером я с Лешей Гладковым, автором Mobile Developer, проведем стрим на моем канале, где подведем итоги года, ответим на ваши вопросы и просто классно проведем время! Посидим, поворчим 😁
#AndroidBroadcast #live
Forwarded from Android Broadcast (Кирилл Розов)
📺 Интервью с командой Kotlin Multiplatform Mobile (2 часа)
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform
#AndroidBroadcast #kotlin #kmm
👉 Что произошло за 2022 год
👉 Чего ждать к KMM 1.0 Stable
👉 Compose iOS
👉 Kotlin IDE
👉 Экосистема Kotlin Multiplatform
#AndroidBroadcast #kotlin #kmm
Forwarded from Android Broadcast (Кирилл Розов)
📺 Новости разработки 2023.10 (33 мин)
Видеодайджест новостей из мира Android разработки
🔥 Анонс Compose for iOS
🚀 2024 будет годом Kotlin
📦 Новая версия Android Studio
✈️ Кирилл @rozov_blog едет в спикинг тур
#AndroidBroadcast
Видеодайджест новостей из мира Android разработки
🔥 Анонс Compose for iOS
🚀 2024 будет годом Kotlin
📦 Новая версия Android Studio
✈️ Кирилл @rozov_blog едет в спикинг тур
#AndroidBroadcast
Forwarded from Android Broadcast (Кирилл Розов)
📺 Ускоряем написание кода (15 мин)
Узнайте, как использовать тулинг, генерацию кода и машинное обучение, чтобы писать меньше кода! Java Annotation Processing, KAPT, IDEA-плагины, live-template-ы и многое другое
0:00 Вступление
0:44 Annotation Processing
2:46 Kotlin Symbol Processing
4:09 AvitoTech
4:37 Генерация кода из Gradle
5:08 Плагины Kotlin компилятора
6:20 Возможности IDE
7:50 Плагины IDE
8:43 Шаблоны Android Studio
9:18 Geminio
11:13 AI помощники
14:00 Заключение
#AndroidBroadcast #разбор
Узнайте, как использовать тулинг, генерацию кода и машинное обучение, чтобы писать меньше кода! Java Annotation Processing, KAPT, IDEA-плагины, live-template-ы и многое другое
0:00 Вступление
0:44 Annotation Processing
2:46 Kotlin Symbol Processing
4:09 AvitoTech
4:37 Генерация кода из Gradle
5:08 Плагины Kotlin компилятора
6:20 Возможности IDE
7:50 Плагины IDE
8:43 Шаблоны Android Studio
9:18 Geminio
11:13 AI помощники
14:00 Заключение
#AndroidBroadcast #разбор
Forwarded from Android Broadcast (Кирилл Розов)
Media is too big
VIEW IN TELEGRAM
Сбор заявок на участие в собеседовании
Ищем кандидата, кто пройдет в прямом эфире собеседование на позицию «Mobile Developer» в прямом эфире у Алексея Панова, Senior Android Developer в Контур.
Подать заявку тут
На собеседовании будут проектировать мультиплатформенное приложение и по ходу погружаться в нюансы работы с KMP, Coroutines, Compose
Требования к кандидату:
👉 Уровень от Middle и выше
👉 Есть опыт работы (можно и пет проекты) с KMP, Coroutines и Compose (не обязательно multiplatform)
#AndroidBroadcast #собеседование
Ищем кандидата, кто пройдет в прямом эфире собеседование на позицию «Mobile Developer» в прямом эфире у Алексея Панова, Senior Android Developer в Контур.
Подать заявку тут
На собеседовании будут проектировать мультиплатформенное приложение и по ходу погружаться в нюансы работы с KMP, Coroutines, Compose
Требования к кандидату:
👉 Уровень от Middle и выше
👉 Есть опыт работы (можно и пет проекты) с KMP, Coroutines и Compose (не обязательно multiplatform)
#AndroidBroadcast #собеседование
Forwarded from Android Broadcast (Кирилл Розов)
This media is not supported in your browser
VIEW IN TELEGRAM
📺 Как устроен Gradle Config Cache. Лучшие Практики. Интервью с инженером команды Gradle (1 ч 20 мин)
Обсуждаем все аспекты работы с Gradle Config Cache с инженером Gradle. Вы узнаете о перформанс тестах, кэшировании, влиянии сети на процесс сборки, преимущества Project Isolation, а также получите ценные советы от инженера из Gradle
Смотрите интервью на разных площадках:
👉 YouTube
👉 RuTube
👉 VK Video
👉 Дзен
#AndroidBroadcast #интервью
Обсуждаем все аспекты работы с Gradle Config Cache с инженером Gradle. Вы узнаете о перформанс тестах, кэшировании, влиянии сети на процесс сборки, преимущества Project Isolation, а также получите ценные советы от инженера из Gradle
Смотрите интервью на разных площадках:
👉 YouTube
👉 RuTube
👉 VK Video
👉 Дзен
#AndroidBroadcast #интервью
Forwarded from Android Broadcast (София (Менеджер AB))
Подборка квизов для подписчиков в закрытой Telegram группе за прошедшую неделю:
🏝 #32 Kotlin 1.9.1 JVM
🏝 #31 Kotlin Coroutines JVW/Android
🤖 #30 Выберите НЕверное утверждение или укажите, что все верны (про sdk)
🤖 #29 StoragetManager в Android 14
🏝 #28 StateFlow из Kotlin Coroutines
Чтобы попасть в закрытую группу, нужно оформить подписку за 300 рос рублей. Можно сделать на Boosty или через Telegram (не работает на iOS). Оплата работает во всех странах
#AndroidBroadcast #квизы
Чтобы попасть в закрытую группу, нужно оформить подписку за 300 рос рублей. Можно сделать на Boosty или через Telegram (не работает на iOS). Оплата работает во всех странах
#AndroidBroadcast #квизы
Please open Telegram to view this post
VIEW IN TELEGRAM
Taplink
Android_broadcast at Taplink
Forwarded from Android Broadcast (Кирилл Розов)
На YouTube канале Android Broadcast вы можете найти много собеседований, но в этом году я хочу изменить их формат. Теперь мы не будем делать собеседование на позицию, а будем брать популярные темы из собеседований и спрашивать именно их!
Если вы опытный разработчик и хотите провести собеседований по одной из предложенных тем или предложить свою - заполняйте форму!
Если вы хотите выступить в качестве кандидата - вам заполнять эту форму
#AndroidBroadcast #собес
Если вы опытный разработчик и хотите провести собеседований по одной из предложенных тем или предложить свою - заполняйте форму!
Если вы хотите выступить в качестве кандидата - вам заполнять эту форму
#AndroidBroadcast #собес
Forwarded from Android Broadcast (Кирилл Розов)
На моём Boosty вы сможете найти лучшие практики и лайфхаки по использованию разных API:
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво
Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!
#AndroidBroadcast #Boosty
👉 Как ускорить получение зависимостей из Dagger графа
👉 Делегаты классов в Kotlin при миграции между разными API
👉 Как не дать запуститься Coroutine больше одного раза. Решение в лоб и красиво
Все это доступно по подписке за 300 рублей в месяц и даже больше контента: База Знаний, эксклюзивные видео, ранний доступ, закрытый чат и много других преимуществ!
#AndroidBroadcast #Boosty
Forwarded from Android Broadcast (Кирилл Розов)
Написал статью о том почему плохо использовать подобный подход с when и как провести его правильный рефакторинг.
#AndroidBroadcast #лучшиепрактики #архитектура
#AndroidBroadcast #лучшиепрактики #архитектура
Forwarded from Android Broadcast
Написал разбор, что такое иммутабельный тип, как написать свой и какое важное применение он имеет в программировании. Прочитать статью можно тут, а что ссылка открылась нужно получить доступ к Базе Знаний Android разработчика.
Сделать это можно через Boosty или Telegram
#хакаемсобес #AndroidBroadcast
Сделать это можно через Boosty или Telegram
#хакаемсобес #AndroidBroadcast
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
Я использую Koin еще с самой первой версии, он неплохо справляется с небольшими проектами, но дальше требует работы как самурай. В видео для патронов рассказываю, что не так с Koin, как этого избегаю и какой DI нужен для KMP.
Видео доступно на Boosty и по подписке в Telegram.
#AndroidBroadcast #koin #di #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
01:02 Отсутствие полноценной поддержки Kotlin Multiplatform в iOS
04:36 Поиск альтернатив для библиотек и технологий
06:37 Авторы Compose Multiplatform не заботятся о поддержке UI Kit платформы
09:01 Kotlin Multiplatform не позволит значительно сэкономить во времени разработки/деньгах
14:22 Сложно убедить бизнес использовать технологию
19:02 Заключение
Смотрите видео на разных площадках:
#AndroidBroadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
Новый формат собеседований под угрозой ‼️‼️‼️ Я конечно преувеличил и привлек ваше внимание. Очень важно чтобы я мог получать от вас вопросы а не просто делал постанову. Задайте свои вопрос по Kotlin что вас интересуют в https://forms.gle/D1GYYhZg7qoaqYZP8 чтобы в формате собеседования получить на них ответы
#AndroidBroadcast #собес
#AndroidBroadcast #собес
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
1:16 Куда можно класть Kotlin файлы
3:39 Как разделить код по Gradle модулям
6:23 Несколько папок с исходным кодом
7:42 Пакеты с кодом
14:03 Выделение кода в AAR/JAR библиотеки
15:37 Заключение
Смотрите видео на разных площадках:
#AndroidBroadcast #видео #kotlin
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
Интервью с Аркадием Ивановым, автором популярных библиотек Decompose и MVIKotlin, про open source, жизнь в Англии, будущее Kotlin Multiplatform.
#AndroidBroadcast #видео #kmp #decompose #mvikotlin #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
В новом видео показываю как настроить публикации для Android и Kotlin Multiplatform библиотеки в Gradle с новым механизмом подписи артефактов для Maven Central в 2024
#AndroidBroadcast #видео #gradle #maven #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Чтоб скрыть детали реализации внутри библиотеки, иногда авторы используют классы с внутренней реализацией. Я такой подход использовал в ViewBindingPropertyDelegate для сокрытия реализации и отказа от if:
Если бы я не использовал внутреннюю реализацию, то подход был бы такой:
Подобный подход используют в KMP, например Jetpack ViewModel. Также скрываются реализации различных lazy делегатов в Kotlin, но через фасад метода с параметром
#kotlin #AndroidBroadcast #БазаЗнаний
public object ViewBindingCache {
private var impl: ViewBindingCacheImpl = ViewBindingCacheImpl.Noop
internal fun <T : ViewBinding> getInflateWithLayoutInflater(
viewBindingClass: Class<T>
): InflateViewBinding<T> {
return impl.getInflateWithLayoutInflater(viewBindingClass)
}
internal fun <T : ViewBinding> getBind(
viewBindingClass: Class<T>
): BindViewBinding<T> {
return impl.getBind(viewBindingClass)
}
public fun clear() {
impl.clear()
}
public fun setEnabled(enabled: Boolean) {
impl = if (enabled) ViewBindingCacheImpl.Default() else ViewBindingCacheImpl.Noop
}
}
private sealed interface ViewBindingCacheImpl {
class Default : ViewBindingCacheImpl { ... }
data object Noop : ViewBindingCacheImpl
}
Если бы я не использовал внутреннюю реализацию, то подход был бы такой:
public object ViewBindingCache {
private var cacheEnabled = false
private val cache = mutableMapOf<...>()
internal fun <T : ViewBinding> getInflateWithLayoutInflater(
viewBindingClass: Class<T>
): InflateViewBinding<T> {
if (cacheEnabled) {
return ...
} else {
return ...
}
}
internal fun <T : ViewBinding> getBind(
viewBindingClass: Class<T>
): BindViewBinding<T> {
if (cacheEnabled) {
return ...
} else {
return ...
}
}
public fun clear() {
...
}
public fun setEnabled(enabled: Boolean) {
cache.clear()
this.cacheEnabled = enabled
}
}
Подобный подход используют в KMP, например Jetpack ViewModel. Также скрываются реализации различных lazy делегатов в Kotlin, но через фасад метода с параметром
fun <T> lazy(mode: LazyThreadSafetyMode, initializer: () -> T): Lazy<T>
#kotlin #AndroidBroadcast #БазаЗнаний