天天看點

《Ember.js實戰》——導讀

《Ember.js實戰》——導讀

**

前言

2006年起,我已經以某種方式進行web應用開發。我開始為挪威最大的零售商開發web應用,先是使用javaserver pages(jsp)技術,之後換成javaserver faces(jsf)。當時這些技術很不錯,并能讓使用者達到使用目的。在那時(ajax流行之前),http的請求-響應周期要求将大多數處理邏輯放在伺服器端,伺服器端在每次請求中傳遞所有标記、腳本和樣式表給浏覽器。

雖然以伺服器端方式開發web應用也能行之有效,但狀态問題總是繞不開的。由于伺服器端要求記住所有登入使用者,管理狀态很快就成為一個棘手而占用大量記憶體的任務。要如何處理使用者打開多個标簽頁并在彼此間進行切換?跨多個(虛拟)機器延展服務的時候如何持久化會話資料?如果在伺服器端存儲使用者狀态,那又如何以一緻方式友善地進行水準擴充?處理起來真不容易。

當我開始從事開源項目montric(那時叫eurekaj),我很快決定,如果想要在不借助獨立的會話緩存的情況下水準擴充應用,我就得掌握一個具備良好前景和流行度的javascript架構。

随着sproutcore開發團隊被收購以及該架構放慢了發展腳步,sproutcore社群開始發生了變化,sproutcore 2.0版進展順利,但老版本與新版本間的裂痕卻在擴大,最終,sproutcore産生了一個新的分支——ember.js。

ember.js依托能夠提供優良web體驗的技術而打造,它能夠幫助開發者使用既有技能組合開發javascript應用程式。ember.js并不抽象或隐藏javascript、html或者css的實作細節,反而與時俱進地充分利用這些技術。

**[第一部分 ember.js基礎

第1章 發力雄心勃勃的web應用

<a href="https://yq.aliyun.com/articles/95448">1.2 從靜态頁面到ajax、再到全功能web應用</a>

1.2.1 異步web應用的興起

1.2.2 ember.js模型

<a href="https://yq.aliyun.com/articles/95459">1.3 ember.js概覽</a>

1.3.1 ember.js特性

1.3.2 ember.js應用程式結構

<a href="https://yq.aliyun.com/articles/95504">1.4 第一個ember.js應用程式:記事本應用</a>

1.4.1 記事本應用開發起步

1.4.2 建立命名空間與路由器

1.4.3 定義應用程式路由

1.4.4 建立并列出事項

1.4.5 選擇并檢視單條事項

1.4.6 删除事項

<a href="https://yq.aliyun.com/articles/95514">1.5 小結</a>

**[第2章 ember.js風格

<a href="https://yq.aliyun.com/articles/95542">2.2 自動更新模闆</a>

<a href="https://yq.aliyun.com/articles/95552">2.3 計算屬性</a>

<a href="https://yq.aliyun.com/articles/95563">2.4 觀察者模式</a>

<a href="https://yq.aliyun.com/articles/95569">2.5 ember.js對象模型</a>

<a href="https://yq.aliyun.com/articles/95573">2.6 ember.js實作各層間資料同步</a>

<a href="https://yq.aliyun.com/articles/95578">2.7 小結</a>