PhoneGap - архитектурный дизайн - PullRequest
2 голосов
/ 20 ноября 2011

У меня есть вопрос, касающийся базовой архитектуры Phonegap:

1. Проект phonegap содержит файл index.html, который управляет потоком и функциональностью приложения.

ЕслиМне нужно реализовать приложение, которое содержит 4 вкладки, общая идея состоит в том, чтобы создать 4 класса, по одному для каждой вкладки, выделить среднюю секцию для ее представления (верхняя и нижняя секции являются статическими панелями) и изменять ее каждый раз при событии щелчкапроисходит на панели вкладок (нижняя панель).

Должен ли я сжать все в один гигантский файл index.html или использовать пару html-файлов, но как я могу загрузить более одного файла, когда проект развертывается?через PhoneGap (поскольку для развертывания требуется один HTML-файл).

2.Где можно получить хорошее объяснение с примерами создания (и развертывания) полного проекта PhoneGap.

Спасибо, Асаф

Ответы [ 2 ]

2 голосов
/ 18 декабря 2013

только что наткнулся на эту ссылку, хотя и очень старый вопрос, отвечая здесь для удобства последующих посетителей ..

Приложения PhoneGap / Cordova могут быть написаны в двух вариантах

  1. SinglePage Page (на основе ajax, 1 HTML-файл (index.html) + нет JS, CSS, ресурсов)
  2. Многостраничное приложение (несколько HTML-страниц)

Из моего опыта я быПредлагаем перейти к стратегии одностраничного приложения, поскольку она имеет много преимуществ по сравнению с многостраничным приложением, а именно:

Минусы многостраничных приложений Минусы

  1. Из-за перехода между страницами

    • Мерцание и пустой экран при загрузке и выгрузке страниц
    • Потерять что-либо в памяти в JavaScript. (Библиотеки, собранные данные)
  2. Библиотека PhoneGap JavaScript должна быть включена в каждую страницу, которая использует API PhoneGap.

    • Теперь ожидается, что событие DeviceOnReady будет запущено для каждой страницы, это вызовет
      значительная задержка в приложении, что крайне нежелательно.
  3. Apple Appstore (Темный гигант в белом)

    • Любое приложение, которое выглядитили ведет себя так, как если бы веб-сайт был отклонен, и в Руководстве Apple по интерфейсу пользователя iOS явно указано, что приложения, демонстрирующие «веб-дизайн», будут отклонены.

Платформы для предложений CoolПриложение на одну страницу (UI + PhonegGap)

  1. Sencha Touch 2.x, это очень всеобъемлющий мобильный фреймворк, полностью основанный на

HTML5, css, JS и его предложенияхвстроенный MVC также из коробки Store, поэтому его MVCS

M - Model
V - View 
C - Controller
S - Store

взглянуть на http://www.sencha.com/products/touch/

0 голосов
/ 21 ноября 2011

Пожалуйста, ознакомьтесь с этим документом, который называется Get Guild 'для пробела в телефоне.Вы можете настроить PhoneGap на 5 мобильных платформах SDK.

Теперь PhoneGap работает на HTML, CSS и Javascript, поэтому вам необходимо ознакомиться с HTML , CSS , javascript и да, в вашем приложении можно создать несколько html-страниц, для перехода с одной html-страницы на другую вам просто нужно вызвать js-метод window.location из вашего index.html, который используется по умолчаниюглавная html-страница для приложения phonegap.

Вы можете создать нижнюю панель вкладок в phonegap, используя в iPhone два способа, которые вы можете назвать native UITabBarController илиВы можете настроить нижнюю панель вкладок, используя HTML, JS и CSS, так что это может быть полезно для многих платформ.

Существует множество хороших плагинов js для мобильных устройств, которые вы можете легко интегрировать в Phonegap, например senchaНажмите , JQTouch , jQuery Moblie и т. д.

Следующая ссылка поможет вам настроить sencha в phonegap- http://www.sencha.com/learn/a-sencha-touch-mvc-application-with-phonegap

Есливы интересуетесьДля интеграции Sencha Framework, пожалуйста, скачайте Sencha Framework
Демо - http://dev.sencha.com/deploy/touch/examples/kitchensink/

Если вы заинтересованы в JQtouch, вы можете найти полезный код здесь
Демо - http://web.me.com/djpinter1/iPhone/jqtouch/demos/main_tabbar/#ui

спасибо,
Mayur

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...