天天看點

《HTML5和JavaScript Web應用開發》——1.2 在用戶端放置更多代碼

本節書摘來自異步社群《html5和javascript web應用開發》一書中的第1章,第1.2節,作者:【美】wesley hales著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

不可否認,傳統的伺服器端模闆正逐漸被javascript模闆所取代。随着許多新javascript架構的出現,我們似乎也有些反應過度,但這就是技術發展過程中所出現的現象:由于浏覽器變得更加容易移動,并且通過javascript api得到更多硬體通路能力,是以驅動ui的技術也在變化。從某種程度來說,用戶端和伺服器端方法中使用者界面的構件是相通的,它們都需要顯示和收集資料。我們仍然需要在代碼中添加架構專有的标記或者屬性,以便知道資料在哪裡顯示,但是不再需要依賴伺服器。現在,我們從間歇性的rest風格和websocket連接配接得到對象和資料,這些連接配接通過用戶端的javascript架構自動與ui綁定。我們的應用程式現在能夠偶然同步資料,并且擁有離線工作的能力。

為了加強這種能力,處理應用程式的不同狀态,我們必須考慮使用新的用戶端代碼管理方法。jquery和prototype之類的javascript程式庫不能定義前端開發模式,我們應該認真考慮使用跨浏覽器dom來操縱程式庫,但是可伸縮用戶端架構比以前更複雜了。利用erich gamma等人的經典著作《design patterns:elements of reusable object-oriented software》(_addison-

wesley professional,1995)中收集的成熟技術組織代碼和應用程式結構隻是一個開始。現在,超過40個mvc javascript架構自認為是mvc架構,但是它們應該叫做mv*。它們都使用了不同的技術管理模式、視圖和控制器,許多架構與原始的smalltalk mvc概念已經有了很大的不同。盡管javascript架構為我們提供了很好的代碼組織和構造手段,我們仍然必須自己處理輸出硬體級通路的浏覽器api,例如geolocation或者web workers。重量級的html5驅動使用者界面架構仍然處于探索期,但是你很幸運,因為本書能夠幫助你看清前方的道路。

繼續閱讀