2016年10月5日 星期三

前端組件化開發願景

        今天拜讀了张云龙大神的大作,讓我對前端開發大開眼界,以往的網頁流程是:

        前端切版->丟給後端實作功能->完成

        前端跟後端沒有建立一個工程化的機制,所以傳統的檔案架構是js統一放在js/,css統一放在css/和網站上的圖片通通都放在images/,看起來很乾淨整齊,但對於開發人員來講好處就真的只是乾淨整齊而已。

  1.         更新程式時,需要到各個資料夾,Ex. js/ 去尋找對應的function或檔案。
      =>  對於開發人員只有一人的自幹小公司來講,不會有特別的感覺,如果開發人員三人以上,很容易發生奇怪的Bug,做一個改動可能會非常容易影響到整個項目,像如果有人在css裡面下了一個!important..........

             而更需要擔心的是,時間一久,就算自幹的工程師也是還要再花一大堆時間去回想當初是怎麼寫的。


      2.         有些檔案不知道該不該刪

      =>  剛到一家新公司,接手一個離職前輩的專案,滿腔熱血的要好好大幹一場了!
           
            不經意地打開images/,一看,哇操,怎麼有好幾百張圖片,我記得看專案沒這麼多啊?!趕緊問隔壁同事

         「 我也不知道啊,不過最好是不要亂動啦,免得出問題哈哈」
         「 哈哈哈哈....(鍵盤怎麼濕濕的)」


      张云龙大神說過:

除非你的团队只有1-2个人,你的项目只有很少的代码量,而且不用关心性能和未来的维护问题,否则,以文件为依据设计的开发概念是应该被抛弃的。


         原來我一直以來的開發模式都是應該被拋棄的.........


    张云龙大神的前端模組化開發理念:

  1. 页面上的每个 独立的 可视/可交互区域视为一个组件;
  2. 每个组件对应一个工程目录,组件所需的各种资源都在这个目录下就近维护
  3. 由于组件具有独立性,因此组件与组件之间可以 自由组合
  4. 页面只不过是组件的容器,负责组合组件形成功能完整的界面;
  5. 当不需要某个组件,或者想要替换组件时,可以整个目录删除/替换。
     
       剛好手頭上有個項目需要做翻修,就拿這個來做模組化實踐吧!



推薦前端工程師去看张云龙大神的github,裡頭有非常多乾貨。

     
       

    

沒有留言:

張貼留言