Ответ 1
В чем разница между Phonegap и Sencha Touch?
Sencha Touch - это полная и богатая среда для создания мобильных пользовательских интерфейсов и моделирования связанных данных, серверной связи и бизнес-логики. Как и Sencha ExtJS для настольных/планшетных приложений, вы кодируете большую часть приложения, используя чистый проект MVC на основе классов Javascript. HTML генерируется этими классами, которые рассматривают HTML как язык ассемблера. Это абстрагирует различия/ошибки/qwerks между различными браузерами мобильных платформ и версиями браузера, сохраняя разработчика от большей части боли, которую демонстрируют решения на основе HTML. Вместо этого разработчик собирает компоненты более высокого уровня, которые предоставляют такие функции, как моделирование данных и привязка к коллекции, перетаскивание и анимация пользовательского интерфейса. Вы также получаете плавную прокрутку и автоматическую предварительную выборку данных из потенциально бесконечных коллекций данных, при этом внутренняя доставка оптимизированной производительности DOM через повторное использование элементов DOM. Это стало возможным благодаря тому, что вы больше не кодируете HTML или XML напрямую, а классы Javascript создают/уничтожают/перерабатывают элементы DOM для вас. Вы все равно можете настраивать компоненты с помощью HTML-шаблонов.
ExtJS 5 теперь поддерживает ViewModels (MVVM), и поэтому ожидается, что Sencha Touch 3.x также будет.
Вы можете использовать Sencha Touch для создания веб-приложений, которые выглядят и воспринимаются как мобильные приложения, или вы можете скомпилировать их в собственные приложения, которые поставляются либо с родной оболочкой PhoneGap, либо с собственной оболочкой Sencha. Sencha фокусирует будущие усилия на родной оболочке PhoneGap поверх нее и предоставляет несколько связанных с устройствами классов, которые интегрируются с API-интерфейсами PhoneGap, и иногда обеспечивает имитацию этих API-интерфейсов, когда PhoneGap не загружен (например, тестирование в браузере рабочего стола).
PhoneGap предоставляет мост для кода Javascript для вызова собственных функций устройства (таких как цифровой компас, микрофон, камера, аккумулятор, возможности/статус устройства, файловая система и т.д.). Они предоставляются через PhoneGap плагины, которые повторно реализованы с идентичными интерфейсами Javascript на каждой платформе ОС. Плагины могут или не могут интегрироваться с этими аппаратными средствами или другими функциями операционной системы (например, плагины сканирования штрих-кода используют камеру, в то время как механизм базы данных SQLite обращается к локальной файловой системе). PhoneGap поставляется с несколькими стандартными плагинами, но в настоящее время зарегистрировано 550+ здесь.
В чем разница между Sencha Touch и Sencha Touch 2?
Оригинальные Sencha Touch 1.x и Sencha ExtJS 4.1 теперь обе устарели, но оба использовали более раннюю модель класса Javascript. Sencha Touch 1.x также не обладал многими другими функциями, включая интеграцию с PhoneGap и новой системой сборки Sencha Command.
Sencha Touch 2.x представила новый более умный и компактный дизайн, который был полностью принят ExtJS 5.x. ExtJS 5.x также отображает модели (MVVM для замены MVC), которые, как мы ожидаем, будут (пока не выпущены) Sencha Touch 3.x
Если вы планируете использовать PhoneGap и Sencha Touch вместе, вас также может заинтересовать Sencha Touch Live, бесплатное приложение с открытым исходным кодом, которое я создал, что значительно повысит вашу производительность. С помощью одной команды он может создавать, компилировать, развертывать и запускать новое приложение на устройстве (или эмуляторе/имитаторе устройства). Затем вы можете "трансформировать" код Sencha Touch одним или несколькими устройствами/эмуляторами. Вы просто сохраните файл и перезагрузите приложение на устройства. Он даже автоматически компилирует ваши файлы SCCS в CCS. Поэтому вам редко приходится перекомпилировать/повторно развернуть/перезапустить или перезапустить отладчики, просто отредактировать и сохранить и сразу просмотреть результаты на нескольких устройствах. В отличие от приложения PhoneGap Developer App, на котором оно было основано, вы можете использовать любой из плагинов PhoneGap. Тонны других интересных функций, которые вам нравятся!