我眼里的前端工程化

如果你不了解一個(gè)人的過(guò)去策治,那你根本不會(huì)明白他/她為何是現(xiàn)在的樣子泡一。所以,在開(kāi)始聊前端工程化之前,讓我們先來(lái)回顧下前端的過(guò)去二拐。前端的發(fā)展可以總結(jié)為三個(gè)階段:

前端發(fā)展的三個(gè)階段

后端附屬物

可以說(shuō)瀏覽器的誕生孕育了前端服鹅,而前端誕生之初更多的是作為后端的附屬物。在我剛接觸前端時(shí)百新,我其實(shí)先學(xué)的php企软。那時(shí)候前后端是不分離的,前端用來(lái)寫(xiě)樣式和模版yi以及js動(dòng)效然后交由后端渲染及輸出饭望。所以整個(gè)過(guò)程是由后端主導(dǎo)的仗哨,前端還只是玩具。 那這時(shí)候會(huì)有工程化嗎铅辞?答案是肯定的厌漂,任何軟件工程都需要工程化,只是前端尚未獨(dú)立成一項(xiàng)工程巷挥,還談不上工程化桩卵。而后端早就作為一項(xiàng)成熟的軟件工程,有著各種工程化的實(shí)現(xiàn)倍宾。

前后端分離

隨著ajax等技術(shù)以及nodejs語(yǔ)言的誕生雏节,前后端開(kāi)始出現(xiàn)分離,前端開(kāi)始接手模版渲染的工作高职,而后端則更專注于接口等服務(wù)的提供钩乍。分離之后,前端得到了解放怔锌,眾多出色的框架相繼誕生寥粹,如backbone, angular, reactjs, vue等優(yōu)秀框架。隨著前端自主性增強(qiáng)埃元,前端慢慢具備了作為獨(dú)立一項(xiàng)軟件工程的條件涝涤,工程化變成了必要。于是基于nodejs實(shí)現(xiàn)的開(kāi)源工程化工具開(kāi)始出現(xiàn)岛杀,如grunt, gulp, webpack等阔拳。當(dāng)然像google,facebook等大公司早就有前端工程化方案类嗤,只是沒(méi)有對(duì)外開(kāi)源糊肠。

入侵全端

09年,天才的Ryan Dahl給前端界帶來(lái)了nodejs遗锣,賦予了JS在后端運(yùn)行的能力以及開(kāi)發(fā)客戶端的能力货裹。而HybridApp,React Native等技術(shù)又讓前端擁有開(kāi)發(fā)移動(dòng)APP的能

力精偿。

至此弧圆,前端已經(jīng)演進(jìn)成一項(xiàng)成熟的軟件工程赋兵,即所謂的前端工程化。

軟件工程

前端發(fā)展成了一項(xiàng)軟件工程搔预,那什么是軟件工程呢毡惜?我們先來(lái)看下它的定義:

軟件工程是一門(mén)研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科斯撮。它涉及程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)扶叉、軟件開(kāi)發(fā)工具勿锅、系統(tǒng)平臺(tái)、標(biāo)準(zhǔn)枣氧、設(shè)計(jì)模式等方面溢十。

所以,我認(rèn)為前端工程化就是以工程化方法構(gòu)建和維護(hù)有效达吞、實(shí)用和高質(zhì)量的前端應(yīng)用张弛。

流程

?上面說(shuō)了一大堆理論,那么怎么實(shí)現(xiàn)工程化呢酪劫?相信很多人腦中會(huì)冒出grunt吞鸭、gulp、webpack這些打包工具以及一堆腳手架覆糟。但是前端工程化絕不是等同于一堆腳手架工具刻剥,這些腳手架工具只是為了實(shí)現(xiàn)工程化,即構(gòu)建和維護(hù)前端應(yīng)用滩字。軟件交付一般流程如下:

開(kāi)發(fā)到部署流程


每個(gè)階段都需要用工程化的方法去實(shí)現(xiàn)造虏,這又涉及到前端開(kāi)發(fā)所用到的技術(shù)。

前端技術(shù)

