前端社區在不久之前還有很多人為框架爭論,其實這個話題早就有,『但早期爭議的怒火延燒到今日,傷口仍未愈合』(DHH) 到如今還在給社區帶來傷害,甚至于很多開發者被口誅筆伐,實際上是每個人都不愿見到的。我希望熱愛技術的人能夠聚集在一起,能面紅耳赤的討論也能以包容的心態學習,發現不同的思想,像廣受好評的 ruby 社區一樣,影響更多人。
當然將 Element 移植到 Angular 上,并非有這些政治正確的意義,但至少也是從 Vue 生態環境中學習、繼承出的產品,讓很多技術棧集中的朋友看到一些新玩法,甚至感染其中的一些人,領略新的理念。
說說這個組件庫吧。大體我采用了原組件庫的設計風格與樣式,保持功能實現的不變,但在實現方式與暴露接口的考量中略有斟酌。大家知道 Vue 與 Angular 的思維方式有很大區別,各有所長,如果照搬原有的組件實現方式,雖然經過一些改動和變通仍舊能正常工作,但在 Angular 的使用者眼里卻是怪里怪氣,誰也不知道它該叫什么名字。為此我用更接近與 NG 的思維方式重新實現了它們,并考量改動了其中一部分 API,甚至于用 Element Angular 重寫了文檔網站。希望能夠還原 UI 的同時帶來一個原生原味的 Angular 組件庫。
在代碼風格上,為保持更高的源碼質量也添加了很多 TSLint 規則,盡可能的使用 Angular 原生提供的組件交互方式,幾乎沒有用到 RxJS —— 這考慮到使用過多的依賴項會使 AOT 編譯后的文件更大,而我無法確定用戶究竟只需要多少操作符。在文檔的示例部分,也展示了該如何啟動、引入、使用組件,在我看來,你只需要看幾分鐘的文檔即可快速上手使用它,像使用其他 Angular UI 組件一樣的使用它。
最后,這是 Element Angular 趨于穩定的一個版本,預計在這周會發布一個 rc 版本。(文檔目前使用 github.com,速度有點跟不上,最好自備上網工具。)據我所知,已經有不少開發者與企業在使用中。(強行勸用...) 對 element 熟悉或本身就是 Angular 的開發者可以關注這個組件庫,也歡迎大家一起來豐富、完善它。
Angular是框架(或MVC應用程序框架)類列表中的第一個。目前最流行的Angular版本是1.x,它使用雙向數據綁定擴展HTML,同時解耦了DOM操作和應用程序邏輯。
盡管版本2(現在是版本4!)已經發布了,但是Angular 1.x仍在開發中。
優點:
一些大公司正在使用的流行框架
開發現代Web應用程序的解決方案
是標準MEAN棧(MongoDB,Express.JS,AngularJS,NodeJS)的一部分,有許多文章和教程可用
缺點:
學習曲線陡峭
大的代碼庫
無法升級到Angular 2.x
Angular的實現
React
React是一個用于構建用戶界面的JavaScript類庫,也是去年最受關注的類庫。它專注于Model-View-Controller(MVC)開發的“View”部分,使用它可以輕松創建保留狀態的UI組件。它是實現虛擬DOM的首選類庫之一,它的內存結構能夠有效地計算差異,頁面更新也更加有效。
統計顯示React的使用度似乎很低,因為它是在應用程序中使用而不是在網站。
優點:
小巧,高效,快捷靈活
簡單的組件模型
良好的文檔和在線資源
可實現服務器端渲染
目前受歡迎,經歷了快速增長
缺點:
需要學習新的概念和語法
構建工具很重要
需要其它類庫或框架提供model和Controller部分
與修改DOM的代碼和其它類庫不兼容
了解更多關于React the ES6 Way
React的實現(非flux架構)
Polymer 雖然不是特別流行,但值得考慮,可以跨瀏覽器支持HTML5網頁組件的類庫
Polymer的實現
這篇文章分享之后我還是要推薦下我自己的前端學習群:731669587 ,不管你是小白還是大牛,小編我都挺歡迎,不定期分享干貨,包括我自己整理的一份2017最新前端資料和零基礎入門教程,歡迎初學和進階中的小伙伴