Forwarded from Compose Broadcast
🔥⚙️ Compose iOS теперь Stable
Самый громкий и важный анонс в истории Compose Multiplatform с выходом версии 1.8.0
Что именно готово для продакшен применения
👉 Все основные фичи из Jetpack Compose работают на iOS
👉 Типобезопасная навигация с поддержкой deep link
👉 Гибкое управление ресурсами
👉 Поддержка iOS Accessibility API
👉 Ощущения от UI приложения как нативного (скрол, редактирование текста, drag-and-drop, адаптивный UI, навигация жестами и пр)
👉 Производительность UI на Compose близка к SwiftUI, но пока немного уступает
Новая эра мобильной разработки уже тут!
#compose #ios
Самый громкий и важный анонс в истории Compose Multiplatform с выходом версии 1.8.0
Что именно готово для продакшен применения
👉 Все основные фичи из Jetpack Compose работают на iOS
👉 Типобезопасная навигация с поддержкой deep link
👉 Гибкое управление ресурсами
👉 Поддержка iOS Accessibility API
👉 Ощущения от UI приложения как нативного (скрол, редактирование текста, drag-and-drop, адаптивный UI, навигация жестами и пр)
👉 Производительность UI на Compose близка к SwiftUI, но пока немного уступает
Новая эра мобильной разработки уже тут!
#compose #ios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
52🔥134👍17
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Что нового
👉 Больше AI фичей с Gemini
👉 Анализ причин крешей с Gemini
👉 Генерация сценариев Unit тестов
👉 Библиотека запросов для Gemini
👉 Поддержка Themed Icon из Android 13 (3 года откладывали)
👉 Улучшение работы с Compose Preview
👉 Шаблон KMP проекта и модуля с shared кодом
👉 Упростили создание нового эмулятора
👉 Android Lint будет показывать предупреждения об устаревших SDK и на что их заменить
🔗 Changelog
0:00 - Вступление
0:28 - Gemini
1:52 - Compose + UI
2:50 - Сборка
4:28 - IntelliJ 2024.3
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36🤯2
По традиции опрос на стабильность новой версии AS - Meerkat Feature Drop
Anonymous Poll
30%
Уже использую. Полет нормальный
4%
Сижу на следующей версии
3%
Попробовал(а). Есть баги (пиши в комментариях)
45%
Буду обновляться позже
1%
Другой вариант
17%
Не участвую в опросе
👍4
Какой target SDK в вашем Android проекте?
Anonymous Poll
3%
Не знаю
8%
36
46%
35
26%
34
3%
33
5%
32 и ниже
3%
Что такое targetSdk ?
6%
Не участвую в опросе
👍5❤1
Когда: четверг, 8 мая, 18:30 (GMT+3)
Буквально вчера вышел Compose iOS Stable и конечно же открывает возможности Android разработчиками по написанию мобильных приложений под обе платформы. Но всё ли так сладко, как заявляет JetBrains? Будем разбираться в этом с экспертом кто уже познал прелести продакшена!
👨💻 Эксперт - Никита, фуллстек Kotlin разработчик, автор проектов FlowMVI и respawn.pro. При анонсе Compose iOS Stable, его приложение было в официальном анонсе 🔥
👨💻 И еще одни эксперт - Чикишев Тимур, Senior Android разработчик в KTS. Начал пробовать Compose iOS еще до официального релиза. Успел адаптировать Android приложение с Compose на iOS, буквально на этой неделе сделали релиз
Задавайте свои вопросы в комментариях к посту, чтобы они были заданы на эфире
#android #compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍9❤3
Edge-to-edge («от края до края») — это режим в Android, при котором приложение отрисовывается под системными панелями — строкой состояния (status bar), вырезами дисплея или «челкой» (display cutout) и панелью навигации (navigation bar), — используя весь экран смартфона.
В Android 16 все приложения будут отображаться в режиме edge-to-edge без исключений. Пора перенять опыт и адаптировать его к себе, либо ваше приложение будет выглядеть плохо
#android
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍13🤯4🤔1
Media is too big
VIEW IN TELEGRAM
Software Engineers Dustin Lam и Yigit Boyar присоединяются к ведущему Tor Norbye, чтобы обсудить Kotlin Multiplatform (KMP).
0:00 - Введение
0:29 - Что такое KMP: не новый продукт, а Kotlin с новыми возможностями
3:20 - Зачем нужен KMP: преимущества и цели
6:17 - KMP vs. другие кроссплатформенные фреймворки
6:41 - Общая бизнес-логика — основной сценарий использования
9:18 - Практическое внедрение: превращение Android-приложения в KMP
13:15 - Работа с платформо-специфичными зависимостями
28:56 - Поддержка библиотек в Kotlin Multiplatform
35:56 - Developer Experience: инструменты и интеграция
40:16 - Совместимость с iOS: как добиться взаимодействия
42:51 - KMP в действии: как Google использует эту технологию
47:17 - Долгосрочное видение и потенциал KMP
51:30 - Консистентность поведения vs. нативная производительность
55:32 - Попробуйте KMP и присоединяйтесь к разработке!
#android #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4
🛠 Значительные переработки под капотом для улучшения поддержки KMP
👉 Добавлена поддержка обработки deep link из Kotlin Common кода
👉 Улучшения API
#jetpack #jetpackupdate #navigation #compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
🎉 Новый артефакт
lifecycle-viewmodel-testing - KMP библиотека для тестирования ViewModel в изоляции с помощью ViewModelScenario👉 SavedStateHandle теперь может возвращать MutableStateFlow
👉 CreationExtras добавили перегрузки операторов in, +=, и +
Больше поддержки KMP
👉
lifecycle-testing, lifecycle-viewmodel-savedstate теперь полностью KMP библиотеки👉 LocalLifecycleOwner стал доступен из common кода
👉 ViewModelProvider.NewInstanceFactory теперь доступна для Android и JVM
#android #jetpack #jetpackupdate #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5
Что нового:
👉 SavedState теперь полностью KMP библиотека с поддержкой Android, iOS, Linux, Mac и JVM
👉 LocalSavedStateRegistryOwner теперь не является частью Compose UI, а будет частью нового артефакта - savedstate-compose
👉 Появился обобщенный тип SavedState, который Bundle на Android и Map<String, Any> на других платформах
// Создаем SavedState с помощью DSL:
val savedState = savedState {
putInt("currentPage", 1)
putString("filter", "favorites")
}
val currentPage = savedState.read { getInt("currentPage") }
savedState.write { remove("currentPage") }
@Serializable
data class Person(val firstName: String, val lastName: String)
fun main() {
val person = Person("John", "Doe")
val encoded: SavedState = encodeToSavedState(person)
val decoded: Person = decodeFromSavedState(encoded)
}saved в Activity и ViewModelclass MyActivity : ComponentActivity() {
var person by saved { Person("John", "Doe") }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
this.person = Person("Jane", "Doe")
}
}
class MyViewModel(handle: SavedStateHandle) : ViewModel() {
var person by handle.saved { Person("John", "Doe") }
fun onPersonChanged(person: Person) {
this.person = person
}
}#android #jetpack #jetpackupdate #kmp #kotlin #ios #desktop
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥30👍9🤔5