當前位置:
首頁 > 知識 > Web前端架構師到底是個什麼鬼

Web前端架構師到底是個什麼鬼

首先,我們來考慮一下什麼是架構:軟體架構_百度百科

軟體架構(software architecture)是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。

傳統軟體架構描述的對象是直接構成系統的抽象組件,側重於系統的抽象、拆分、組織方式等。所以如果從傳統軟體架構定義出發,前端架構可能就是指前端項目的系統設計了。在進行系統設計之前,由於前端開發語言缺乏一定的工程能力,所以web前端架構師相比傳統軟體架構師還應該能提供以下開發基礎的支持

開發規範

:開發規範設計非常重要,設計良好的開發規範應該以實用性為前提,可以提升開發效率,降低維護成本。常見的規範主要是針對模塊化開發定義的,想像一下,下面的規範示意圖是不是能對開發和維護有極大的幫助:

開發模型

:主要是模塊化開發。前端由於編程語言的問題,沒有原生的模塊化支持,所以架構師在做架構設計之前,要先提供模塊開發體系。模塊化開發體系設計挺複雜的,完整的模塊化體系要統一js、css和模板的模塊化處理,此外,js、css模板中的資源(圖片等)引用也是要考慮的問題。此外,模塊化框架肩負著資源的載入控制,要面對性能優化,所以,好的架構師給出的模塊化方案應該是能把性能優化做到框架中,性能是一個工程問題!

構建工具

:還是由於前端開發語言的問題,前端還需要構建工具配合,才能完成開發規範、開發模型的落地實現。這部分也許有人認為是非必須的,但是我可以給出完整論證證明標準前端項目必須經過構建,這裡就不展開了。總之,前端架構師在給出規範、模型之後,還要給出配套的工具來保證它們的實現。

web前端架構師至少要提供以上3項之後才能開展正式的架構設計,我覺得這部分是衡量一個架構師設計能力的重要指標之一。基礎搞定了,架構設計的開展才能順利。沒有標準的模塊化支持,架構設計很難做。

此外,由於web前端的產品模式與傳統軟體有很大差異,所以我覺得真正的前端架構師還應該能考慮以下問題:

項目部署

:前端項目部署應該由前端架構師來決定,這裡涉及到網路性能優化和開發規範對接的問題,所以前端架構師要理解工程部署的過程,並把開發和部署打通,否則開發受限於部署,架構設計會遇到阻礙。

組件化與組件生態

:由於前端面向的是界面設計,所以在模塊化之上還有組件化開發模型需要架構師提供。此外,項目中一些可復用的模塊或組件應該有一定的復用渠道,這部分我稱之為生態。架構師應該提供這樣的渠道來解決多個團隊或項目之間的代碼復用問題。

前端統計

:前端統計包括性能統計、訪問統計、用戶行為統計、錯誤統計、安全監控等,雖然有些統計屬於產品指標,但在大數據時代,前端研發的方嚮應該有一定的數據做指導,前端架構師必須關心統計數據,並能提供統計方案、統計平台是一種衡量指標。

前端安全

:這部分也應該有架構師負責的部分。主要是在開發、統計的過程中對前端安全做保障,比如xss修復、頁面腳本注入監控等

系統測試

:很多人總是嘗試用API測試方法論中的單元測試來測試前端項目,其實是片面的。前端測試屬於GUI測試範疇,前端項目中使用的框架、類庫一般由外部提供,已經由API測試做了質量保證,而項目中的測試應該主要集中在GUI測試上,這部分目前沒有好的解決方案做支撐,所以也沒有什麼好的衡量辦法。

以上就是我覺得衡量前端架構師的基本要求,現在已經不在是

寫一個jquery就是架構師

的時代了,前端本應該是一個系統化、工程化的理論體系,涉及到很多方面,前端工程師的工程化意識應該加強。

或許現在很多企業和團隊尚未重視前端工程,或許前端工程在很多人眼裡還只是「構建工具」的代名詞,又或許未來前端領域的變革使得一切工程問題從根本上得到解決。不管怎樣,我只是希望當下能認真的記錄自己在前端工程領域的所見所想,與正在經歷前端工程化改進,並被此過程困擾的同學交流心得。

想要系統學習web前端和免費學習資料的 可以加裙六二三九六六八零六


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT技術java交流 的精彩文章:

2017年6月TIOBE編程語言排行榜:Java穩居第一
Java學習路線圖,專為新手定製的學習計劃建議

TAG:IT技術java交流 |

您可能感興趣

Web全棧架構師到底會些啥?憑什麼年薪30萬以上?
什麼是Web框架、web框架有什麼功能?
13個Python Web框架比較,你想使用哪個呢?
做web前端,這幾個技能你不get,沒有公司會要你!
Web 前端單元測試到底要怎麼寫?
Hybris平台Web架構模式演變:前後端分離
web前端工程師:那些容易被遺忘的web前端問題
給你一個webAPP,應該如何運行起來?
Python 高手之路:從零開始打造一個Web伺服器
前端工程師的新選擇?聊聊WebApp的未來
web前端與後端有什麼區別?
有關webscraper的問題,看這個就夠了
Uber開源Fusion.js:一個基於插件架構的通用Web框架
沒有區塊鏈的 Web 3.0 會是什麼樣?
好的web前端是如何拿到30萬年薪的?
我是如何從零開始 Web 前端自學之路的?
WebAssembly 的未來:將逐漸解鎖整個「技能樹」
未來 Web 將會變成什麼樣?Google 已經給出了自己的標準
有了這8個Chrome擴展工具,Web開發事半功倍!
超想體驗下WIXOSS中二打牌場景所以搞了個WebVR版demo