Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025)

Материал из 0x1.tv

Докладчик
Александр Епифанов.jpg
Александр Епифанов

Расскажем о проведённых и текущих работах, связанных с поддержкой отечественных мобильных систем в кроссплатформенном фреймворке Тау Платформа.

Продемонстрируем возможность создания переносимого мобильного ПО между Авророй, Alt Mobile, RED OS M, ROSA Mobile, Astra Mobile, Android, iOS и настольными ОС.

Расскажем о достигнутых на сегодняшний день результатах и о возникающих трудностях.

Видео

on youtube

Презентация

Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025).pdf

Thesis

Ключевые слова: мобильное ПО, кроссплатформенность, фреймворк, тау платформа.

Введение: Тау Платформа (RhoMobile)

Тау Платформа (также известная как RhoMobile Suite) — открытый фреймворк для создания кроссплатформенных приложений, работающих на мобильных и настольных платформах. Доступен под лицензией MIT. Фреймворк использует нативно-гибридную архитектуру приложений, где пользовательский интерфейс реализуется на HTML5/CSS3, а логика приложения — на JS и/или Ruby. Для разделения UI и бизнес-логики используется встроенный локальный HTTP(S) сервер или его эмуляция. Поддержка нативных API реализована через механизм CommonAPI. С 2015 года российская команда в составе компании Тау Технологии осуществляет развитие и поддержку проекта, активно добавляя поддержку отечественных операционных систем.

Архитектура фреймворка

Платформа состоит из основных компонентов: сборочной системы, основанной на Rake; runtime — исполняющей среды на целевой системе; веб-компонента для отображения интерфейса; нативных расширений для доступа к API платформы; платформозависимых частей фреймворка — каркаса нативного приложения со встроенным WebView.

Для каждой целевой платформы определён свой неймспейс задач сборки, при этом существует набор общих задач, используемых всеми платформами. Это позволяет унифицировать процесс сборки и упростить добавление новых платформ.

Runtime включает Ruby VM или Node.js для исполнения бизнес-логики (архитектурно возможна разработка других рантаймов, например Python), нативный код платформы и переносимые библиотеки на C/C++ (SQLite, OpenSSL и т. д.).

Процесс сборки включает использование нативных SDK, компиляцию компонентов фреймворка под целевую платформу, компиляцию пользовательского Ruby-кода в байт-код, дополнительные шаги обфускации и шифрования, а также упаковку в нативный контейнер (APK, RPM и т. д.).

Поддержка российских мобильных ОС

На данный момент реализована поддержка мобильных платформ: Аврора, ROSA Mobile, RED OS M; ведутся работы по поддержке Alt Mobile и Astra Mobile. Также поддерживаются настольные ОС: Ubuntu, ALT, ROSA, RED OS, Astra, Windows, OS X.

Для успешного портирования на новую платформу необходимо наличие подходящего рантайм-фреймворка на целевой системе (Qt, Android/iOS SDK или аналог), веб-компонент для отображения интерфейса и, желательно, возможность кросс-компиляции с машины разработчика. Основная работа при портировании заключается в адаптации системы сборки и написании соответствующих скриптов для интеграции с инструментами целевой платформы. WebView должен предоставлять возможности исполнения JS-кода и управления загрузкой контента.

Для оболочки приложения, как правило, используется Qt + QtWebEngine (кроме Android, iOS и Alt Mobile). Для Авроры используется Qt/QML с адаптацией относительно обычных Linux-систем. Android-based системы, такие как RED OS Mobile, базируются на AOSP, что упрощает портирование. Используется стандартный Android-тулчейн, однако отсутствие GMS создаёт проблемы (например, не работает гугловская реализация сканера штрих-кодов).

Для Alt Mobile и ROSA Mobile есть сложности, связанные с отсутствием развитых средств разработки (SDK, IDE) и кросс-компиляции — приходится строить приложения непосредственно на устройствах или эмуляторе. Некоторые важные компоненты не работают из коробки и требуют адаптации.

Текущие проблемы и решения

Одна из текущих проблем — неработоспособность Qt WebEngine Alt Mobile под aarch64. Решается использованием GTK/libadwaita и обращением к разработчикам дистрибутива. В качестве опции рассматривается возможность самостоятельной сборки Chromium + QtWebEngine.

Сложности кросс-компиляции для ARM решаются использованием QEMU для сборки на целевой архитектуре.

Результаты и планы

На сегодняшний день достигнута поддержка Авроры, RED OS Mobile и ROSA Mobile — есть возможность строить и запускать приложения. Создана унифицированная сборочная система для всех целевых платформ и единый набор API, не зависящий от целевой ОС.

В краткосрочных планах на 2025 год — завершение поддержки Alt Mobile и Astra Mobile, привлечение контрибьюторов из сообщества. В долгосрочной перспективе планируется создание единого стандарта мобильных API для российских ОС, разработка IDE с полноценной интеграцией всех целевых ОС и расширенными возможностями на базе ИИ, формирование активного сообщества разработчиков.

Заключение

Поддержка отечественных ОС в Тау Платформе позволяет существенно снизить затраты на разработку мобильных приложений для российского рынка. Несмотря на технические сложности, связанные с фрагментацией платформ и отсутствием единых стандартов, проект активно развивается и уже сейчас позволяет создавать полноценные бизнес-приложения для широкого спектра отечественных ОС.


Работа над поддержкой российских мобильных ОС в кроссплатформенном фреймворке «Тау Платформа» (Александр Епифанов, OSSDEVCONF-2025)!.jpg

Примечания и ссылки