久久天天躁狠狠躁夜夜躁app-久久天天躁夜夜躁狠狠 ds005.com-久久天天躁夜夜躁狠狠2018-久久天天躁夜夜躁狠狠85-久久天天躁夜夜躁狠狠85台湾-久久天天躁夜夜躁狠狠ds005

長亮科技:企業級前端框架組件化實踐
金融科技
2021.05.14

隨著互聯網的快速發展,web 業務也越來越復雜和多元化,以前的那種前后端一起的方式越來越跟不上發展節奏,前后端逐步分離,隨之前端的任務也日漸變得重要起來。


本文主要分享長亮科技 WEB 前端團隊根據業務場景特點研發的企業級前端框架組件化方案。


組件技術:高內聚低耦合

組件(component)的意義比較廣泛。軟件工程里被翻譯為“構件”。構件是面向軟件體系架構的可復用軟件模塊。 構件可以是一個工具類(utils), 也可以是一個中間件(如:MQ)。


早在2013年W3C提出了“Web Components”草案,隨著前端web應用的迅速發展,出現了React、VUE、Angular等主流的組件化開發框架。在VUE中組件是可復用的 Vue 實例。而VUE的插件技術,提供了組件間依賴引用、靈活組裝的可能。本文實踐方案,以VUE技術為基礎講解。



組件化開發需要思考以下問題:

怎樣以依賴方式使用組件?

怎樣保證拆分組件,整合時風格統一?

怎樣管理組件依賴版本?

怎樣解決組件(包含公共JS、CSS)依賴引入多次打包壓縮問題?


組件分類:基礎組件和業務組件

企業內部要實現組件化開發,可以根據自身業務實際情況,首先明確好“組件”的定義,達成共識。可將組件歸為兩大類,基礎組件和業務組件,如下所示。

 


各組件層級關系圖如下:

 


總體設計

長亮科技的前端框架解決方案設計原則,主要以“開源低耦合”、“靈活組裝”、“簡單快捷”等關鍵詞為出發點。


開源低耦合

為避免重復造輪子,減輕上手難度和學習成本,充分復用現在開源技術的優勢和積累。 會選擇基于“開源框架”為起點,搭建前端框架。


但同時考慮框架核心功能盡量避免對開源技術的強綁定,增加中間層對開源組件進行包裝,以達到低成本替換的目的。


靈活組裝

前端框架主要是對業務組件的積累,抽取企業內部普遍業務場景,沉淀各業務組件庫。各組件庫是能夠獨立開發、依賴使用的。除基礎組件庫可被其他組件依賴使用之外,盡量避免組件庫間高度耦合。


簡單快捷

根據公司內部實際情況,前端框架服務于兩方面的人員,一是非專業前端人員(后端人員), 二是專業前端人員。


針對“非專業前端人員”,需要考慮“零JS”代碼開發,以簡單配置方式快速對接后臺接口,開發出頁面功能。


針對“專業前端人員”,要提供統一區域級、頁面級布局組件,固化樣式,以最大程度統一頁面風格,減少溝通管理成本,快速協作開發。

 

前端框架總體設計


如上圖所示,前端框架基于VUE + Element UI等開源技術為底座,以減輕開發人員的學習成本,而前端框架支持整個應用系統功能的開發。


按組件分類,前端框架分為了6大模塊。每個模塊作為獨立的工程發布為插件,模塊本身可以存在依賴關系,如:工具類和基礎組件,作為最小的模塊,為其他模塊提供支持,其他模塊的功能,基于這兩個模塊開發。

 

前端框架組件視圖


基礎組件(Base Components)

基礎UI組件,主要指開源的ELement UI組件和一些算定義擴展的組件,如: 表單控件,表格,按鈕等


工具類(Utils Components)

公共方法工具,包含常用的多組件共用的工具方法類


業務組件(Business Components)

為減少分類過程,且考慮到目前基礎業務組件抽取的很少,我們將業務基礎組件和區域組件,統一歸到此模塊里。區域組件可以認為是從頁面模板組件中抽取出來的小組件。如: 查詢頁面模板包含表單條件區域、工具欄區域和表格區域(包含分頁),我們可以抽取出表單區域組件、工具欄區域組件、表格區域組件,每個區域組件主要借助slot插槽等機制,實現功能擴展


頁面模板(Template Components)

頁面模板是將特定的一些常用業務場景封裝成模板。可通過簡單的配置,實現頁面業務功能,適用于后臺或前端基礎較弱的開發者


頁面模板化,目標是實現80%常見頁面功能由“模板+模板數據”生成,20%不能滿足的采取基于現有組件自定義開發方式開發。示例如下:

 


后管框架(admin-Cli)

此模塊為前端框架提供了所有組件聚合的方案。主要是針對后端管理系統而搭建的,包含了后臺管理系統常見的功能,例如登錄,路由菜單,布局,主題換膚,多語言切換,數據字典,元素權限控制等


插件工程(Plugin-Cli)

此模塊功能組件插件化提供腳手架支持。腳手架創建出來的前端工程,自帶搭建好了組件開發規范目錄結構,配套Markdown文檔自動生成在線文檔機制,組件開發調試運行機制等


