Я разрабатываю большое гибридное мобильное приложение (PhoneGap/HTML5), которое должно содержать множество просмотров и серверных вызовов. После некоторых поисков в Интернете я обнаружил, что могу организовать свой код с помощью RequireJS, Backbone и jQuery Mobile. Я следовал this tutorial, что очень полезно, но я не очень доволен ...Какая лучшая архитектура для гибридного мобильного приложения?
Проблема в том, что каждый вид загружается RequireJS, когда я нажимаю ссылку или кнопку, и заменяет содержимое предыдущего view ... Я имею в виду, что весь код HTML между <body></body>
заменяется содержимым нового представления. И если я решил не заменять предыдущий код и добавлять новый код, существует риск того, что приложение может быть не очень удобным для пользователя.
Я думал отделить все виды и поместить их в несколько файлов HTML и написать Javascript, который загружает все файлы HTML и добавляет их в основной корпус, но я не знаю, является ли это хорошей практикой и если мое приложение будет очень удобным для пользователя. Вот пример того, как я думал организовать свой код:
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
</head>
<body>
<!-- Here will be added the content of all the other HTML files -->
</body>
</html>
<!-- homeView.html -->
<div data-role="header" data-theme="f">
<h1 data-i18n="sections.home.title"></h1>
</div>
<div data-role="content">
<h1 data-i18n="sections.home.welcome"></h1>
</div>
<!-- otherView.html -->
<div data-role="header" data-theme="f">
<h1 data-i18n="sections.otherView.title"></h1>
</div>
<div data-role="content">
<p data-i18n="sections.otherView.content"></p>
</div>
Что вы, ребята, думаете об этом? У кого-то есть лучшее решение? Моя цель - создать сильное, текучее и поддерживаемое приложение.
Благодарим за помощь.
Давайте рассмотрим, что у меня есть приложение для новостей. В домашнем представлении будет много новостей, полученных с сервера, и с помощью панели меню я могу открыть представление настроек. И когда я закрываю эту точку зрения, я хочу вернуться к домашнему виду с тем же состоянием, каким оставил его (я полагаю, у меня скроллер вниз ...). Как я могу сделать это с помощью Backbone (и Underscore) и отделяя HTML-код от двух представлений? –
Под «state» вы подразумеваете, что хотите сохранить новостные элементы, полученные с сервера, и, например, позицию курсора, если пользователь прокрутил вниз? – axelcdv
Да, это то, что я хочу :) –