總結(jié)起來(lái)麦箍,前端歸根到底也就是html漓藕、css、js這三項(xiàng)技術(shù)挟裂。但在前端的演進(jìn)過(guò)程中享钞,發(fā)展出了這些基本技術(shù)的衍生品。如jsx是recatjs發(fā)明的對(duì)html語(yǔ)法的擴(kuò)展话瞧;sass是對(duì)css語(yǔ)法的擴(kuò)展嫩与;typescript是js語(yǔ)言的變種。這些衍生物最終還是需要還原成最基本的html交排,css划滋,js后前端應(yīng)用才能運(yùn)行起來(lái)。這些都需要一些工具來(lái)輔助處理埃篓,如bable处坪,postcss等,這些工具是我們構(gòu)建前端應(yīng)用必不可少的。而grunt同窘、gulp玄帕、webpack則可以幫助我們集成這些工具,方便前端開(kāi)發(fā)調(diào)試想邦,并構(gòu)建出最終可以用于生產(chǎn)環(huán)境的高質(zhì)量應(yīng)用裤纹。當(dāng)然構(gòu)建只是工程化的一部分,軟件交付后還需要持續(xù)維護(hù)丧没。像日志上報(bào)鹰椒、異常監(jiān)控及恢復(fù)等都措施都要進(jìn)一步跟進(jìn)。


總結(jié)

我認(rèn)為前端工程化就是用工程化方法構(gòu)建和維護(hù)有效的呕童、實(shí)用的和高質(zhì)量的前端應(yīng)用漆际。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市夺饲,隨后出現(xiàn)的幾起案子奸汇,更是在濱河造成了極大的恐慌,老刑警劉巖往声,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件擂找,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡浩销,警方通過(guò)查閱死者的電腦和手機(jī)婴洼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)撼嗓,“玉大人柬采,你說(shuō)我怎么就攤上這事∏揖” “怎么了粉捻?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)斑芜。 經(jīng)常有香客問(wèn)我肩刃,道長(zhǎng),這世上最難降的妖魔是什么杏头? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任盈包,我火速辦了婚禮,結(jié)果婚禮上醇王,老公的妹妹穿的比我還像新娘呢燥。我一直安慰自己,他們只是感情好寓娩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布叛氨。 她就那樣靜靜地躺著呼渣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪寞埠。 梳的紋絲不亂的頭發(fā)上屁置,一...
    開(kāi)封第一講書(shū)人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音仁连,去河邊找鬼蓝角。 笑死,一個(gè)胖子當(dāng)著我的面吹牛饭冬,可吹牛的內(nèi)容都是我干的帅容。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼伍伤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了遣钳?” 一聲冷哼從身側(cè)響起扰魂,我...
    開(kāi)封第一講書(shū)人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蕴茴,沒(méi)想到半個(gè)月后劝评,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡倦淀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年蒋畜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撞叽。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姻成,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出愿棋,到底是詐尸還是另有隱情科展,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布糠雨,位于F島的核電站才睹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏甘邀。R本人自食惡果不足惜琅攘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望松邪。 院中可真熱鬧坞琴,春花似錦、人聲如沸逗抑。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至浙于,卻和暖如春护盈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背羞酗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工腐宋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人檀轨。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓胸竞,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親参萄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卫枝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容

  • 前些日子從@張?chǎng)涡裎⒉┨幍靡环萃扑](Front-end-tutorial),號(hào)稱最全的資源教程-前端涉及的所有知識(shí)...
    谷子多閱讀 4,196評(píng)論 0 44
  • 1.前言 最近有很多朋友問(wèn)我有沒(méi)有相關(guān)的書(shū)籍推薦讹挎,希望能夠自學(xué)一下前端校赤。 正好最近在查閱文章的時(shí)候,發(fā)現(xiàn)有朋友已經(jīng)...
    小裁縫sun閱讀 2,376評(píng)論 5 76
  • 大部分的后端會(huì)很很鄙視前端筒溃。我也不知道為什么马篮,可能大部分人都會(huì)覺(jué)得腳本語(yǔ)言根本不算語(yǔ)言。 大多人 會(huì)叫我們切圖仔怜奖,...
    小黑的眼閱讀 3,340評(píng)論 0 15
  • 那棵古老的芒果樹(shù)浑测,已經(jīng)幾十年沒(méi)開(kāi)花了,可是今年的它歪玲,仿佛中了什么喜迁央,可愛(ài)的黃花沾遍了綠蔭。 “春天來(lái)啦滥崩,媽媽漱贱!”這...
    沙雕艾米粒在線趕稿閱讀 519評(píng)論 2 5
  • 一、今日功課:1.今日事今日畢夭委,回向給自己幅狮,建立對(duì)自己的信任感。為自己點(diǎn)贊株灸。 今天是周日上午在家里大掃除崇摄,答應(yīng)侄子...
    瑜伽共修閱讀 160評(píng)論 0 2