前端框架在真實應用中可以應用于三方面:

1、開發插件應用: 基于插件腳手架工程,快速搶建和發布插件到私服,供其他項目依賴使用


2、組件庫依賴使用: 無論項目使用的開發框架是前端框架提供的腳手架工程,還是原生vue腳手架工程,可以引入前端框架提供的業務組件庫


3、后管框架使用: 前端框架提供一整體后管基礎功能框架,可直接基于此腳手架工程開發。如果后端人員,可以借助“頁面模板”以JSON配置加后臺接口數據驅動,“零JS”渲染出頁面;如果是前端人員,可以借助業務組件庫提供的組件與頁面模板“混合開發”,既可JSON配置,又可使用原生VUE開發


接下來從長亮科技的兩個應用場景看前端框架的具體實踐。


實踐一:功能組件插件化拆分與組合

將公司各業務系統公共功能抽取出來,形成統一的組件,以便節約人力開發成本和維護成本。使用前端框架的插件腳手架工程,可以快速搭建一組件化插件工程,將組件功能發布成可以使用“模板依賴”的方式,組件搭配使用。

 

上圖中表明,基礎應用平臺的“機構選擇”和“人員選擇”功能,可以作為公共功能抽取出組件,發布到私服,由“績效系統”“內部資金轉移定價”等系統使用。 績效系統中的“業務查詢管理”依賴“基礎應用平臺”的功能完成,內部資金轉移定價中的“定價測算”也是依賴“基礎應用平臺”功能。


通過前端框架提供的插件腳手架工程,可以將項目工程組件發布成插件,上傳到Nexus私有, 其他項目業務系統前端工程以“模塊依賴”方式依賴使用。


實踐二: “零JS”開發頁面

前端框架中存在大粒度的比較特殊的頁面模板組件。頁面模板,是根據內部業務場景溝通交流,抽取出來的,以“頁面”為整體的解決方案組件。 頁面模板,以JSON的方式配置前端頁面功能。

傳統的VUE實現:

利用表單模板組件配置JSON實現:

傳統的VUE實現除了要編寫繁瑣的HTML和組件標簽外還需JS實現解凍提交彈框等事件邏輯。而通過JSON形式只需配置表單控件類型,操作欄解凍按鈕,表格以及初始化的接口地址即可輕松實現。JSON模板內置數據初始化,數據提交等與后端交互邏輯以及多種事件聯動功能。開發者都可通過簡單的配置實現這些功能。

   

 再從以下三個維度比較一下這兩種開發模式:


從開發人員技術熟練度來看,使用VUE開發,需掌握一定的前端知識。而通過這種JSON配置開發,開發人員無需任何前端基礎,真正實現開發使用”零門檻”。


從開發時間來看,開發一個上文所提的查詢表格頁面,使用VUE至少需要1小時左右,而使用JSON開發,時間可控制在10分鐘內。

 使用業務模板組件利用JSON配置開發前端頁面模式,已使用于多個項目。項目客戶真實數據反饋:通過這種JSON配置開發頁面,可快速開發POC頁面功能,與傳統的頁面開發模式相比,JSON配置開發至少節約一半人力和頁面開發時間。


總結

企業級前端框架具備的能力,首先需要一個基礎框架為支撐,其次以企業內部具體業務場景為起點,分析、抽取、持續積累沉淀具體業務組件,結合統一規范約束,快速搭建、組裝出業務系統的能力。


金融科技
讓中國金融科技 具有世界影響力
長亮科技更懂如何為您的數字化轉型賦能
主站蜘蛛池模板: www.狠狠操.com | 亚洲精品国产成人99久久 | 嘿咻嘿咻边做免费视频观看 | 欧美日韩不卡在线 | 久久中文字幕视频 | 无码精品国产va在线观看 | 精品免费久久久久久成人影院 | 狠狠色丁香婷婷综合 | 99久久国产综合精品成人影院 | 啪啪免费网站 | 欧美网站免费观看在线 | 亚洲精品无码久久 | 午夜精品久久久久久久久 | 天堂在线资源最新版 | 99国产热 | 熟女人妻在线视频 | 久久久久婷婷国产综合青草 | 色偷偷要色偷偷网站视频在线 | 婷婷精品国产亚洲av麻豆不片 | 成人欧美网站免费 | 国产成人涩涩涩视频在线观看 | 少妇下蹲露大唇无遮挡 | 天天躁夜夜躁av天天爽 | 污污的视频免费在线观看 | 国产免费又色又爽粗视频 | 天天舔夜夜操 | 奇米精品| 亚洲欧美国产毛片在线 | jizzjizzjizz在线观看 | 97成人免费碰碰碰视频 | 久久天天拍天天爱天天躁 | 热99视频| 亚洲另类激情综合偷自拍图 | 性欧美黑人xxxx | 国产精品女同久久久久电影院 | 少妇性l交大片欧洲热妇乱xxx | 国产福利不卡视频在免费播放 | 亚洲精品鲁一鲁一区二区三区 | 精品在线免费观看视频 | 97人妻精品一区二区三区 | 日韩激情无码免费毛片 |