2012-09-05 158 views
0

我正在建設一個網站,使用下面的堆棧。對於這個問題,我認爲軟件堆棧應該不重要。我更感興趣的是知道我在做這個項目的方式似乎是一個好主意或遵循最佳實踐。java腳本網站最佳實踐

- Twitter Bootstrap for the UI 
- CherryPy 
- jQuery 

於是我走近項目的方法是像下面

- Use the Twitter Bootstrap to create the basic layout 
- I have one js file and one css file for my project 
- Based upon the requirement, let say for this button I need to do something like ajax call 
    - go to the js file and write like $("#id").click() and do the necessary stuff 
    - write the necessary action code in python 
    - Test 

所以基本上,我在做什麼,修改HTML文件,添加必要的代碼,我需要在我的單個的JS文件並執行python代碼。看到像backbone.js這樣的java腳本框架,require.js讓我覺得可能我沒有按照最好的方式去做。

從某種意義上說,我想知道的是,假設你有一個沒有很多用戶交互的網頁,那麼你會怎麼做?我接近它的方式有什麼不妥嗎?什麼是最好的方式來做到這一點?

感謝

+1

取決於你的代碼庫有多大,以及你的服務器的功能如何,例如,骨幹「應用程序」需要你的服務器以json而不是普通的html發送數據。 require.js用於解決非平凡代碼庫中的依賴關係,如果你只有1個js文件,那麼它是無用的。 – yngccc

回答

1

像骨幹,角度和灰燼客戶端框架構建,以幫助實現結構重JavaScript應用程序。不要在JavaScript之類的客戶端語言(儘管現在可以用作服務器端語言)和服務器端語言(如C#,Python Php等)之間混淆。

大多數單頁應用程序都使用REST API 。所以你的所有功能都將在客戶端。您的服務器的主要職責是將數據推送到您的客戶端,以便用戶可以與之交互。把你的客戶端(用js編寫)和服務器(用python編寫)看作兩個完全獨立的實體/應用程序。

如果您的應用程序不是JavaScript很重,我不會去使用單頁應用程序並使用您當前列出的技術堆棧。我總是建議保持你的javascript結構,但你不需要這個框架。只需按照您感覺最舒適的js模式之一,即可以列出的here

+0

我已經開始閱讀本書,看到它在Mozilla開發人員網絡中鏈接。感謝您的建議 – tabiul

+0

一旦您完成了本書的研究,並希望在下一個項目中使用Backbone,請閱讀[本](https://github.com/addyosmani/backbone-fundamentals)書。 – TYRONEMICHAEL

+0

請記住,除非您使用Websockets,否則您的客戶端將從服務器獲取_request_數據。 Websockets在客戶端和服務器之間建立一個持久的雙向連接,允許每個連接都從另一個端口推送和請求數據,而沒有Websockets,客戶端必須從服務器請求數據,以便客戶端接收數據(從服務器)。 – XtraSimplicity