寫在前面

組件化:搭建系統、智慧活動
目的:內聚性、耦合性、避免因業務引起重復勞動、協同合作、提高可維護性
組件化前提:制定標準,接觸耦合

第一代:YUI

Paste_Image.png

太過于學院派。要求每個用這個程序員熟悉整套UI規范和使用規范。就是要熟悉YUI的CSS,HTML,JS,這樣才能用非常爽

第二代 ExtJS
ExtJS是踩著YUI的尸體走過來的,extjs比YUI進步在那兒呢,首先它表面上有一套漂亮的UI。這個實質上就是你不用寫CSS了,它幫你寫好了。另外你HTML也不用寫了,它也幫你寫好了。這不對啊,前端頁面怎么可以沒有HTML和CSS呢,extjs都幫你封裝到js里了
extjs用是很簡單,定制的話,還是改錯一處,全局。
被邊緣化

第三代:web component
shadow dom/custom element/template/import
這規范到不成熟,到處是坑

the end...

當然,組件化的時代已經開啟,為了填原生的坑,已經有無數勇士已經又踩著前者的尸體沖上來了
他們是:
Angular Directives
Ember Components
React Components
KnockoutJS Components
Vue.js Components
Backbone Components
CanJS Components
Famous Components
Anything.JS Components?

賀師俊:
之所以一直說對custom element持謹慎態度,是因為正如本問題所表達出來的,大多數工程師對組件如何設計劃分是缺乏經驗的。相對來說基于 is 屬性對原有html元素做擴展比較不容易出偏。

組件設計說到底是要做某種抽象。難就難在這種抽象要考慮很多的因素,比如適應UI設計師的建模、工程上的可維護性要求、常見用例和邊緣用例的矛盾、自定義組件和標準html元素的穿插交互、適應將來需求變化發展的可擴展性和可定制性……其中很多點是在開始設計開發時很難確定的,或者隨著業務發展經常會變化。這就是為什么組件領域比其他技術領域更容易出現抽象泄漏的悲劇。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 廖雪峰的JS教程學習 在Web世界里,只有JavaScript能跨平臺、跨瀏覽器驅動網頁,與用戶交互,新興的Nod...
    宇辰星君閱讀 463評論 0 0
  • 1024,開啟一段新的旅程!我們習慣于給事物進行分類整理,這樣不僅符合大多數人對事物從整體到具體,由外貌到內涵的一...
    Ruby_min閱讀 129評論 0 0
  • 近期準備花時間把spring的知識認真貫徹一遍,以前對spring只是存在應用層面,對很多東西都是知其然而不知其所...
    yakun0622閱讀 336評論 0 0
  • 一、四大光照類型1.環境光(Ambient Light) 一個物體即使沒有直接被光源照射,但是只要有光線通過其他物...
    CarlDonitz閱讀 1,537評論 0 0
  • 《小島經濟學》,是我目前完完整整看下來的第一本經濟學書籍,對自己而言是有進步的。 為什么這么說呢?從小到大,經濟學...
    漢朝名塔閱讀 713評論 1 1