Создатель системы управления базами данных «MySQL» Майкл «Монти» Видениус (Michael ‘Monty’ Widenius) сообщил в своем блоге об инвестировании в проект по разработке открытой платформы для создания кроссплатформенных мобильных приложений — MoSync. По заявлению Видениуса, он видит в проекте MoSync примерно такой-же потенциал, какой наблюдался им на начальном этапе развития MySQL. MoSync позволяет унифицировать разработку программ для всех популярных мобильных платформ, не заботясь об особенности каждой из них.
Исходные тексты всех составляющих частей MoSync распространяются в рамках лицензии GPLv2, для использования кода проекта в проприетарных разработках предусмотрен вариант двойного лицензирования.
Костяк MoSync составляет SDK, позволяющий создавать мобильные программы на языках C/C++ с использованием специального набора библиотек, которые затем транслируются в представление, адаптированное для выполнения на платформах Android, Windows Mobile, S60, Moblin и JavaME. В ближайшем будущем ожидается поддержка iPhone, MeeGo и Blackbery. Для упрощения разработки подготовлена специальная интегрированная среда разработки на базе Eclipse, а также отладчик, эмулятор для оценки работы программ на телефонах, набор компиляторов, средства сборки и вспомогательные утилиты.
Для обеспечения работы базового приложения, написанного на C/C++, в вид пригодный для работы на принципиально отличающихся мобильных платформах, код приложения транслируется в специальное промежуточное представление (MoSync Intermediate Language) при помощи специально разработанного на базе GCC компилятора. В дальнейшем производится компиляция промежуточной формы в конечные приложения для целевых платформ. При этом MoSync Intermediate Language может быть трансформирован в байткод MoSync, Java-байткод или исходные тексты на языках C/C++. Сборка runtime-компонентов производится с учетом особенностей каждого устройства: в текущий момент база профилей включает описание для примерно 800 моделей телефонов и мобильных устройств.
Программный API-интерфейс MoSync поддерживает широкий спектр возможностей, среди которых функции для работы с 3D, звуком, телефонией, GPS, HTTP, XML, Bluetooth, GUI-библиотека MAUI и т.п. В будущем планируется реализация поддержки разработки мобильных приложений на динамических языках программирования, таких как Java, Ruby, PHP и Python.
Источник: openNET