前端激蕩三十年,從無到有,從單一到炫彩,技術(shù)從未停止!
時間:2023-07-18 09:12:01 | 來源:網(wǎng)站運營
時間:2023-07-18 09:12:01 來源:網(wǎng)站運營
前端激蕩三十年,從無到有,從單一到炫彩,技術(shù)從未停止!:前端,由瀏覽器誕生的那一刻便隨之而生,經(jīng)過不斷的探索如何將復雜晦澀的底層數(shù)據(jù)以人能更好理解的形式展示出去,從開始時的能用到好用,從單調(diào)到炫彩,用戶體驗越來越被重視,前端作為計算機層面與用戶最近的一層必須去變革與發(fā)展。
接下來從三十年前,HTML提出的那一天開始看起,看看這三十年前端經(jīng)歷了哪些變革與發(fā)展才走到了今天這樣一個豐富多彩的樣子。
- 1989年,伯納斯-李在一份備忘錄中提出一個基于互聯(lián)網(wǎng)的超文本系統(tǒng),并且記錄到在1990年底寫出瀏覽器和服務(wù)器軟件。同年,伯納斯-李與CERN的數(shù)據(jù)系統(tǒng)工程師羅伯特·卡里奧聯(lián)合為項目申請資助,但未被CERN(歐洲核子研究中心)正式批準,可見偉大的第一步并沒有那么一帆風順。
- 1990年發(fā)明了首個以超文本語言 HTML 為基礎(chǔ)在 NeXT 電腦上發(fā)明了最原始的 Web 瀏覽器網(wǎng)頁瀏覽器WorldWideWeb,也稱之為“所見即所得”瀏覽器。
- 1991年底,HTML這一詞的首個公開描述出現(xiàn)于一個名為“HTML標簽”的文件中,由伯納斯-李于提及,這時候的HTML一共有18個元素,設(shè)計的相對比較簡單。
- 1992年6月,HTML DTD的首個非正式草案被提出, 后續(xù)有七個修訂版(7月15日,8月6日,8月18日,11月17日,11月19日,11月20日,11月22日),其中在11月HTML DTD 1.1被定為初步草案,但是并非正式草案。
- 1993年中期互聯(lián)網(wǎng)工程任務(wù)組(IETF)發(fā)布首個HTML規(guī)范的提案:“超文本標記語言(HTML)”互聯(lián)網(wǎng)草案。美國國家超算應(yīng)用中心(National Center for Supercomputer Applications)以HTML為基礎(chǔ)開發(fā)了名為 Mosaic 的瀏覽器,于 1993 年 4 月發(fā)布。
- 1994年7月 HTML 2.0 規(guī)范發(fā)布,9 月,因特網(wǎng)工程任務(wù)組(Internet Engineering Task Force)設(shè)立了 HTML 工作組。11 月,Mosaic 瀏覽器的開發(fā)人員發(fā)布了 Mosaic Netscape 1.0 beta 瀏覽器,后改名為 Navigator。年底,由 Tim 牽頭的萬維網(wǎng)聯(lián)盟(W3C)成立,這標志著萬維網(wǎng)的正式誕生。 此時的網(wǎng)頁以 HTML 為主,是純靜態(tài)的網(wǎng)頁,網(wǎng)頁是“只讀”的,信息流只能通過服務(wù)器到客戶端單向流通,由此世界進入了 Web 1.0 時代。并且CSS也開始走進人們,CSS的最初建議由哈坤·利在芝加哥的一次會議上第一次提出了CSS的建議。同在今年“世界上最好的語言”PHP也出現(xiàn)了,起初一個叫Rasmus Lerdorf的加拿大人為了維護個人網(wǎng)站而創(chuàng)建了PHP。PHP原意是Personal Home Page,宣傳語是Hypertext Preprocessor(超文本處理者)。這時PHP實現(xiàn)了與數(shù)據(jù)庫的交互以及用于生產(chǎn)動態(tài)頁面的模板引擎,是Web領(lǐng)域中最主流的服務(wù)端語言。
- 1995年,是前端技術(shù)發(fā)展最迅猛的一年,從CSS到j(luò)avascript都涌向出來。
網(wǎng)景推出了一直被延續(xù)至今的JavaScript,實現(xiàn)了客戶端具備了計算的能力。起初這種腳本語言叫做 Mocha,后改名 LiveScript,后來為了借助 Java 語言創(chuàng)造良好的營銷效果最終改名為 JavaScript。網(wǎng)景公司把這種腳本語言嵌入到了 Navigator 2.0 之中,使其能在瀏覽器中運行。
今年在W3C會議上CSS又一次被提出,CSS的創(chuàng)作成員全部成為了W3C的工作小組并且全力以赴負責研發(fā)CSS標準,層疊樣式表的開發(fā)終于走上正軌,哈坤、波斯和其他一些人是這個項目的主要技術(shù)負責人。
HTML 3.0被提議作為IETF的標準,但直到提案在五個月過期后仍沒有進一步的行動。它包含許多拉格特HTML+提案的功能,如對表格的支持、圍繞數(shù)據(jù)的文本流和復雜的數(shù)學公式的顯示。W3C開始開發(fā)自己的Arena瀏覽器作為HTML 3和層疊樣式表的試驗臺,但HTML 3.0并沒有獲得成功。
- 1996年3月,Navigator 2.0內(nèi)置了JavaScript 1.0,微軟也發(fā)布了 VBScript 和 JScript。JScript 是對 JavaScript 進行逆向工程的實現(xiàn),并內(nèi)置于 Internet Explorer 3 中。但是 JavaScript 與 JScript 兩種語言的實現(xiàn)存在差別,這導致了程序員開發(fā)的網(wǎng)頁不能同時兼容 Navigator 和 Internet Explorer 瀏覽器。Internet Explorer 開始搶奪 Netscape 的市場份額,這導致了第一次瀏覽器戰(zhàn)爭。12月, W3C 推出了 CSS 1.0 規(guī)范,CSS(層疊樣式表)的第一份正式標準(Cascading style Sheets Level 1)完成,成為w3c的推薦標準。
- 1997 年 6 月,ECMA 以 JavaScript 語言為基礎(chǔ)制定了 ECMAScript 標準規(guī)范 ECMA-262。JavaScript 是 ECMAScript 規(guī)范最著名的實現(xiàn)之一,除此之外,ActionScript 和 JScript 也都是 ECMAScript 規(guī)范的實現(xiàn)語言。自此,瀏覽器廠商都開始逐步實現(xiàn) ECMAScript 規(guī)范。HTML 4.0作為W3C推薦標準發(fā)布。
- 1998年5月,CSS推出了第二版規(guī)范。6 月,ECMAScript 2 規(guī)范發(fā)布,并通過 ISO 生成了正式的國際標準 ISO/IEC 16262 。
- 1999 年 12 月,ECMAScript 3 規(guī)范發(fā)布,在此后的十年間,ECMAScript 規(guī)范基本沒有發(fā)生變動。 ECMAScript 3 成為當今主流瀏覽器最廣泛使用和實現(xiàn)的語言規(guī)范基礎(chǔ)。同年AJAX開始進入失業(yè),微軟推出用于異步數(shù)據(jù)傳輸?shù)?ActiveX,隨即各大瀏覽器廠商模仿實現(xiàn)了 XMLHttpRequest。動態(tài)網(wǎng)頁技術(shù)JSP由 Sun 公司倡導和許多公司參與,旨在創(chuàng)建一種使軟件開發(fā)者可以響應(yīng)客戶端請求,從而動態(tài)生成 HTML、XML 或其他格式文檔的 Web 網(wǎng)頁的技術(shù)標準,此時的JSP 技術(shù)是以 Java 后端語言為基礎(chǔ)的。
- 2000年 W3C 采用了一個大膽的計劃,把 XML 引入 HTML,XHTML1.0 作為 W3C 推薦標準發(fā)布,開始定義了JSON格式數(shù)據(jù),至此前后端的數(shù)據(jù)交換可以不再使用冗余信息較多而且還需要來回解析的XML,轉(zhuǎn)而使用JavaScript原生就支持的JSON格式數(shù)據(jù)。
- 2001年,W3C 推出了 CSS 3.0 規(guī)范草案。
- 2002年,Mozilla項目發(fā)布了它的瀏覽器的第一版,后來起名為Firefox,也就是我們現(xiàn)在使用的獲取瀏覽器。
- 2003年,蘋果公司也立即進入瀏覽器市場,快速研發(fā)并發(fā)布了Safari瀏覽器的第一版。
- 2005年初,Ajax(異步JSON和XML)技術(shù)開始被大量的使用起來,網(wǎng)站局部數(shù)據(jù)操作得到實現(xiàn),Web世界又往前邁進了一大步。
- 2006年,一代王者JQuery誕生了,John Resig發(fā)布了JQuery工具庫的第一個版本,這個工具庫一經(jīng)出世就風靡全球,一直持續(xù)到現(xiàn)在,是前端史上最成功的JS庫。與2000被W3C標準提出的 XHTML 2.0 最終放棄了,看起來權(quán)威機構(gòu)的標準也不是那么有力。
- 2007年10月,ECMAScript 4.0版草案發(fā)布,對3.0版做了大幅升級,預(yù)計次年8月發(fā)布正式版本。草案發(fā)布后,由于4.0版的目標過于激進,各方對于是否通過這個標準,發(fā)生了嚴重分歧。以Yahoo、Microsoft、Google為首的大公司,反對JavaScript的大幅升級,主張小幅改動;以JavaScript創(chuàng)造者Brendan Eich為首的Mozilla公司,則堅持當前的草案。
- 2008年1月HTML5由W3C作為工作草案發(fā)布。雖然HTML5的語法非常類似于SGML,但它已經(jīng)放棄任何成為SGML應(yīng)用程序的嘗試,除了一種替代的基于XML的HTML5序列,它已明確定義自己的“HTML”序列。7月,由于對于下一個版本應(yīng)該包括哪些功能,各方分歧太大,爭論過于激進,ECMA開會決定,中止ECMAScript 4.0的開發(fā)(即廢除了這個版本),將其中涉及現(xiàn)有功能改善的一小部分,發(fā)布為ECMAScript 3.1,而將其他激進的設(shè)想擴大范圍,放入以后的版本,由于會議的氣氛,該版本的項目代號起名為Harmony(和諧)。會后不久,ECMAScript 3.1就改名為ECMAScript 5??磥泶罄袀?yōu)榱藞猿肿约旱挠^點,也會毫不猶豫打破和諧,這才是技術(shù)進步的要素。同年12月,Chrome瀏覽器發(fā)布了,JavaScript 執(zhí)行引擎 V8 編譯器也在此時誕生,這是Google公司為Chrome瀏覽器而開發(fā)的,它的特點是讓JavaScript的運行變得非??臁K岣吡薐avaScript的性能,推動了語法的改進和標準化,改變外界對JavaScript的不佳印象。而且V8是開源的,任何人想要一種快速的嵌入式腳本語言,都可以采用V8,這拓展了JavaScript的應(yīng)用領(lǐng)域。
- 2009 年,W3C正式宣布了 XHTML2.0 不再繼續(xù),宣告死亡。大名鼎鼎的Node.js開始被瑞安·達爾(Ryan Dahl)編寫出來,12月,ECMAScript 5.0版正式發(fā)布。AngularJS也于2009年誕生,由Misko Hevery 等人創(chuàng)建,后為Google所收購,已經(jīng)被用于Google的多款產(chǎn)品當中。同在該年,樣式層的變革也開始出現(xiàn), Alexis Sellier發(fā)明的Less 被提了出來。
- 2010年1月,一款名為“npm”的軟件包管理系統(tǒng)誕生。還有BackboneJS和RequireJS,這都標志著JavaScript進入模塊化開發(fā)的時代。在可視化的方向也開始著落,第一版three.js發(fā)布。
- 2011年5月,工作小組將HTML5推進至“最終征求”(Last Call)階段,6月,ECMAscript 5.1版發(fā)布,并且成為ISO國際標準(ISO/IEC 16262:2011),風靡一時的的Bootstrap由在今年中被twitter開源。
- 2012年10月,微軟發(fā)布 TypeScript 公開版,2012年12月,W3C指定HTML5作為候選推薦階段。開源的前端打包工具Webpack發(fā)布了第一個階段。在今年Bootstrap 2也被發(fā)布,這一版增加了十二列網(wǎng)格布局和響應(yīng)式組件,并且對許多組件進行了修改。樣式方面Less開始正式被發(fā)布使用??梢暬较蛴蓢鴥?nèi)IT巨頭百度的開源Echarts 1.0正式開源發(fā)布,一直風靡至今,年底,所有主要瀏覽器都支持ECMAScript 5.1版的全部功能。
- 2013年3月,ECMAScript 6草案凍結(jié),不再添加新功能,新的功能設(shè)想將被放到ECMAScript 7。5月,F(xiàn)acebook發(fā)布UI框架庫React,引入了新的JSX語法,使得UI層可以用組件開發(fā)。6月,TypeScript 0.9 正式版被發(fā)布。Bootstrap 3于8月19日發(fā)布,開始將移動設(shè)備優(yōu)先作為方針,并且開始使用扁平化設(shè)計。12月,ECMAScript 6草案發(fā)布。百度的開源Echarts 2.0發(fā)布完成。
- 2014年2月, Vuejs發(fā)布,作者尤雨溪在Hacker News、Echo JS與Reddit的/r/javascript版塊發(fā)布了最早的版本。10月28 日,W3C 正式發(fā)布 HTML 5.0 推薦標準。React Developer Tools 成為 Chrome Developer Tools 的一個擴展。
- 2015年4月23日,Mark Otto宣布正在開發(fā)Bootstrap 4。6月,ECMAScript 6正式發(fā)布,并且更名為“ECMAScript 2015”。這是因為TC39委員會計劃,以后每年發(fā)布一個ECMAScirpt的版本,下一個版本在2016年發(fā)布,稱為“ECMAScript 2016”。同在今年,在 React.js 大會上,F(xiàn)acebook 發(fā)布了 第一版 React Native。阿里巴巴的以React研發(fā)的樣式庫antDesign的第一個版本發(fā)布。一直風靡的Redux在今年被Dan Abramov 和 Andrew Clark 發(fā)布。10月27日,Vuejs正式發(fā)布1.0.0。Flutter第一個版本支持Android操作系統(tǒng),被稱作“天空”,在Flutter開發(fā)者會議上被公布。語法轉(zhuǎn)換工具babel 5.0和6.0相繼發(fā)布。
- 2016年,1月百度的可視化庫Echarts 3.0發(fā)布在公眾視野,得到了一致好評。6月,阿里巴巴的移動端基于Preact / React / React Native 的 UI 組件庫mobile.ant.design正式發(fā)布。10月份Vue 2.0 發(fā)布完成。
- 2017年,ECMAScript2017正式發(fā)布。11月,所有主流瀏覽器全部支持 WebAssembly,這意味著任何語言都可以編譯成 JavaScript,在瀏覽器運行。
- 2018年,1月,百度EFE團隊正式發(fā)布了旗下知名開源產(chǎn)品ECharts 的最新大版本4.0正式發(fā)布。2月,Webpack 繼續(xù)推動簡單和更快的構(gòu)建,聲稱改進了 98%,Webpack 4正式發(fā)布,它選擇了合理的默認值,在沒有插件的情況下處理更多的開箱即用的功能,并且不再需要開始使用配置文件。8月,Babel 官方博客在經(jīng)歷了4000 次提交,發(fā)布了50 多個預(yù)覽版本后宣布正式推出Babel 7.0。
- 2019年,2月,React 16.8 帶這穩(wěn)定版的 hooks發(fā)布。8月份,Angular8.0正式發(fā)布。Vue3.0已經(jīng)在開發(fā)中,預(yù)計于今年發(fā)布。
三十年,前端從上古時期的靜態(tài)網(wǎng)頁時代,發(fā)展到以后端作為載體的MVC時代,再到AJAX興起后的單頁應(yīng)用時代,一直到到現(xiàn)在的最流行的MVVM時代,令人感慨。
時間還在繼續(xù),技術(shù)從未停止發(fā)展,前端從無到有,從單一到炫彩,越來越豐富,對于前端的未來發(fā)展也越來越讓人充滿興奮與美好憧憬。
關(guān)鍵詞:單一,停止,技術(shù),激蕩