地址: 上海市靜安區(qū)共和新路4718弄10號樓2樓
熱線:400-166-3538
電話:19301461038
郵箱:sales@shyuanzhen.cn
首先,我們來考慮一下什么是架構(gòu):
軟件架構(gòu)(software architecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個方面的設(shè)計。
傳統(tǒng)軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件,側(cè)重于系統(tǒng)的抽象、拆分、組織方式等。所以如果從傳統(tǒng)軟件架構(gòu)定義出發(fā),前端架構(gòu)可能就是指前端項目的系統(tǒng)設(shè)計了。在進(jìn)行系統(tǒng)設(shè)計之前,由于前端開發(fā)語言缺乏一定的工程能力,所以web前端架構(gòu)師相比傳統(tǒng)軟件架構(gòu)師還應(yīng)該能提供以下開發(fā)基礎(chǔ)的支持:
開發(fā)規(guī)范
:開發(fā)規(guī)范設(shè)計非常重要,設(shè)計良好的開發(fā)規(guī)范應(yīng)該以實用性為前提,可以提升開發(fā)效率,降低維護(hù)成本。常見的規(guī)范主要是針對模塊化開發(fā)定義的,想象一下,下面的規(guī)范示意圖是不是能對開發(fā)和維護(hù)有極大的幫助:
開發(fā)模型
:主要是模塊化開發(fā)。前端由于編程語言的問題,沒有原生的模塊化支持,所以架構(gòu)師在做架構(gòu)設(shè)計之前,要先提供模塊開發(fā)體系。模塊化開發(fā)體系設(shè)計挺復(fù)雜的,完整的模塊化體系要統(tǒng)一js、css和模板的模塊化處理,此外,js、css模板中的資源(圖片等)引用也是要考慮的問題。此外,模塊化框架肩負(fù)著資源的加載控制,要面對性能優(yōu)化,所以,好的架構(gòu)師給出的模塊化方案應(yīng)該是能把性能優(yōu)化做到框架中,性能是一個工程問題!
構(gòu)建工具
:還是由于前端開發(fā)語言的問題,前端還需要構(gòu)建工具配合,才能完成開發(fā)規(guī)范、開發(fā)模型的落地實現(xiàn)。這部分也許有人認(rèn)為是非必須的,但是我可以給出完整論證證明標(biāo)準(zhǔn)前端項目必須經(jīng)過構(gòu)建,這里就不展開了??傊?,前端架構(gòu)師在給出規(guī)范、模型之后,還要給出配套的工具來保證它們的實現(xiàn)。web前端架構(gòu)師至少要提供以上3項之后才能開展正式的架構(gòu)設(shè)計,我覺得這部分是衡量一個架構(gòu)師設(shè)計能力的重要指標(biāo)之一?;A(chǔ)搞定了,架構(gòu)設(shè)計的開展才能順利。沒有標(biāo)準(zhǔn)的模塊化支持,架構(gòu)設(shè)計很難做。
此外,由于web前端的產(chǎn)品模式與傳統(tǒng)軟件有很大差異,所以我覺得真正的前端架構(gòu)師還應(yīng)該能考慮以下問題:
項目部署
:前端項目部署應(yīng)該由前端架構(gòu)師來決定,這里涉及到網(wǎng)絡(luò)性能優(yōu)化和開發(fā)規(guī)范對接的問題,所以前端架構(gòu)師要理解工程部署的過程,并把開發(fā)和部署打通,否則開發(fā)受限于部署,架構(gòu)設(shè)計會遇到阻礙。
組件化與組件生態(tài)
:由于前端面向的是界面設(shè)計,所以在模塊化之上還有組件化開發(fā)模型需要架構(gòu)師提供。此外,項目中一些可復(fù)用的模塊或組件應(yīng)該有一定的復(fù)用渠道,這部分我稱之為生態(tài)。架構(gòu)師應(yīng)該提供這樣的渠道來解決多個團(tuán)隊或項目之間的代碼復(fù)用問題。
前端統(tǒng)計
:前端統(tǒng)計包括性能統(tǒng)計、訪問統(tǒng)計、用戶行為統(tǒng)計、錯誤統(tǒng)計、安全監(jiān)控等,雖然有些統(tǒng)計屬于產(chǎn)品指標(biāo),但在大數(shù)據(jù)時代,前端研發(fā)的方向應(yīng)該有一定的數(shù)據(jù)做指導(dǎo),前端架構(gòu)師必須關(guān)心統(tǒng)計數(shù)據(jù),并能提供統(tǒng)計方案、統(tǒng)計平臺是一種衡量指標(biāo)。
前端安全
:這部分也應(yīng)該有架構(gòu)師負(fù)責(zé)的部分。主要是在開發(fā)、統(tǒng)計的過程中對前端安全做保障,比如xss修復(fù)、頁面腳本注入監(jiān)控等
系統(tǒng)測試
:很多人總是嘗試用API測試方法論中的單元測試來測試前端項目,其實是片面的。前端測試屬于GUI測試范疇,前端項目中使用的框架、類庫一般由外部提供,已經(jīng)由API測試做了質(zhì)量保證,而項目中的測試應(yīng)該主要集中在GUI測試上,這部分目前沒有好的解決方案做支撐,所以也沒有什么好的衡量辦法。以上就是我覺得衡量前端架構(gòu)師的基本要求,現(xiàn)在已經(jīng)不在是“寫一個jquery就是架構(gòu)師”的時代了,前端本應(yīng)該是一個系統(tǒng)化、工程化的理論體系,涉及到很多方面,前端工程師的工程化意識應(yīng)該加強。
或許現(xiàn)在很多企業(yè)和團(tuán)隊尚未重視前端工程,或許前端工程在很多人眼里還只是“構(gòu)建工具”的代名詞,又或許未來前端領(lǐng)域的變革使得一切工程問題從根本上得到解決。不管怎樣,我只是希望當(dāng)下能認(rèn)真的記錄自己在前端工程領(lǐng)域的所見所想,與正在經(jīng)歷前端工程化改進(jìn),并被此過程困擾的同學(xué)交流心得。
? ? ? ? | 公司名稱:上海緣震網(wǎng)絡(luò)科技有限公司 開戶銀行:中國工商銀行上海市彭浦支行 銀行賬號:1001 2508 0930 0206 455 |
總部:上海市奉賢區(qū)金海公路6055號29號3樓 分部:上海市靜安區(qū)共和新路4718弄10號樓2樓 商務(wù)官網(wǎng):133288.cn 新官網(wǎng):www.shyuanzhen.com 彥蓁科技:www.shyanzhen.cn | 緣震網(wǎng)絡(luò)成立于 2014 年,公司主要經(jīng)營全案策劃,高端品質(zhì)網(wǎng)站建設(shè)、多媒體視頻宣傳片制作、微信公眾號開發(fā)、微信小程序開發(fā)、商城定制、SEO優(yōu)化、電商托管、空間托管、網(wǎng)站維護(hù)、應(yīng)用軟件開發(fā)、手機端APP開發(fā)、等為客戶提供一條龍網(wǎng)絡(luò)運營解決方案的的技術(shù)型企業(yè)。我們在人力資源、業(yè)務(wù)范圍、設(shè)計、技術(shù)、服務(wù)、信譽度、規(guī)范管理及企業(yè)文化等諸多方面完善自己,公司目前已與千余家各類客戶進(jìn)行長期戰(zhàn)略合作,提供專業(yè)的網(wǎng)站建設(shè)與運營服務(wù)。我們的口號:廣結(jié)良緣、震古爍今! |