前端社區(qū)在不久之前還有很多人為框架爭論,其實這個話題早就有手幢,『但早期爭議的怒火延燒到今日捷凄,傷口仍未愈合』(DHH) 到如今還在給社區(qū)帶來傷害,甚至于很多開發(fā)者被口誅筆伐围来,實際上是每個人都不愿見到的跺涤。我希望熱愛技術(shù)的人能夠聚集在一起,能面紅耳赤的討論也能以包容的心態(tài)學(xué)習(xí)监透,發(fā)現(xiàn)不同的思想桶错,像廣受好評的 ruby 社區(qū)一樣,影響更多人胀蛮。
當(dāng)然將 Element 移植到 Angular 上院刁,并非有這些政治正確的意義,但至少也是從 Vue 生態(tài)環(huán)境中學(xué)習(xí)粪狼、繼承出的產(chǎn)品退腥,讓很多技術(shù)棧集中的朋友看到一些新玩法,甚至感染其中的一些人再榄,領(lǐng)略新的理念狡刘。
說說這個組件庫吧。大體我采用了原組件庫的設(shè)計風(fēng)格與樣式不跟,保持功能實現(xiàn)的不變颓帝,但在實現(xiàn)方式與暴露接口的考量中略有斟酌。大家知道 Vue 與 Angular 的思維方式有很大區(qū)別,各有所長购城,如果照搬原有的組件實現(xiàn)方式吕座,雖然經(jīng)過一些改動和變通仍舊能正常工作,但在 Angular 的使用者眼里卻是怪里怪氣瘪板,誰也不知道它該叫什么名字吴趴。為此我用更接近與 NG 的思維方式重新實現(xiàn)了它們,并考量改動了其中一部分 API侮攀,甚至于用 Element Angular 重寫了文檔網(wǎng)站锣枝。希望能夠還原 UI 的同時帶來一個原生原味的 Angular 組件庫。
在代碼風(fēng)格上兰英,為保持更高的源碼質(zhì)量也添加了很多 TSLint 規(guī)則撇叁,盡可能的使用 Angular 原生提供的組件交互方式,幾乎沒有用到 RxJS —— 這考慮到使用過多的依賴項會使 AOT 編譯后的文件更大畦贸,而我無法確定用戶究竟只需要多少操作符陨闹。在文檔的示例部分,也展示了該如何啟動薄坏、引入趋厉、使用組件,在我看來胶坠,你只需要看幾分鐘的文檔即可快速上手使用它君账,像使用其他 Angular UI 組件一樣的使用它。
最后沈善,這是 Element Angular 趨于穩(wěn)定的一個版本乡数,預(yù)計在這周會發(fā)布一個 rc 版本。(文檔目前使用 github.com矮瘟,速度有點跟不上瞳脓,最好自備上網(wǎng)工具。)據(jù)我所知澈侠,已經(jīng)有不少開發(fā)者與企業(yè)在使用中劫侧。(強行勸用...) 對 element 熟悉或本身就是 Angular 的開發(fā)者可以關(guān)注這個組件庫,也歡迎大家一起來豐富哨啃、完善它烧栋。
Angular是框架(或MVC應(yīng)用程序框架)類列表中的第一個。目前最流行的Angular版本是1.x拳球,它使用雙向數(shù)據(jù)綁定擴展HTML审姓,同時解耦了DOM操作和應(yīng)用程序邏輯。
盡管版本2(現(xiàn)在是版本4W>)已經(jīng)發(fā)布了魔吐,但是Angular 1.x仍在開發(fā)中扎筒。
優(yōu)點:
一些大公司正在使用的流行框架
開發(fā)現(xiàn)代Web應(yīng)用程序的解決方案
是標(biāo)準(zhǔn)MEAN棧(MongoDB,Express.JS酬姆,AngularJS嗜桌,NodeJS)的一部分,有許多文章和教程可用
缺點:
學(xué)習(xí)曲線陡峭
大的代碼庫
無法升級到Angular 2.x
Angular的實現(xiàn)
React
React是一個用于構(gòu)建用戶界面的JavaScript類庫辞色,也是去年最受關(guān)注的類庫骨宠。它專注于Model-View-Controller(MVC)開發(fā)的“View”部分,使用它可以輕松創(chuàng)建保留狀態(tài)的UI組件相满。它是實現(xiàn)虛擬DOM的首選類庫之一层亿,它的內(nèi)存結(jié)構(gòu)能夠有效地計算差異,頁面更新也更加有效立美。
統(tǒng)計顯示React的使用度似乎很低匿又,因為它是在應(yīng)用程序中使用而不是在網(wǎng)站。
優(yōu)點:
小巧悯辙,高效琳省,快捷靈活
簡單的組件模型
良好的文檔和在線資源
可實現(xiàn)服務(wù)器端渲染
目前受歡迎,經(jīng)歷了快速增長
缺點:
需要學(xué)習(xí)新的概念和語法
構(gòu)建工具很重要
需要其它類庫或框架提供model和Controller部分
與修改DOM的代碼和其它類庫不兼容
了解更多關(guān)于React the ES6 Way
React的實現(xiàn)(非flux架構(gòu))
Polymer 雖然不是特別流行躲撰,但值得考慮,可以跨瀏覽器支持HTML5網(wǎng)頁組件的類庫
Polymer的實現(xiàn)
這篇文章分享之后我還是要推薦下我自己的前端學(xué)習(xí)群:731669587 ,不管你是小白還是大牛击费,小編我都挺歡迎拢蛋,不定期分享干貨,包括我自己整理的一份2017最新前端資料和零基礎(chǔ)入門教程蔫巩,歡迎初學(xué)和進階中的小伙伴