Angular 是什麼 Angular(讀音['æŋgjʊlə])是一套用於構建用戶界面的 JavaScript 框架。由 Google 開發和維護,主要被用來開發單頁面應用程式。 類似於 "Vue.js" + MVVM(數據驅動視圖思想) + 組件化 + 模塊化 + 指令 + ...... 由 G ...
Angular 是什麼
Angular(讀音['æŋgjʊlə])是一套用於構建用戶界面的 JavaScript 框架。由 Google 開發和維護,主要被用來開發單頁面應用程式。
- 類似於 Vue.js
- MVVM(數據驅動視圖思想)
- 組件化
- 模塊化
- 指令
- ......
- 由 Google 開發和維護
- 開發單頁面應用程式(SPA)
特性
- MVVM
- 組件化
- 模塊化
- 指令
- 服務
- 依賴註入
- TypeScript
- ...
發展歷史
起源
2009年,Misko hevery 和 Adam abrons 在業餘時間打造了 GetAngular
Misko Hevery 接手了 Google 內部的一個項目 Feedback
,該項目經過6個月的迭代代碼量已經達到了17000行。項目的開發和維護已經變得非常的困難。所有 Misko 就決定用 GetAngular
重寫這個項目。
結果就是小伙子成功了,使用 `GetAngular
之後該項目從17000行縮減到了1500行,前後僅僅使用了三周時間。
Misko 領導一看,小伙子厲害啊,同時也看到了 GetAngular
所帶來的商業價值,所以決定把 GetAngular
正式立項,組織專職團隊開發和維護。
Abrons 後來離開了這個計劃,但在 Google 工作的 Hevery 和一些谷歌員工如 Igor Minár 和 Vojta Jína 等則繼續開發維護此庫。
由於已不再是個人項目,所以開發團隊將 GetAngular
重新命名為了 AngularJS
。
至此,AngularJS 就進入了漫長的發展迭代階段。
- 經過了3年的發展,AngularJS 在2012年6月份,
1.0.0
版本正式推出。 - AngularJS 在1.2之後的版本不再支持 IE 6和7
- AngularJS 在 1.3 之後不再支持 IE8
- AngularJS 在 1.5 增加了類似組件化的開發方式
- 為過渡到 Angular2 做鋪墊
- AngularJS
1.x.x
當前已發佈到了1.6.x
困境
- 飽受詬病的性能問題
- 臟檢查
- 落後於當前 Web 發展理念
- 例如組件化
- 模塊化支持不好
- 對移動端支持不夠友好
Angular 2 橫空出世
Angular 1.x 由於問題太多,歷史包袱太重,重構幾乎不可能。
不過早在2014年3月,官方博客就有提及開發新版本 Angular 的計劃。
2014年9月下旬一個大會上,Angular2
正式亮相。
2016年9月15號,Angular2
正式發佈。
由於 ng2 幾乎完全重寫了 ng1 ,所以官方把2之後的版本都稱之為 Angular。
Angular 2 之後的正式 Logo:
新版本發佈了,那用戶如何從 1 升級到 2 呢?
那到底要不要更新呢?
ng2 相比 ng1
- 移除了 controller+$scope 的設計方式,改用了當前主流的組件化構建
- 相比 ng1 性能更好
- 優先為移動端設計
- 更貼合未來標準
- EcmaScript 6
- Web Component
- TypeScript
- 反正就是更現代化,更好了......
現狀
- 自 Angular 2 之後,官方承諾之後的版本都會相容到 Angular 2
- 當前 Angular 最新發佈版為
5.x.x
- 新版的 Angular 在 Github 上也已收穫了 3萬+ ☆
- 使用量低於 React 和 Vue
那我為什麼要學習使用 Angular ?
任何一種技術或者框架,一定要有自己的特色,如果跟別人的完全一樣,解決的問題也和別人一樣,那存在的意義和價值就會遭到質疑。
- 企業需求
- 增加職業競爭力
- 技術的本質思想都是一樣的,也許你在其它技術中無法理解的事物,在這門課程中你能找到答案。
這裡我們要明白技術只是工具,主要目的還是用來幫助我們解決業務問題。
作為開發人員,我們對待技術的態度應該博學開放,多學習和瞭解不同技術。
只有當你見得東西多了才能有自己的想法,才不會人云亦云,不至於迷失在技術更新迭代的浪潮之中!
學習 Angular 的一些建議
- 讀官方文檔
- 寫 demo 測試
- 寫小項目練手
- 參與實際項目開發經驗
- 日積月累......