我正在开发一个大型混合移动应用程序(PhoneGap/HTML5),它必须包含大量的视图和服务器调用。在互联网上进行了一些搜索后,我发现我可以使用RequireJS,Backbone和jQuery Mobile组织我的代码。我跟着this tutorial,这是非常有用的,但我并不十分满意......混合移动应用程序的最佳体系结构是什么?
问题是,当我按下链接或按钮时,每个视图都是由RequireJS加载的,它将替换先前的内容查看...我的意思是,<body></body>
之间的整个HTML代码被新视图的内容所取代。如果我决定不替换以前的代码并追加新的代码,则存在应用程序可能不是非常用户友好的风险。
我曾想过将所有视图分开,并将它们放在多个HTML文件中,然后编写一个载入所有HTML文件并将它们附加到主体的Javascript,但我不知道这是否是一种好的做法如果我的应用程序将非常用户友好。下面是我怎么想安排我的代码示例:
<!-- 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)并分离2个视图的HTML代码? –
“状态”表示您希望保持从服务器获取的新闻项目,例如,如果用户向下滚动了光标位置? – axelcdv
是的,这就是我想要的:) –