2012-04-04 132 views
2

作爲一個將腳本程序員轉移到JS/jQuery中,我經常需要編寫主要針對iOS的多頁面應用程序,並且我想知道構建此類應用程序的最佳方式是什麼。使用Javascript構建多頁應用程序的最佳方式

大部分時間我的應用程序是演示文稿,其中每個頁面都有不同的行爲(例如,頁面1上的一些彈出窗口,頁面2上的一組滑塊,頁面3上的一些拖放操作......您可以看到圖片) ,而且更多的時候我需要跟蹤不同頁面上的幾個變量。

現在我處理它是這樣的:我在一個名爲my_app.js的腳本中有一組常用函數,而每個頁面都有其專用的pageX.js腳本來說明其具體職責。我通過storage.js庫存儲永久值,並以某種方式設法將它們連接在一起並使其工作。

但是我認識到,這種方法可能有一個很大的改進空間,所以我想知道更多經驗豐富的開發人員如何處理這種情況。

非常感謝,

哥布林

回答

0

你有結構聽起來很合理(常見的JS文件的特定頁面的JS文件的補充)。這聽起來像是你在存儲的正確路線上。

我想在你的情況下做什麼是關注你的代碼是如何在架構方面構建的。 Stoyan Stefanov的Javascript Patterns(O'Reilly)的第6章可能會非常有啓發性。

我也可能會探討JS MVC的實現,因爲你的情況會很好地適應這種方法(很多觀點)。

我意識到這只是分散的想法,但希望它可能會給你一些想法。

0

這裏是我組織的東西

in/ 
modFOO.php 
modBAR.php 
in /js/ 
main.js 
resourceloader.php //this is a resource loader, so I can load multiple JS in a single request 
in /js/pages 
modFOO.js 
modBAR.js //javascript that for page modBAR 
in /css/ 
main.css 
resourceloadercss.php //this a resource loader, so I can load multiple CSS in a single request 
in /css/pages/ 
modFOO.css 
modBAR.css 

在此設置下我確切地知道在哪裏可以找到的東西,放在哪裏的東西。並且基於文件名modepic.css,我確切地知道該把文件放在哪裏,什麼是(modepic的CSS文件)。

1

你所做的一切似乎都適用於一個小型應用程序,但正如另一位回答者所說,我會看看MVC架構。我可以衷心推薦backbone.js,它非常輕巧,使用簡單。你可以很容易地爲你需要的每種類型的視圖(例如sliderController,dragDropController等)製作一個控制器,然後如果你需要的話,這些控制器的子類('擴展')是特定平臺的(例如iPhoneSliderController,iPadSliderController ,desktopSliderController等)。

如果我有關於這個應用程序的更多信息 - 比如它背後的數據,用戶通過拖動/滑動實現了什麼 - 那麼我可能會爲模型,視圖和控制器提供更具體的佈局想。但希望這是一個很好的起點,如果你看看backbone.js文檔,它應該給你一個好主意,如果它適合你的應用程序。

+0

感謝大家的快速解答。很高興知道我現在的做法並不完全偏離正軌。 Backbone.js解決方案似乎非常有趣,因爲我已經熟悉Actionscript中的MVC模式。 – Goblin 2012-04-04 10:23:39

相關問題