terrakok/112524489436008295" rel="nofollow">https://androiddev.social/@terrakok/112524489436008295
Всем к ознакомлению!
Много модульный проект. На компоузе. С ресурсами, coil, koin, google навигация и прочее!
Работает везде: веб, десктоп, андроид, иос 🥳🥳🥳
(Все платформы работают соответственно своему статусу 😉)
Compose Wasm теперь в альфе. Посмотрите на наше приложение в вашем браузере 😍
(а еще оно есть под все остальные платформы тоже)
http://kotlinconf.com/app
https://blog.jetbrains.com/kotlin/2024/05/celebrating-kotlin-2-0-fast-smart-and-multiplatform/
Читать полностью…https://android-developers.googleblog.com/2024/05/android-support-for-kotlin-multiplatform-to-share-business-logic-across-mobile-web-server-desktop.html
Первый пост был спонтанным и пустым, поэтому повторю: это огромная веха в развитии котлина - официальный аппрув от гиганта Гугл. Теперь уже стыдно начинать новые проекты на Котлин без мультиплатформы 🥳🤩🔥
https://proandroiddev.com/coil-for-compose-multiplatform-5745ea76356f
Подробный разбор настройки Coil для всех поддерживаемых платформ.
С кешами, тюнингом и решением частых проблем
Пошаговое руководство по запуску Room на мультиплатформе 🌈
https://johnoreilly.dev/posts/jetpack_room_kmp/
Прекрасный доклад о текущем статусе разработки KMP
https://www.youtube.com/watch?v=il32V2MNdPc
Введение во все основные концепции корутин с удобными блоками кода и поясняющими диаграммами 🧑💻
https://proandroiddev.com/kotlin-coroutines-101-async-programming-in-practice-062b359d502b
https://touchlab.co/touchlab-build-only-what-you-need
Очередная хорошая статья о KMP от TouchLab! Рассматриваются проблемы скорости билда и пути их решения 🐘
Включить proguard на андроид просто, и скорее всего он сразу заработает как надо, потому что для этого много сделано внутри, например библиотеки публикуют свои правила для него, и это автоматически подхватывается при сборке. С десктопом все не так, и для каждой зависимости надо будет самому настраивать правила минимизации и обфускации. Но это того стоит!
Статья рассматривает эти проблемы и объясняет пути решения:
mike_21858/using-proguard-with-jetpack-compose-desktop-size-reduction-performance-gains-and-pain-481a014c6b0a" rel="nofollow">https://medium.com/@mike_21858/using-proguard-with-jetpack-compose-desktop-size-reduction-performance-gains-and-pain-481a014c6b0a
Меня так вдохновили ваши лайки, что решил вместо сна допилить пару вещей ❤️
🧑💻 добавил WasmJs таргет (учтите, что большинство библиотек его не поддерживает)
🌈 добавил генерацию common Compose UI тестов
🥳 тесты можно запустить прямо на иОС или андроид симуляторе из терминала
P.S: js и wasm экспериментальные, поэтому там с тестами не так гладко. Есть еще над чем поработать 😉
https://terrakok.github.io/Compose-Multiplatform-Wizard/
KotlinConf 2024 Keynote Highlights
https://blog.jetbrains.com/kotlin/2024/05/kotlin-roundup-kotlinconf-2024-keynote-highlights/
Так, коридорный наброс опрос: что у вас работает на мобилке лучше?
Я тут увидел анонс, что флаттер веб в релизе и приготовился к тому, что там прямо хорошо, но у меня почему-то оно работает гораздо хуже, чем компоуз! Или это мой браузер уже знает, чего я хочу? 😂
Особенно на вот этом общем таймлайне 🫣
Слева Flutter: https://wonderous.app/web/
Справа Compose: https://wonderous.shreyashkore.com/
А вот саммари всего что там сказали сегодня в нормальной форме ✅
https://android-developers.googleblog.com/2024/05/15-things-to-know-for-android-developers-google-io-2024.html
terrakok/112416852159900839" rel="nofollow">https://androiddev.social/@terrakok/112416852159900839
Читать полностью…Работает на мобильных браузерах ещё далеко не идеально, но гораздо лучше чем раньше!
https://terrakok.github.io/compose-material-3-gallery/
https://kotlinlang.org/docs/apple-privacy-manifest.html
Apple выкатила новые требования для публикации приложений! Теперь, если ваше приложение использует некоторые системные API (например platform.posix.fstat
), то необходимо при публикации описать причины для этого. Почему это важно? Так как это может делать одна из библиотек, а позаботиться надо вам! (авторы библиотек от Apple туллинга не получили, само собой 👍)
Как пример: библиотека multiplatform-settings или compose-imageloader 🫠
Update: чтобы увидеть проблему в своем приложении можно воспользоваться https://github.com/Wooder/ios_17_required_reason_api_scanner 🔥
https://funkymuse.dev/posts/kmp-firebase/
Пошаговая инструкция, как интегрировать Firebase в KMP приложение с iOS и Android таргетами 🤠
Я только что опубликовал небольшой гредл плагин, чтобы было проще понимать HMPP структуру в проекте.
просто применяете
plugins {
id("io.github.terrakok.kmp-hierarchy").version("1.1")
}
./gradlew :printHierarchy
https://github.com/ShreyashKore/wonderous_compose
Я уже упоминал этот проект как-то раз. Очень красиво и работает на всех возможных платформах! (не надо только пробовать веб версию на мобильных устройствах)
А теперь там появились встроенные карты на всех платформах - стоит изучить 😉
Обновил свой визард:
👉 генерится новый проект
👉 анимации в семпле
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 самый актуальный билд конфиг (от гредл пропертей до советов Джейка В.)
https://terrakok.github.io/Compose-Multiplatform-Wizard/