asp.net mvc, jquery mobile, передовые практики архитектуры phonegap - PullRequest
6 голосов
/ 29 марта 2012

Я разрабатываю мобильное приложение, используя ASP.Net MVC для создания HTML 5 страниц.Страницы HTML 5 будут использовать loadPage jQueryMobile для вызова ASP.Net MVC для загрузки страниц в DOM.Затем он будет использовать changePage jQueryMobiles, чтобы сделать страницу активной в DOM, основываясь на взаимодействиях пользователя с приложением.Вызовы приложения MVC будут вызывать различные веб-сервисы для получения исходных данных для построения HTML.

Мы планируем использовать PhoneGap с приложением, чтобы мы могли отправить готовое приложение в магазины Apple и Android.Моему приложению не нужно взаимодействовать с собственными функциональными возможностями устройства (контакты, геолокация и т. Д.) Поскольку нам не нужно взаимодействовать с операционной системой фактического устройства (кроме как для выполнения jQuery ajax-вызовов для приложения MVC), тогда действительно ли нужен PhoneGap?Является ли описанный выше подход подходящим способом сделать веб-приложение жизнеспособным на мобильных устройствах?

Поскольку мое приложение asp.net mvc и будет размещаться на моих серверах, то, что отправляется на Android иМагазины Apple?Это где PhoneGap вступает в игру?PhoneGap создает какой-то исполняемый файл, который отправляется в магазины Android и Apple?Затем этот исполняемый файл загружается на клиентские устройства?Я предполагаю, что исполняемый файл будет затем вызывать сайт MVC через URL для получения HTML-кода приложения?

Правильно ли я смотрю на это?Спасибо за вашу помощь.

1 Ответ

5 голосов
/ 29 марта 2012

Phonegap (или некоторая его замена) не совсем требуется, но очень полезен для создания пакета приложения из вашего источника HTML / JS / CSS. PhoneGap не создает исполняемый файл (это делает ваша IDE), но представляет собой основу функциональности Java to JavaScript (позволяющую запускать код Java из вашего JavaScript).

Phonegap в основном оборачивает ваш сайт HTML / JS / CSS в webview, так что ваш код может интерпретироваться браузером устройства (иногда в более песочнице, чем при обычном запуске браузера, например, до iOS-). 5 webview экземпляры не получают движок Nitro JS, поэтому они работают медленнее, чем веб-сайты в браузере Mobile Safari).

Вы можете создать свой собственный webview, если ваш сайт настолько прост, что не использует никаких других функций PhoneGap, но, поскольку он уже встроен в PhoneGap, и устройству не нужно загружать PhoneGap. Вы могли бы также использовать Phonegap.

Phonegap Build (https://build.phonegap.com/) - это программа, которую вы можете приобрести, чтобы собирать пакеты своих приложений и отправлять их в магазины приложений Apple / Google / RIM / Windows. Как правило, вы просто используете для этого собственную IDE. Например, для создания приложения для iOS необходимо использовать новый компьютер Apple (для сборки последних версий пакетов iOS необходимо иметь последнюю версию ОС) .Пакеты приложений для iOS создаются в XCode, а Eclipse IDE является очень распространенной средой для создайте пакеты приложений для Android: http://developer.android.com/sdk/eclipse-adt.html

Я заметил, что вы сказали, что используете $.mobile.loadPage() для загрузки страниц в DOM и $.mobile.changePage() для навигации пользователя по этим страницам. Если вы просто используете $.mobile.changePage(), он автоматически захватит страницу с помощью loadPage(). Если вы используете loadPage() для предварительной загрузки контента, ознакомьтесь с возможностями предварительной выборки jQuery Mobile: http://jquerymobile.com/demos/1.1.0-rc.1/docs/pages/page-cache.html

ОБНОВЛЕНИЕ для 2014

Недавно я создал несколько приложений, используя Cordova 3.5, и процесс сборки был очень упрощен. Процесс сборки пакета теперь управляется через консоль вашей системы, и все, от установки плагинов до перекомпоновки пакета приложения, стало намного проще.

...