我正在開發一個大型混合移動應用程序(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
是的,這就是我想要的:) –