Раз Compose for iOS официально анонсирован, хочу поделиться результатом работы за последние несколько недель. Набор библиотек MOKO получил поддержку Compose Multiplatform. Compose дает UI, а MOKO дополняет его интеграциями с платформенными фичами, такими как runtime permissions, ресурсы и т.д.
Также подготовлен шаблон проекта, на основе официального compose multiplatform шаблона.
Если будут вопросы, идеи, предложения по MOKO - можно обращаться в чат @mokoicerock
Также подготовлен шаблон проекта, на основе официального compose multiplatform шаблона.
Если будут вопросы, идеи, предложения по MOKO - можно обращаться в чат @mokoicerock
Medium
Maximizing Mobile Code Reuse with Compose Multiplatform and MOKO Libraries
Unlock the full potential of mobile code reuse with Compose Multiplatform and MOKO libraries
Встречайте Compose Multiplatform!
https://www.jetbrains.com/lp/compose-multiplatform/
https://www.jetbrains.com/lp/compose-multiplatform/
Несмотря на то, что я давно и много пользуюсь IDE нашей компании, но сам знаю далеко не все фичи, коих тут несметное множество!
Поэтому с радостью читаю блог посты про всякие возможности. Вот, например, еще один вышел:
https://blog.jetbrains.com/idea/2023/04/quick-features-in-intellij-idea/
Поэтому с радостью читаю блог посты про всякие возможности. Вот, например, еще один вышел:
https://blog.jetbrains.com/idea/2023/04/quick-features-in-intellij-idea/
The JetBrains Blog
‘Quick’ Features in IntelliJ IDEA | The IntelliJ IDEA Blog
A few IntelliJ IDEA features or actions include the term ‘quick’. Do they speed up certain processes? Let’s find out. In this blog post, I’ll cover what these features are, why you need them, and how
Подробный разбор использования MVI в мультиплатформенных мобильных проектах:
https://habr.com/ru/companies/kts/articles/729832/
Не компоузом единым! 🚀
https://habr.com/ru/companies/kts/articles/729832/
Не компоузом единым! 🚀
Хабр
Почему так удобно использовать паттерн MVI в KMM
Привет! Меня зовут Стефан Серхир. Я мобильный разработчик в KTS . Пишу под Android, iOS и КММ (Kotlin Multiplatform Mobile) и веду курсы в школе Metaclass. Недавно мы провели вебинар, в котором...
https://kotl.in/multiplatform-survey-spring-23
Мы в команде всегда очень внимательно относимся к результатам наших опросов, поэтому будем рады, если вы потратите некоторое время на прохождения нового 🙏
Да, он довольно длинный, но это те данные, которые нам очень помогут в развитии языка и туллинга, выходу в релиз Kotlin Multiplatform и разработке Compose Multiplatform! 🤌
Когда вы устанете заполнять ответы на середине, вспомните про нас, кто их составлял и будет читать и анализировать! 🥰
Мы в команде всегда очень внимательно относимся к результатам наших опросов, поэтому будем рады, если вы потратите некоторое время на прохождения нового 🙏
Да, он довольно длинный, но это те данные, которые нам очень помогут в развитии языка и туллинга, выходу в релиз Kotlin Multiplatform и разработке Compose Multiplatform! 🤌
Когда вы устанете заполнять ответы на середине, вспомните про нас, кто их составлял и будет читать и анализировать! 🥰
В стриме я упомянул несколько вещей, теперь поделюсь ими тут 🥳
Мы выкатили экспериментальную фичу, которая позволяет не настраивать иерархию сорсетов, а использовать стандартный дефолт, который подойдет большинству. Если нет, то остается возможность его настраивать или писать свою иерархию
https://kotlinlang.org/docs/multiplatform-hierarchy.html#adjust-the-resulting-hierarchy
Мы выкатили экспериментальную фичу, которая позволяет не настраивать иерархию сорсетов, а использовать стандартный дефолт, который подойдет большинству. Если нет, то остается возможность его настраивать или писать свою иерархию
https://kotlinlang.org/docs/multiplatform-hierarchy.html#adjust-the-resulting-hierarchy
Совершенно забыл сказать про это.
Touchlab написали статью с объяснением некоторых аспектов в вашем гредл скрипте 👍
Тут и про подключение плагинов, и про репозитории.
https://touchlab.co/gradle-cheat-sheet/
Touchlab написали статью с объяснением некоторых аспектов в вашем гредл скрипте 👍
Тут и про подключение плагинов, и про репозитории.
https://touchlab.co/gradle-cheat-sheet/
https://www.youtube.com/playlist?list=PLlFc5cFwUnmwcJ7ZXyMmS70A9QFyUu1HI
Все видео с KotlinConf 2023 нарезаны и разложены 🎂
А еще, я считаю, что заставка просто топовая получилась в этом году 🤩
Все видео с KotlinConf 2023 нарезаны и разложены 🎂
А еще, я считаю, что заставка просто топовая получилась в этом году 🤩
Forwarded from Mobile Developer (Алексей Гладков)
Что такое Compose Multiplatform?
https://habr.com/ru/companies/timeweb/articles/734818/
Кто-то наконец-таки обобщил всю разрозненную информацию в одной статье, за что большое спасибо. Подходит тем, кто ничего не слышал про Compose Multiplatform или слышал, но не вникал
https://habr.com/ru/companies/timeweb/articles/734818/
Кто-то наконец-таки обобщил всю разрозненную информацию в одной статье, за что большое спасибо. Подходит тем, кто ничего не слышал про Compose Multiplatform или слышал, но не вникал
Хабр
Четыре платформы — один код. Что такое Compose Multiplatform?
Разработчики давно грезили о возможности писать кроссплатформенный код — такой, который запускался и работал бы одинаково в любой операционной системе любой архитектуры. Сегодня принципом «Write once,...
Тем временем, Макдоналдс по всю использует Kotlin Multiplatform в своих продуктах и делится опытом: https://medium.com/mcdonalds-technical-blog/mobile-multiplatform-development-at-mcdonalds-3b72c8d44ebc
Если кто-то, как и я, думал, что у библиотеки compose-imageloader нет кеширования в памяти и на диске, то оно есть! И на андроиде, и на иОС и на десктопе 🥳
Просто это не отображено явно в документации и его надо настраивать руками, так как на андроиде необходимо передать контекст. А на всех платформах надо предоставить путь до папки с кешем.
Как это делается можно посмотреть тут: коммит
Просто это не отображено явно в документации и его надо настраивать руками, так как на андроиде необходимо передать контекст. А на всех платформах надо предоставить путь до папки с кешем.
Как это делается можно посмотреть тут: коммит
GitHub
GitHub - qdsfdhvh/compose-imageloader: Compose Image library for Kotlin Multiplatform.
Compose Image library for Kotlin Multiplatform. Contribute to qdsfdhvh/compose-imageloader development by creating an account on GitHub.
Media is too big
VIEW IN TELEGRAM
Заодно рекомендую полезную библиотеку с поддержкой инсетов на андроид+иОС+десктоп
https://github.com/mori-atsushi/insetsx
https://github.com/mori-atsushi/insetsx
https://github.com/msasikanth/reader
Наверное, самое красивое приложение из открытых, которое я видел на мультиплатформе! 😍
Показательно, что на его создание ушло всего несколько недель - для открытого петпроекта это очень круто, и говорит о том, что технология позволяет быстро реализовывать идеи 😉
Наверное, самое красивое приложение из открытых, которое я видел на мультиплатформе! 😍
Показательно, что на его создание ушло всего несколько недель - для открытого петпроекта это очень круто, и говорит о том, что технология позволяет быстро реализовывать идеи 😉
https://kotlinlang.org/docs/whatsnew-eap.html
Вышла бета Котлин 1.9.0!
Теперь поддержан кеш конфигураций Gradle - если нет изменений в билд скриптах, то запуск будет практически мгновенным, по модулю билд кешей 😉 (это первый этап и основной профит будет для авторов библиотек. поддержка Xcode тасок и прочего в разработке)
Еще из важного - имя андроид таргета временно изменено на androidTarget в связи с теми изменениями интеграции с AGP, про которые я говорил недавно в подкасте 📺
ну и много других изменений! ждем фидбека 🤙
Вышла бета Котлин 1.9.0!
Теперь поддержан кеш конфигураций Gradle - если нет изменений в билд скриптах, то запуск будет практически мгновенным, по модулю билд кешей 😉 (это первый этап и основной профит будет для авторов библиотек. поддержка Xcode тасок и прочего в разработке)
Еще из важного - имя андроид таргета временно изменено на androidTarget в связи с теми изменениями интеграции с AGP, про которые я говорил недавно в подкасте 📺
ну и много других изменений! ждем фидбека 🤙
Kotlin Help
What's new in Kotlin 2.2.0-RC2 | Kotlin
https://github.com/Kamel-Media/Kamel/releases/tag/v0.5.0
Библиотека Kamel поддержала Apple таргеты! 🥳
Библиотека Kamel поддержала Apple таргеты! 🥳
GitHub
Release 0.5.0 · Kamel-Media/Kamel
Update to Kotlin v1.8.20
Update Compose to version 1.4.0
#23 Add support for Kotlin Native Targets: iosArm64, iosX64, iosSimulatorArm64, macosX64, macosArm64
#23 Support for JS Kotlin Target
Experi...
Update Compose to version 1.4.0
#23 Add support for Kotlin Native Targets: iosArm64, iosX64, iosSimulatorArm64, macosX64, macosArm64
#23 Support for JS Kotlin Target
Experi...
Выпустили обновление плагина для Андроид Студии. Теперь билд скрипты используют новую дефолтную иерархию 🥳 (про которую я подробно тоже рассказывал в подкасте)
Недавно в чате в очередной раз всплыл вопрос о том, что не надо использовать expect/actual там где достаточно обычных интерфейсов. А сегодня я наткнулся на статью как раз об этом!🤌
https://proandroiddev.com/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b
Коин классный и популярный DI фреймворк. Автор на его примере показывает, как инжектить платформенные реализации в общий код. 👍
https://proandroiddev.com/achieving-platform-specific-implementations-with-koin-in-kmm-5cb029ba4f3b
Коин классный и популярный DI фреймворк. Автор на его примере показывает, как инжектить платформенные реализации в общий код. 👍
Forwarded from Sur Nam
🟣 Kotlin Multiplatform Tech Talk
Когда: 27 Июля 17:00 (GMT+3)
Язык: Английский
📣 Возможности переиспользования кода с Kotlin Multiplaftorm
Спикеры: Александр Погребняк и Алексей Лобыня, IceRock
📣 Q&A сессия с JetBrains посвященная Kotlin Multiplatform.
Спикеры: Константин Цховребов и Pamella Hill
Вопросы можно задать в чате и по ссылке (на русском или английском). Подробности мероприятия тут
Когда: 27 Июля 17:00 (GMT+3)
Язык: Английский
📣 Возможности переиспользования кода с Kotlin Multiplaftorm
Спикеры: Александр Погребняк и Алексей Лобыня, IceRock
📣 Q&A сессия с JetBrains посвященная Kotlin Multiplatform.
Спикеры: Константин Цховребов и Pamella Hill
Вопросы можно задать в чате и по ссылке (на русском или английском). Подробности мероприятия тут
Короткий но важный опрос! Используете ли вы аннотацию @Suppress("CONFLICTING_OVERLOADS”) при перегрузке Objective-C методов в Kotlin/Native?
Anonymous Poll
3%
Да, часто использую в реальных проектах
10%
Да, иногда использую в реальных проектах
2%
Да, использую, но только в семплах, а не в настоящих проектах
8%
Нет, я переопределяю ObjC методы, но без этой аннотации
77%
Нет, я никогда не переопределяю ObjC методы