前端工程化,組件化,模塊化,層次化


個人認為:前端發展的導向是前端工程化,智能化,模塊化,組件化,層次化。

一個項目的開發逐漸在人工智能+物聯網的時代,走向以下的五化

    原因: Web前端頁面的開發必然與DOM進行交互操作,前端框架的一次次更新,是從滿足目前的業務需求到提升效率的階段,慢慢走向改善性能的階段(開發和部署環境優化,代碼優化,網站性能優化,數據優化,頁面優化等等)。

1.前端工程化。

       前端工程化指的是將軟件工程的方法和原理運用在前端開發中, 目的是實現 高效協同,質量開發。

          具體是:

                 a.Node服務,提供數據代理,路由,服務器渲染。

                 b.Web應用開發,專注於web交互體驗。

                 c.前端運維:構建,測試,部署,監控。

2.前端模塊化(頁面模塊化開發+基礎模塊化)。

        (1)基礎模塊化:

        A.  CommonJS————同步加載、服務器端的模塊化規范,采用案列:Node.js

          實現原理:

                 一個單獨的文件就是一個模塊

      加載模塊采用同步方式,加載完成后才能執行后面的操作

      加載模塊使用require方法,該方法讀取一個文件並執行,最后返回內部的exports對象;

         特點:

              比較適合運用於服務器的編程,加載模塊文件通常都存在本地磁盤,加載過程無延遲,無需異步加載

        B.  AMD————異步加載,采用案例:require.js

   實現原理:

      異步模塊定義通過一個函數封裝所有所需要、所依賴的模塊/方法/對象/屬性;

      返回一個新函數(模塊);推崇依賴前置,依賴的模塊提前執行;

      采用依賴注入方式加載模塊;注入依賴模塊后,執行異步回調函數;

      特點:

                異步加載,不會產生異步阻塞,適合瀏覽器網絡環境

       C. CMD————異步加載、異步執行依賴,案例:Seal.JS

           CMD AMD 類似;都是采用異步加載,

    不同點主要有一下幾點:

                - 對依賴模塊的執行時機:CMD延遲執行,AMD提前執行

                - 依賴位置:CMD推崇依賴就近,按需加載;AMD推崇依賴前置;

                - API:CMD推崇職責單一,AMD里面require分局部和全局方式;

    (2)頁面模塊化:

             1.將整個項目前端部分,拆分為單一多個頁面

       2.將每個頁面划分為多個模塊,對每個模塊開發,封裝組件等(例如:header,nav,centent,persion,footer等)

       3.將每個模塊頁面組件存放組件庫,便於后續各個頁面的調用

       4.將每個模塊頁面引入當前主頁面page,組成整個頁面。(例如:main主頁面由header,nav,centent,persion,footer等多個模塊組成,通過項目框架指定的調用方式:$$header)

3.前端層次化。

          前端層次化是指項目結構目錄清晰,樹狀分布,層次化分明,多個文件夾嵌套,頁面,樣式,框架,組件,模塊,腳本等獨立划分,相互調用聯系。(例如:css樣式全部歸於css文件夾等等)

4.前端智能化。

          前端智能化是指通過人工智能AI的方式開發前端,將前端與python相結合從項目評估選取最優的模式,框架,庫,組件等到項目打包上線應用,形成高效有序,包括語音識別,刷臉支付,智能檢測等。在此過程中采用 scrum 敏捷開發模式。

5.前端組件化。

          前端的發展延伸出來很多前端框架和庫,例如:Vue,React,Jquery,Angular,Element,Layout,Iview,Ogma,Echarts等等,主要用來封裝業務組件,架構項目結構,樣式布局,路由通訊等,一個項目由多個組件組成。往往項目經理與架構師,研發工程師商定評估選取最優的方案,進行開發,基於最底層的框架服務,形成了多個框架庫的同時引用,相互嵌套實現某些項目的需求,優勢互補,高效開發的方式。

 

總結:前端的開發,一定要規范化,代碼規范,分支管理,模塊管理,自動化測試,最后部署;規范化有利於以后項目的重構,二次開發,版本迭代,前端上手。

          具體為:1.重命名,對類,接口,方法,屬性重命名。

                         2.抽取代碼,將方法內代碼抽取其他地方調用。

                         3.封裝字段,類字段換屬性。

                         4.刪除參數,重排參數。

備注:源於自身前端的實踐經驗和自我學習了解,總結的前端概況,如有不當之處,請同行指正,非常感謝,多多交流。

                  

         


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM