大家好,感謝邀請(qǐng),今天來(lái)為大家分享一下前端架構(gòu)師需要具備的技能的問(wèn)題,以及和前端開(kāi)發(fā)需要掌握的技能的一些困惑,大家要是還不太明白的話,也沒(méi)有關(guān)系,因?yàn)榻酉聛?lái)將為大家分享,希望可以幫助到大家,解決大家的問(wèn)題,下面就開(kāi)始吧!
如何定義前端架構(gòu)
在Web前端技術(shù)變化日新月異的今天,Web前端項(xiàng)目變的越來(lái)越復(fù)雜。前端架構(gòu)也會(huì)隨著我們現(xiàn)在千變?nèi)f化的迭代需求,架構(gòu)技術(shù)的演化,不僅是架構(gòu)師也是我們每個(gè)開(kāi)發(fā)人員都必須去關(guān)注的問(wèn)題。下面,給大家詳細(xì)說(shuō)一說(shuō)前端構(gòu)架!
一、前端架構(gòu)的由來(lái)2014年10月13日CSS開(kāi)發(fā)者大會(huì)上,在新奧爾良會(huì)議中心一個(gè)擁擠的房間里“舉起前端架構(gòu)的旗幟”成了在一線奮斗著的開(kāi)發(fā)者們共同的訴求。在那之后,那些想要弄清楚自身定位以及在公司中所扮演的角色的開(kāi)發(fā)者們發(fā)現(xiàn),其實(shí)他們一直扮演著前端架構(gòu)師的角色,卻從來(lái)沒(méi)有擁有過(guò)這個(gè)頭銜,或者沒(méi)有足夠的信心去爭(zhēng)取這個(gè)職位所應(yīng)具有的權(quán)力。
在大會(huì)召幾周之后,很多人把他們?cè)赥witter上的個(gè)人簡(jiǎn)介改成了“前端架構(gòu)師”。
二、你理解的前端架構(gòu)是怎樣的?前端架構(gòu)如同建筑設(shè)計(jì),在建設(shè)過(guò)程中,建筑設(shè)計(jì)師需要設(shè)計(jì)和規(guī)劃方案,并且跟進(jìn)施工過(guò)程。這與前端架構(gòu)師的工作有著異曲同工之妙,不同的是后者建造的是網(wǎng)站,而不是建筑物。比起澆筑混凝土,建筑設(shè)計(jì)師會(huì)在設(shè)計(jì)工程構(gòu)圖的工作上傾注更多的精力。同理,相比編寫(xiě)具體的代碼,前端架構(gòu)師更專注于開(kāi)發(fā)工具和優(yōu)化流程。
前端架構(gòu)是一系列工具和流程的集合,旨在提升前端代碼的質(zhì)量,并實(shí)現(xiàn)高效可持續(xù)的工作流。
前端設(shè)計(jì)架構(gòu)不是一勞永逸的工作,沒(méi)有任何設(shè)計(jì)在一開(kāi)始就是完美的,也沒(méi)有任何計(jì)劃可以一步到位。
三、前端架構(gòu)的原則1.體系設(shè)計(jì)
試想一下,如果一棟建筑沒(méi)有明確的構(gòu)造設(shè)計(jì),所有的重要事項(xiàng)都由建筑工人直接決定,那么就可能會(huì)出現(xiàn)這樣的情景:第一面墻用石頭壘,第二面墻用磚頭砌,第三面墻用木頭搭,第四面墻因?yàn)樽非髸r(shí)髦而留空。
雖然網(wǎng)站的整體外觀和風(fēng)格基調(diào)完全由經(jīng)驗(yàn)豐富的視覺(jué)設(shè)計(jì)師決定,但前端架構(gòu)師掌控著背后的前端開(kāi)發(fā)方法和系統(tǒng)設(shè)計(jì)哲學(xué)。通過(guò)設(shè)計(jì)所有前端開(kāi)發(fā)人員都要遵循的系統(tǒng)規(guī)范,前端架構(gòu)師清晰描繪了產(chǎn)品和代碼的最終形態(tài)。
一旦前端架構(gòu)師建立起了系統(tǒng)設(shè)計(jì)的規(guī)范,項(xiàng)目就擁有了可以衡量代碼質(zhì)量的標(biāo)準(zhǔn),否則我們?nèi)绾闻袛啻a是否達(dá)標(biāo)呢?一個(gè)精心設(shè)計(jì)的系統(tǒng),應(yīng)當(dāng)具備完善的檢驗(yàn)機(jī)制,并做出適當(dāng)?shù)娜∩幔员WC系統(tǒng)中的代碼有實(shí)質(zhì)的價(jià)值,而不是簡(jiǎn)單的堆砌。
2.工作規(guī)劃
有了清晰的結(jié)構(gòu)設(shè)計(jì)之后,就需要制定開(kāi)發(fā)工作流了。開(kāi)發(fā)人員寫(xiě)一行代碼并且提交到線上需要經(jīng)過(guò)什么步驟?舉一個(gè)最簡(jiǎn)單的例子,這個(gè)過(guò)程包括使用FTP登錄服務(wù)器,修改一個(gè)文件并保存。然而,對(duì)于大多數(shù)項(xiàng)目而言,完整的工作流可能會(huì)用到多種工具,如版本控制器、任務(wù)調(diào)度器、CSS處理器、文檔工具、測(cè)試組件和服務(wù)器自動(dòng)化工具等。
前端架構(gòu)師的目標(biāo)是設(shè)計(jì)出能流暢運(yùn)轉(zhuǎn)的系統(tǒng)。這個(gè)系統(tǒng)不僅能高效快速地啟動(dòng),還可以通過(guò)語(yǔ)言分析、測(cè)試用例、文檔記錄等方法持續(xù)地提供有效的反饋,并且大幅減少由于重復(fù)操作而產(chǎn)生的人為錯(cuò)誤。
3.監(jiān)督跟進(jìn)
前端架構(gòu)設(shè)計(jì)絕不是一勞永逸的工作。沒(méi)有任何設(shè)計(jì)在一開(kāi)始就是完美的,也沒(méi)有任何計(jì)劃可以一步到位。客戶和開(kāi)發(fā)人員的需求會(huì)隨著時(shí)間改變。在某個(gè)階段運(yùn)行得很好的開(kāi)發(fā)流程,隨后也可能需要重新調(diào)整,以便提高效率、減少錯(cuò)誤。
前端架構(gòu)師的一個(gè)非常重要的能力,就是能夠持續(xù)地優(yōu)化工作流程。如今各種各樣的構(gòu)建工具可以讓我們很方便地改變工作方式,并通知到每一位開(kāi)發(fā)人員。
有些人問(wèn)前端架構(gòu)師是否等同于管理角色,不再需要寫(xiě)業(yè)務(wù)代碼。前端架構(gòu)師不僅要寫(xiě)更多代碼,更要會(huì)用多種編程語(yǔ)言,還要使用大量的工具。代碼量并未減少,只是代碼的讀者發(fā)生了改變。前端開(kāi)發(fā)人員面向終端用戶寫(xiě)代碼,而前端架構(gòu)師面向的則是團(tuán)隊(duì)里的開(kāi)發(fā)人員。
四、前端架構(gòu)的核心1.代碼
歸根結(jié)底,所有的網(wǎng)站都是由一堆文本文件和資源文件組成HTML、CSS、JavaScript的。當(dāng)我們面對(duì)制作網(wǎng)站所產(chǎn)生的大量代碼時(shí),就會(huì)發(fā)現(xiàn)為代碼和資源設(shè)定一個(gè)期望是多么重要。
2.流程
怎么用工具和流程構(gòu)建一個(gè)高效且避免出錯(cuò)的工作流是一個(gè)重要的思考。工作流變得越來(lái)越復(fù)雜,那些用于構(gòu)建它們的工具也同樣如此。這些工具在提高生產(chǎn)力、加快效率和保持代碼一致性上帶來(lái)了驚人的效果,但也伴隨著過(guò)度工程化和抽象化的風(fēng)險(xiǎn)。
3.測(cè)試
要構(gòu)建一個(gè)可擴(kuò)展和可持續(xù)優(yōu)化的系統(tǒng),必須保證新代碼與老代碼能夠很好地兼容,我們的代碼不會(huì)孤立存在,它們都是大型系統(tǒng)中的一部分,創(chuàng)建覆蓋面廣泛的測(cè)試方案,能確保老代碼還能正常運(yùn)行。
4.文檔
設(shè)計(jì)文檔是你同他人交流的工具,來(lái)闡述你的設(shè)計(jì)決策是什么,來(lái)闡明你的設(shè)計(jì)決策是什么以及為什么你的決策是好的。如果不是團(tuán)隊(duì)中的重要成員要離開(kāi),幾乎都不會(huì)意識(shí)到文檔的重要性。
這四個(gè)核心是構(gòu)建可擴(kuò)展和可持續(xù)優(yōu)化的系統(tǒng)的基礎(chǔ)。以上就是我介紹的前端構(gòu)架,相信大家對(duì)前端構(gòu)架已經(jīng)有所了解。希望對(duì)從事Web前端的小伙伴有所幫助。如果你想了解更多Web前端行業(yè)動(dòng)態(tài)和學(xué)習(xí)資料,可以關(guān)注“武漢千鋒”微信公眾號(hào)!
如何從程序員到架構(gòu)師
架構(gòu)師從程序員中來(lái),但不是每個(gè)程序員都能成為架構(gòu)師,要想成為架構(gòu)師,不僅要有一定的基礎(chǔ)代碼能力,也要對(duì)業(yè)務(wù)有所了解,更重要的是從思維的廣度和高度進(jìn)行提升。
1.基礎(chǔ)能力
基礎(chǔ)能力是一個(gè)程序員必備的能力,如基礎(chǔ)代碼開(kāi)發(fā)、XML/JSON操作、數(shù)據(jù)庫(kù)、常用框架、工具等,深入一些的還有算法、設(shè)計(jì)模式、高并發(fā)、線程等內(nèi)容。如果要成為架構(gòu)師,這些內(nèi)容是必須要了解和掌握的,所以在平時(shí)要多分析源碼,分析底層的架構(gòu)和算法,不斷積累自己的基礎(chǔ)能力。
2.業(yè)務(wù)能力
架構(gòu)都是為系統(tǒng)服務(wù)的,為系統(tǒng)服務(wù)就是為實(shí)際業(yè)務(wù)服務(wù)的,所以對(duì)于一個(gè)合格的架構(gòu)師,一定要了解業(yè)務(wù),可以根據(jù)不同業(yè)務(wù)設(shè)計(jì)出最優(yōu)化的技術(shù)方案來(lái)滿足實(shí)際的業(yè)務(wù)場(chǎng)景,并且能充分考慮到高并發(fā)、穩(wěn)定性和安全性等性能要求。這就要求我們?cè)谄綍r(shí)工作的過(guò)程中,注意了解業(yè)務(wù)、積累經(jīng)驗(yàn),將實(shí)際業(yè)務(wù)與產(chǎn)品開(kāi)發(fā)相融合,提升業(yè)務(wù)能力。
3.思維能力
成為一名架構(gòu)師,不僅是一名優(yōu)秀的程序員,更要在思維的高度上超過(guò)程序員,加強(qiáng)思維的廣度,能從分析、設(shè)計(jì)、開(kāi)發(fā)、使用等多種角色的角度去看待項(xiàng)目和設(shè)計(jì)架構(gòu),同時(shí)要具備思維的嚴(yán)謹(jǐn)性和開(kāi)放性,把握細(xì)節(jié)的同時(shí)也要接納更多的技術(shù)方案,能夠協(xié)調(diào)好各種方案的處理方式和使用范圍,實(shí)現(xiàn)最優(yōu)化的設(shè)計(jì)。
數(shù)通暢聯(lián)專注于企業(yè)IT架構(gòu)、SOA綜合集成、數(shù)據(jù)治理分析領(lǐng)域,感謝您的閱讀與關(guān)注。前端架構(gòu)師干什么的
1負(fù)責(zé)前端架構(gòu)的建立和實(shí)施,主導(dǎo)前端框架開(kāi)發(fā),制定前端開(kāi)發(fā)規(guī)范;2負(fù)責(zé)梳理和優(yōu)化前端開(kāi)發(fā)流程,搭建高效集成的前端開(kāi)發(fā)環(huán)境;3負(fù)責(zé)前端方案設(shè)計(jì)和技術(shù)選型;4主導(dǎo)開(kāi)發(fā)核心組件,封裝適應(yīng)于PC和Mobile的js交互控件等等。
如何成為一個(gè)合格的游戲系統(tǒng)架構(gòu)師
1、學(xué)習(xí)心態(tài)的轉(zhuǎn)變
大家不是來(lái)學(xué)習(xí),而是工作,老男孩老師就是你們的領(lǐng)導(dǎo)。領(lǐng)導(dǎo)分配了任務(wù),又給大家詳細(xì)講解了。那現(xiàn)在,咱們公司要上這個(gè)項(xiàng)目,讓你去搞,你沒(méi)有理由不搞定。工作中老大給你講解細(xì)節(jié),這個(gè)是不會(huì)有的。
所以,從需求分析開(kāi)始,到出一套專業(yè)可實(shí)施的架構(gòu)方案(圖文并茂),以及組織公司討論到后續(xù)實(shí)施都是架構(gòu)師主導(dǎo)的,甚至后期交給運(yùn)維人員維護(hù)前,我們?cè)诜桨咐锒家獙?xiě)出來(lái)。這個(gè)在規(guī)定的時(shí)間各位務(wù)必要去完成,月薪15K+不是那么容易就達(dá)到的,要努力的付出。專本科生3-4年學(xué)習(xí)畢業(yè)做IT的都是2000-3000塊起步,在座的各位還有是高中生的,不努力憑什么過(guò)15K。
2、學(xué)習(xí)方式的轉(zhuǎn)變
以前大家可能是百度,谷歌,別人的文檔,求助別人。總是被動(dòng)學(xué)習(xí)(有需求了再去學(xué))。
那現(xiàn)在要主動(dòng)學(xué)習(xí)了。
多看一手官方文檔,git,samba,openldap,open***等等都有詳細(xì)的幫助。
看官方手冊(cè)研究方案,是一個(gè)優(yōu)秀架構(gòu)師必須具備的重要能力。
如果英文看不懂,那可以練習(xí)英文:用你熟悉的軟件服務(wù)的官方文檔去練習(xí)英文,例如:看看nginx,apache的官方練習(xí)英文閱讀,然后再去看新軟件的官方研究軟件。
多培養(yǎng)自己的興趣,學(xué)習(xí)工作習(xí)慣。
學(xué)東西,看東西,只有量變才能質(zhì)變。系統(tǒng)研究軟件應(yīng)用就是看官方,有故障可以去搜索。
3、學(xué)習(xí)思想的轉(zhuǎn)變
作為一個(gè)優(yōu)秀的架構(gòu)師,不光是要研究一個(gè)軟件的使用,更要去想一個(gè)企業(yè)業(yè)務(wù)項(xiàng)目的整體架構(gòu)方案。
你可以不需要會(huì)一個(gè)新軟件的應(yīng)用(只要知道什么軟件能干什么,會(huì)一款即可),也可以寫(xiě)出一套架構(gòu)方案。很多總監(jiān)就是這個(gè)樣子,不是精通具體技術(shù),但是全局觀更好一些。
一個(gè)再好的士兵,哪怕神槍手,打遍天下無(wú)敵手,也不如一個(gè)統(tǒng)領(lǐng)全局的元帥更有價(jià)值。
我們需要做的不是當(dāng)一個(gè)神槍手,而是做一個(gè)能夠掌握全局能力的優(yōu)秀架構(gòu)師。
我們可以只提出架構(gòu)方案,架構(gòu)方案中的一些核心技術(shù),我們把握好就好了,一些邊緣的軟件可以由別人(運(yùn)維人員)去研究實(shí)施。
就拿門(mén)戶ldap集群驗(yàn)證這里例子吧,作為架構(gòu)師應(yīng)該提出并完成一個(gè)門(mén)戶網(wǎng)站從辦公室到跨多機(jī)房的全局的一套用戶驗(yàn)證系統(tǒng)方案,其中核心點(diǎn)就是辦公網(wǎng)域控和機(jī)房的LDAP服務(wù)結(jié)合,以及跨機(jī)房如何做驗(yàn)證,如何做集群,如何做高可用,驗(yàn)證過(guò)程數(shù)據(jù)如何加密(包括跨機(jī)房)。
在web界面實(shí)現(xiàn)管理等,驗(yàn)證和授權(quán)如何分開(kāi)。
一些具體的samba,vsftp,open***,pptp,svn,git,http,redmine、Mantis、postfix等等驗(yàn)證交給運(yùn)維人員去實(shí)現(xiàn)就可以了,他們搞不定的,你可以去攻關(guān),提供支持等。
4、技術(shù)情結(jié)的轉(zhuǎn)變
技術(shù)是根基,溝通是橋梁,思想是靈魂。這3點(diǎn)是優(yōu)秀架構(gòu)師必不可少的能力。其實(shí)就是,除了技術(shù)知識(shí)外,還至少要會(huì)文檔畫(huà)圖的能力,具備系統(tǒng)架構(gòu)思想,并且能夠表達(dá)清楚自己的思想,最重要的是有很強(qiáng)的說(shuō)服別人(一堆人)的能力。給企業(yè)提方案就像古代變法一樣,是要有流血準(zhǔn)備的,可見(jiàn)實(shí)施架構(gòu)師指定方案的難度,不是對(duì)的就會(huì)被采納的。因此,光會(huì)技術(shù)是遠(yuǎn)遠(yuǎn)不夠的。這點(diǎn)大家要改變。
如何成為前端架構(gòu)師
從入門(mén)到前端架構(gòu)師,一般需要5年左右。系統(tǒng)架構(gòu)師是一個(gè)既需要掌控整體又需要洞悉局部瓶頸并依據(jù)具體的業(yè)務(wù)場(chǎng)景給出解決方案的人。確認(rèn)和評(píng)估系統(tǒng)需求,給出開(kāi)發(fā)規(guī)范,搭建系統(tǒng)實(shí)現(xiàn)的核心構(gòu)架,并澄清技術(shù)細(xì)節(jié)、掃清主要難點(diǎn)的技術(shù)人員。主要著眼于系統(tǒng)的“技術(shù)實(shí)現(xiàn)”。因此他/她應(yīng)該是特定的開(kāi)發(fā)平臺(tái)、語(yǔ)言、工具的大師,對(duì)常見(jiàn)應(yīng)用場(chǎng)景能馬上給出最恰當(dāng)?shù)慕鉀Q方案,同時(shí)要對(duì)所屬的開(kāi)發(fā)團(tuán)隊(duì)有足夠的了解,能夠評(píng)估自己的團(tuán)隊(duì)實(shí)現(xiàn)特定的功能需求需要的代價(jià)。系統(tǒng)架構(gòu)師負(fù)責(zé)設(shè)計(jì)系統(tǒng)整體架構(gòu),從需求到設(shè)計(jì)的每個(gè)細(xì)節(jié)都要考慮到,把握整個(gè)項(xiàng)目,使設(shè)計(jì)的項(xiàng)目盡量效率高,開(kāi)發(fā)容易,維護(hù)方便,升級(jí)簡(jiǎn)單等。架構(gòu)師的主要任務(wù)不是從事具體的軟件程序的編寫(xiě),而是從事更高層次的開(kāi)發(fā)構(gòu)架工作。他必須對(duì)開(kāi)發(fā)技術(shù)非常了解,并且需要有良好的組織管理能力。可以這樣說(shuō),一個(gè)架構(gòu)師工作的好壞決定了整個(gè)軟件開(kāi)發(fā)項(xiàng)目的成敗。
關(guān)于前端架構(gòu)師需要具備的技能的內(nèi)容到此結(jié)束,希望對(duì)大家有所幫助。