Последние года 3 пользуюсь Appcelerator Titanium.
https://github.com/appcelerator/titanium_mobile
Не знаю почему он не такой популярный, как варианты выше, видимо проблемы с маркетингом и направление на enterprise, а так же то, что раньше он был платный.
Чем он хорош?
Как и React Native и Xamarin он предоставляет возможность создания _нативных_ приложений, управляемых JavaScript, в отличии от Cordova/Phonegap.
Другой момент, в отличии от конкурентов в Appcelerator появилась возможность писать на JavaScript _нативный код_ ! который при помощи специального транслятора (Hyperloop) превращается в Java / Obj. C
Эта штука позволяет напрямую дергать нативное окружение, минуя бридж между виртуальной машиной V8 и системой, а так же использовать любые нативные фреймворки внутри вашего приложения.
https://www.appcelerator.com/mobile-app-developmen...
Есть MVC фреймворк Alloy:
docs.appcelerator.com/platform/latest/#!/guide/All...
Менеджер модулей:
gitt.io
Так же из коробки есть облачко, если не хочется писать сервер (я пользуюсь им, как бекапом):
docs.appcelerator.com/platform/latest/#!/guide/Mob...
Есть так же аналитика, бесплатный вариант порезанный, но мне хватает.
Добавлю:
Для моделей используется надстройка над Backbone:
docs.appcelerator.com/platform/latest/#!/guide/All...
Которая умеет синкаться с SQLite
Так же пользуюсь модифицированным app.tss из
https://github.com/TNuzzi/wriststrap
(
https://github.com/TNuzzi/wriststrap/blob/master/t...
плюс Jade/Pug (можно через Grunt в XML перегонять, но я пользуюсь Jade Watcher в WebStorm) и получаются симпатичные на мой вкус шаблоны:
Alloy
ScrollView.w-fill.h-fill.lo-v(right=10, left=10).st-vertical // lo-v == (layout='vertical'), w-fill == (width="FILL")
Label#eventName.event-name.l-0
View.lo-c(top=10)
ImageView#photo.event-info-photo(onLoad="photoLoad")
View.event-info-date-time
Label#date.event-info-date-time-label.event-info-date
Label#type.event-info-date-time-label.event-info-type
Label#price.event-info-price
Require#details(src='event/card/event_card_details')
View.bottom-spacer
Если хочется просто запустить локальный сайт, аля Phonegap, просто кидаем в шаблоне WebView компонент:
docs.appcelerator.com/platform/latest/#!/api/Titan...
растягиваем по экрану: width="Ti.UI.FILL", height="Ti.UI.FILL"
в папку с assets добавляем папку с продакшн билдом вашего веб-проекта, и в WebView проставляем ссылку.
Получится та же Cordova, только с уровнем доступа выше, вы через EventListener-ы получите доступ к любым нативным функциям, без сторонних плагинов.
И напоследок канал в Слэк:
https://ti-slack.slack.com