8 платформ, нативный UI, общая бизнес-логика на Rust и Kotlin.
Проект KMP & Rust демонстрирует способы взаимодействия библиотек Rust и Kotlin с нативными платформами и тестирует разницу в производительности языков. На всех платформах тестовая функция запускается асинхронно и проверяет:
- Интенсивные вычисления в цикле
- Работу с динамической памятью
- Вычисления с плавающей запятой
Результаты:
- Web (React): Rust ~1290ms, Kotlin ~5971ms
- Android (Jetpack Compose): Rust ~1599ms, Kotlin ~1516ms
- Aurora OS (Qt/QML): Rust ~1285ms, Kotlin ~1472ms
- Linux (Gnome): Rust ~1498ms, Kotlin ~1743ms
- iOS (SwiftUI): Rust ~1179ms, Kotlin ~1308ms
- macOS (SwiftUI): Rust ~1138ms, Kotlin ~1288ms
- HarmonyOS (ArkUI): Rust ~3616ms, Kotlin — нет поддержки
- Windows (WPF): Rust ~1147ms, Kotlin ~5799ms
Rust:
- Минимальный разброс между платформами
- Предсказуемая производительность
- Широкая поддержка платформ
- Минимальный overhead
- Понятное подключение к платформам
- Отсутствие привязок к конкретным платформам
Kotlin:
- Удобство использования на некоторых платформах
- Отличная оптимизация в Android
- Ограниченная поддержка платформ
- Молодые и медленные таргеты (Wasm/MinGW)
- Замедляющие абстракции и runtime
- Сложности работы с C-библиотеками
Итог:
Rust — отличный кандидат для создания библиотеки с общей бизнес-логикой. Он стабилен, прост и поддерживает широкий выбор платформ. KMP хорош в Android и iOS/macOS благодаря генерации привязок к платформе — в Rust это нужно делать руками. С другой стороны, C-библиотеки в KMP — это ужасно. В общем: Rust — blazing fast🚀 , Kotlin — как получится.
Проект KMP & Rust демонстрирует способы взаимодействия библиотек Rust и Kotlin с нативными платформами и тестирует разницу в производительности языков. На всех платформах тестовая функция запускается асинхронно и проверяет:
- Интенсивные вычисления в цикле
- Работу с динамической памятью
- Вычисления с плавающей запятой
Результаты:
- Web (React): Rust ~1290ms, Kotlin ~5971ms
- Android (Jetpack Compose): Rust ~1599ms, Kotlin ~1516ms
- Aurora OS (Qt/QML): Rust ~1285ms, Kotlin ~1472ms
- Linux (Gnome): Rust ~1498ms, Kotlin ~1743ms
- iOS (SwiftUI): Rust ~1179ms, Kotlin ~1308ms
- macOS (SwiftUI): Rust ~1138ms, Kotlin ~1288ms
- HarmonyOS (ArkUI): Rust ~3616ms, Kotlin — нет поддержки
- Windows (WPF): Rust ~1147ms, Kotlin ~5799ms
Rust:
- Минимальный разброс между платформами
- Предсказуемая производительность
- Широкая поддержка платформ
- Минимальный overhead
- Понятное подключение к платформам
- Отсутствие привязок к конкретным платформам
Kotlin:
- Удобство использования на некоторых платформах
- Отличная оптимизация в Android
- Ограниченная поддержка платформ
- Молодые и медленные таргеты (Wasm/MinGW)
- Замедляющие абстракции и runtime
- Сложности работы с C-библиотеками
Итог:
Rust — отличный кандидат для создания библиотеки с общей бизнес-логикой. Он стабилен, прост и поддерживает широкий выбор платформ. KMP хорош в Android и iOS/macOS благодаря генерации привязок к платформе — в Rust это нужно делать руками. С другой стороны, C-библиотеки в KMP — это ужасно. В общем: Rust — blazing fast
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥9👍3
Все подготовительные мероприятия пройдены: провел небольшое RnD по Rust — да, я думаю, вполне могу его взять для реализации своего приложения под 8 платформ с нативным UI и не разориться на сервере. Будем делать blazing fast и красиво. Мне нравится Kotlin, да и Flutter неплох, но это компромиссы — зачем они в pet-проектах? Когда-то говорили, что Full-Stack — это перебор, как насчет Full-Multiplatform?
🔥8👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Денис Глазков — Твое первое приложение на KMP для ОС Аврора
Подробнее о конференции Mobius: https://jrg.su/ojGU3B
— —
Скачать презентацию с сайта — https://jrg.su/uzfKkE
Речь пойдет о перспективах адаптации фреймворка Kotlin Multiplatform под ОС Аврора и о том, как выглядит создание KMP-приложения с точки зрения…
— —
Скачать презентацию с сайта — https://jrg.su/uzfKkE
Речь пойдет о перспективах адаптации фреймворка Kotlin Multiplatform под ОС Аврора и о том, как выглядит создание KMP-приложения с точки зрения…
🔥8
Знаете ли вы, что подходить к выбору лицензии для своего open-source проекта нужно аккуратно? Выбирать зависимости нужно только с совместимыми лицензиями. Думаю, с лицензиями сталкивался любой разработчик.
А как часто вы регистрируете в Роспатенте название своего приложения? Представьте ситуацию: вы пишете приложение, выкладываете его в сторы, набираете популярность, а через время кто-то регистрирует ваше название вместо вас, форкает ваш проект — и вы становитесь лишним в своей же разработке. Just think about it.
А как часто вы регистрируете в Роспатенте название своего приложения? Представьте ситуацию: вы пишете приложение, выкладываете его в сторы, набираете популярность, а через время кто-то регистрирует ваше название вместо вас, форкает ваш проект — и вы становитесь лишним в своей же разработке. Just think about it.
🔥10💯4
Forwarded from Aurora Developers (Vitaliy Zarubin)
🔥 Compose Multiplatform доступен на ОС Аврора!
Отличные новости для Kotlin-сообщества и всех, кто интересуется российской мобильной разработкой. Теперь вы можете создавать приложения для ОС Аврора, используя современный и привычный инструментарий — Kotlin и Compose Multiplatform.
Что опубликовано:
В репозитории на mos.hub выложены компоненты, необходимые для разработки:
- Проекты Compose Multiplatform для сборки.
- Готовые артефакты в репозитории Aurora Maven.
- Плагин для Gradle, упрощающий сборку приложений.
Что дальше?
В планах — расширение поддержки платформы и стабилизация проекта. А уже сейчас в документации вы найдете подробное руководство по началу работы, а также два демонстрационных приложения, которые помогут быстро разобраться с особенностями платформы.
👉 Документация
Хотите помочь проекту стать лучше?
Присоединяйтесь к разработке на mos.hub! Мы открыты к вашему коду и экспертизе. Только #ВМЕСТЕ мы сможем сделать инструмент максимально полезным для всего сообщества.
👉 Репозиторий
Отличные новости для Kotlin-сообщества и всех, кто интересуется российской мобильной разработкой. Теперь вы можете создавать приложения для ОС Аврора, используя современный и привычный инструментарий — Kotlin и Compose Multiplatform.
Что опубликовано:
В репозитории на mos.hub выложены компоненты, необходимые для разработки:
- Проекты Compose Multiplatform для сборки.
- Готовые артефакты в репозитории Aurora Maven.
- Плагин для Gradle, упрощающий сборку приложений.
Что дальше?
В планах — расширение поддержки платформы и стабилизация проекта. А уже сейчас в документации вы найдете подробное руководство по началу работы, а также два демонстрационных приложения, которые помогут быстро разобраться с особенностями платформы.
👉 Документация
Хотите помочь проекту стать лучше?
Присоединяйтесь к разработке на mos.hub! Мы открыты к вашему коду и экспертизе. Только #ВМЕСТЕ мы сможем сделать инструмент максимально полезным для всего сообщества.
👉 Репозиторий
🔥10❤1👎1
Demo Compose Multiplatform
- Демонстрация жеста прокрутки.
- Отображение состояния интернет соединения.
- Демонстрация работы диалога.
- Форма с различными типами полей ввода.
- Подключение индивидуальных шрифтов.
- Набор иконок Aurora 5 UI-Kit.
- Демонстрация работы жизненных циклов.
- Работа с Canvas.
- Использование Lottie анимации.
🔗 mos.hub
- Демонстрация жеста прокрутки.
- Отображение состояния интернет соединения.
- Демонстрация работы диалога.
- Форма с различными типами полей ввода.
- Подключение индивидуальных шрифтов.
- Набор иконок Aurora 5 UI-Kit.
- Демонстрация работы жизненных циклов.
- Работа с Canvas.
- Использование Lottie анимации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4👎1
Forwarded from PRO Hi-Tech
Microslop начала блокировать комментарии на официальном дискорде, в которых компанию называют Microsoft. Точнее, наоборот. Ну, вы поняли.
По слухам, Сатья Наделла чуть ли не до Кондратия доходит, когда кто-то называет продукт выдачи LLM нейрослопом, т.е. нейропомоями.
По слухам, Сатья Наделла чуть ли не до Кондратия доходит, когда кто-то называет продукт выдачи LLM нейрослопом, т.е. нейропомоями.
😁7
This media is not supported in your browser
VIEW IN TELEGRAM
Общая бизнес-логика Kotlin Rust в Web-приложении на React. Первые запросы к API - signcheck, signin, signout.
🔥5👍2
Еще один этап разработки позади — перехожу к проектированию архитектуры ядра для других платформ.
Что уже работает:
- Небольшое API на Axum (Rust)
- React-приложение с HTTP-запросами через ядро
- Наброски стиля — база для развития
- Вся web-инфраструктура в Docker Compose
Всё выложил, можно посмотреть вживую:
🔗 https://dev.ydx.keygenqt.com
🔗 https://dev.ydx.keygenqt.com/api
🔗 https://dev.ydx.keygenqt.com/docs
🔗 https://dev.ydx.keygenqt.com/pgadmin
Что уже работает:
- Небольшое API на Axum (Rust)
- React-приложение с HTTP-запросами через ядро
- Наброски стиля — база для развития
- Вся web-инфраструктура в Docker Compose
Всё выложил, можно посмотреть вживую:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3