Как выглядит стек технологий для разработки мобильных приложений на ОС Sailfish от Jolla?
Как выглядит стек технологий для мобильных приложений (нативных и HTML5) для новой операционной системы Sailfish, анонсированной Jolla? В одном центральном месте технологического стека Sailfish OS доступно мало информации, но веб-сайты проектов продуктов с открытым исходным кодом, используемых Sailfish OS, предоставляют следующую информацию:
- Базовая операционная система: ОС Sailfish использует Meego fork Mer в качестве основной операционной системы. Mer сосредоточена вокруг сверхпортативного ядра Linux + HTML5/QML/JS. Для ОС Sailfish проект Mer служит основной ОС, предоставляя функциональное ядро стека Linux, которое загружается на экран, но без какого-либо пользовательского интерфейса и без какой-либо аппаратной адаптации.
- Пользовательский интерфейс: Sailfish OS использует части бывшего Meego UI - MeeGo Handset UX - который теперь известен как Nemo Mobile.
- Sailfish SDK: Sailfish SDK основан на QtCreator и будет доступен в Windows, Linux и OS X. Ожидается, что бинарные файлы SDK будут доступны в конце 2012 или начале 2013 года. SDK состоит из инструментов Mer Core, Qt Creator, компонентов пользовательского интерфейса Jolla., Интерфейс пользовательского интерфейса Sailfish и интерфейсы приложений телефона Salfish.
- Приложения HTML5: Команда разработчиков Sailfish исследует использование Apache Cordova (ранее PhoneGap) для Qt для обеспечения возможности разработки мобильных приложений на основе HTML5.
- Приложения Android на Sailfish: Многие приложения Android будут работать на устройствах Sailfish OS / Jolla без изменений. Чтобы воспользоваться всеми функциями пользовательского интерфейса и другими функциями ОС Sailfish и сделать приложение быстрым, приложение может быть портировано на собственный QT/QML.
Исходя из вышеприведенной информации, кажется, что будет три подхода к созданию мобильных приложений для Sailfish OS:
- Собственное приложение с использованием основных API Mer, компонентов пользовательского интерфейса Jolla, инфраструктуры пользовательского интерфейса Sailfish и интерфейсов приложений для мобильных телефонов.
- Повторное использование существующих приложений Android (хотя нет подробной информации о том, какие функции будут поддерживаться для таких приложений).
- HTML5 / JavaScript на основе API Apache Cordova.
А это означает, что могут использоваться следующие языки программирования и разметки:
- C++ и QT
- Языки разметки: QML (нативные приложения) и HTML (Cordova)
- JavaScript, CSS (как для приложений на основе Cordova, так и для QT/QML)
Чего-то не хватает, или я неправильно понял некоторую информацию? До сих пор я не занимался какой-либо разработкой QT / QML, было бы полезно, если бы кто-то с большим опытом мог бы дать мне какой-то вклад.
1 ответ
(1) Я думаю, что вы взяли на себя обязательство: повторно использовать существующие приложения MeeGo и Tizen (особенно MeeGo Harmattan из Nokia N9) (хотя они будут работать при правильной написании со стандартами MeeGo и до тех пор, пока не сделают что-либо существенно несовместимое с пользовательским интерфейсом Sailfish OS или Стандарт MeeGo API, который используется Mer).
Для приложений MeeGo и Android может потребоваться небольшая адаптация, чтобы получить пользовательский интерфейс Sailfish и максимальную скорость. Когда они будут написаны на Qt, это будет относительно проще.
Я рассматриваю Tizen как разветвление MeeGo, с обратной совместимостью, которой следовал стандарт MeeGo, следовательно, и с вышеупомянутым "но", я рассматриваю приложения MeeGo и Tizen вместе в вышеупомянутом аспекте.
(2) Вы также не указали, что ОС Sailfish в качестве полноценного Linux может запускать программное обеспечение Linux с пакетами RPM, используемыми Sailfish. Он работал с MeeGo Harmattan (но с использованием только DEB), так что это возможный вариант для Sailfish OS, например. LibreOffice или OppenOffice, как и в случае с MeeGo Harmattan OpenOffice работал и работал с ограничениями устройства Nokia N9, однако было возможно писать и редактировать тексты. Это дает доступ к большой библиотеке программного обеспечения, однако размеры устройства могут ограничивать его на практике.
Это также вопрос доступности режима dev на устройстве Sailfish, который сейчас невозможно проверить.
(3) SDK, как было сказано во время неоплаченной презентации, будет с инструментами Mer, но открытыми и гибкими, что означает, что организация / группа / пользователь сможет просто изменить его, например. добавление определенных инструментов, необходимых для них, что дает возможность создавать среду, которая будет связана с контекстом или конкретными потребностями конкретного разработчика (ов), например, инструментов компании и т. д. Это сделает разработку / кодирование проще, быстрее и дешевле. Я думаю, что это может быть важно для разработчиков и программистов.