簡體   English   中英

服務器端和客戶端JavaScript

[英]Server-side and client-side JavaScript

我很難選擇將哪些框架用於即將進入開發的應用程序。 我是一個前端人,我的朋友正在做后端。

說我正在開發一個簡單的待辦事項列表應用程序。 我有一個todo列表上每個項目的模板。 理想情況下,我希望服務器端JavaScript使用此模板以及客戶端JavaScript。

所以在頁面加載時,如果數據庫中已有5個待辦事項,則HTML將在服務器上編譯。 如果我然后將新的待辦事項添加到列表中,則客戶端JS將使用相同的模板編譯HTML。

我聽過很多關於Node.js,Backbone.js等的討論。對於這類事情來說,有多少選擇是非常令人難以置信的。 有人可以給我一起使用這些技術的例子嗎?

Node.js是服務器端的JavaScript,而Backbone.js用於使用集合,模型和視圖優雅地構建前端資源。

兩者中的每一個都有自己的角色。 為了更好地比較前端框架,您可以查看Addy Osmany的TODO列表,其中包含很多內容: https//github.com/addyosmani/todomvc

Backbone網上還有一些不錯的教程:
- http://dailyjs.com/2011/04/04/node-tutorial-19/
- http://backbonetutorials.com/
- http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-backbone-js/

這是一個將服務器上的Node.js與客戶端上的Backbone結合起來的應用程序:

http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/

Backbone(如Node.js)非常受歡迎,因此您可以在線獲得大量幫助/資源。

您可以查看http://derbyjs.com/#why_not_use_rails_and_backbone

他們在打開webapp時嘗試實現以下功能:

  1. 在第一個請求上傳輸完全呈現的頁面。
  2. 從那時起,所有更改都應直接在客戶端進行,並通過ajax同步到服務器。

因此,通常用戶向具有“胖”客戶端的站點發出的第一個請求非常痛苦:

  • 必須傳輸和初始化應用數據
  • 數據必須由客戶端加載
  • 顯示數據

這種行為通常比傳輸舊式學校服務器端呈現頁面慢。 例如,Gmail或iCloud需要一些時間來加載,因為他們這樣做。

當然。 查看TodoMVC以更好地了解各種替代方案。

將模板文件粘貼到頁面底部。 這樣,您的客戶端代碼可以輕松使用它,而無需調用獲取模板。

在調用模板時使用JQuery的示例

<div style="display:none" id="sample_jquery_template">
  Hello ${name}
</div>

在您的客戶端javascript代碼

..javascript..
person = {name:'Joe'}
$.tmpl($("#sample_jquery_template").html(), person ).appendTo( "#destinationList" );

有足夠的模板解決方案,如mustache.js兩端工作。
但是,為了在客戶端使用模板,使渲染數據可用是有幫助的。
Henrik Joreteg撰寫了一篇很好的文章,關於重用骨干模型並在客戶端和服務器之間進行同步。

來自雅虎的戴維·格拉斯給出了一個很好的演講,展示了他如何在node.js的客戶端和服務器上運行YUI3。

以下是他在視頻中的例子中的github

您也可能有興趣查看jsdom

我剛剛開始學習節點,這個視頻真的幫助我看到如何在節點上對服務器和客戶端進行實驗。 你會看到他禁用javascript,日歷仍然有效 - 這很酷。

這是一個很好的骨干資源:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM