前端簡史

前端發展史及趨勢

世界第一臺計算機

  • 時間/地點/人物:1946年2月14日世界第一臺計算機「ENIAC」(埃尼阿克)在美國賓夕法尼亞大學誕生。電腦的發明是一羣科研人員共同努力的成果,但其中數學家馮·諾依曼的設計思想在其中起到了關鍵做用,因此馮·諾依曼被稱爲現代計算機之父。
  • 背景:二戰中,美國國防部用它進行彈道計算。
  • 相關屬性:它是一個龐然大物,用了18000個電子管,佔地170平方米,重達30噸,耗電功率約150千瓦,每秒鐘可進行5000次運算。
  • 意義:它的問世標誌着電腦時代的開始。

編程語言與操做系統

  • UNIX(尤尼斯)
    • 時間/地點/人物:1969年誕生於美國AT&T(美國電話電報公司)的貝爾實驗室,開發者是:Ken Thompson(肯·湯普森)、D.M.Ritchie(丹尼斯·裏奇)、Douglas McIlroy(道格拉斯·麥克羅伊)。
    • 背景:20世紀60年代,貝爾實驗室的研究員Ken Thompson(肯·湯普森),閒來無事,手癢難耐,想玩一個他本身編的,模擬在太陽系航行的電子遊戲——Space Travel。揹着老闆找了臺空機器開始開發,可是這臺機器沒有操做系統,而遊戲必須使用操做系統的一些功能,因而他着手開發操做系統,後來這個操做系統被命名爲--UNIX。
    • 特性:多用戶,多任務的分時操做系統,具備良好的安全性,保密性和可維護性。
  • Linux(裏那克斯)
    • 時間/地點/人物:1991年10月5日,芬蘭赫爾辛基大學的研究生林納斯·託瓦茲宣佈Linux內核誕生。年僅21歲。
    • 背景:林納斯常常要用他的終端仿真器(Terminal Emulator)去訪問大學主機上的新聞組和郵件,爲了方便讀寫和下載文件,他本身編寫了磁盤驅動程序和文件系統,這些在後來成爲了Linux第一個內核的雛形。
    • 有些人生來就具備統率百萬人的領袖風範;另外一些人則是爲寫出顛覆世界的軟件而生。惟一一個能同時作到這二者的人,就是託瓦茲。」美國《時代》週刊對「Linux之父」林納斯·託瓦茲(Linus Torvalds)給出了極高的評價。甚至,在《時代》週刊根據讀者投票評選出的二十世紀100位最重要人物中,林納斯竟然排到了第15位,而從20世紀的最後幾年就開始霸佔全球首富稱號的蓋茨不過纔是第17位。
    • 特性:無償使用、自由傳播、多用戶、多任務、支持多種平臺。
  • windows
    • 簡介:1985年美國微軟公司開發的一套操系統,簡單易用,我的電腦喜好的操做系統。採用了圖形化模式GUI。
  • Mac OS
    • 簡介:1984年開發,它是基於Unix內核的圖形化操做系統,也是首個在商用領域成功的圖形用戶界面操做系統,不多受到病毒的襲擊,最新的系統版本是macOS 10.14。
  • FORTRAN
    • 簡介 :1954年約翰·巴克斯,世界第一個高級語言,源自於「公式翻譯」(英語:FormulaTranslation)的縮寫。
  • C語言
    • 時間/地點/人物:1972年美國AT&T貝爾實驗室的D.M.Ritchie(丹尼斯·裏奇),在B語言的基礎上設計出了C語言,取BCPL的第二個字母做爲語言名字。
    • 背景:20世紀60年代,貝爾實驗室的研究員Ken Thompson(肯·湯普森),閒來無事,手癢難耐,想玩一個他本身編的,模擬在太陽系航行的電子遊戲——Space Travel。揹着老闆找了臺空機器開始開發,可是這臺機器沒有操做系統,而遊戲必須使用操做系統的一些功能,因而他着手開發操做系統,後來這個操做系統被命名爲--unix。
      1970年肯·湯普森以BCPL語言爲基礎,設計出了接近硬件的B語言,並用B語言寫了第一個unix系統。
      1971年,一樣酷愛Space Travel的丹尼斯·裏奇爲了能早點兒玩上游戲,加入了Thompson的開發項目,合做開發UNIX。他的主要工做是改造B語言,使其更成熟。
      1972年,丹尼斯·裏奇設計出了C語言,人稱C語言之父,UNIX之父。
      1973年,C語言的主體完成。丹尼斯·裏奇和肯·湯普森火燒眉毛地開始用它徹底重寫了UNIX。
    • 相關屬性:高級語言、結構式語言、代碼級別的跨平臺、使用指針
  • C++/Java
    • 簡介:C++1983年由C語言改良而來,Java1996年由sun公司開發,主要開發者詹姆斯·高斯林,2009被甲骨文公司收購。

前端起源

  • www/web:World Wide Web,即萬維網、廣域網php

    • 時間/地點/人物:1989年CERN(歐洲粒子物理研究所)的英國計算機科學家蒂姆·伯納斯·李發明了萬維網並申請了知識產權。
    • 背景:當時蒂姆·伯納斯·李爲了方便科學家們之間看文檔、傳論文,創造了萬維網,他被稱爲萬維網之父。伯納斯·李也是「千年技術獎」這一全球最大的技術類獎的首位得到者。仍是圖靈獎的得到者。
    • 意義:它使得全世界的人們以前所未有的巨大規模相互交流,是人類歷史上最深遠、最普遍的傳播媒介。改變了世界,成就了一批富翁如:amazon的創辦人傑夫·比佐斯,Yahoo的創始人楊致遠,Netscape的創始人馬克·安德森……
  • w3c:萬維網聯盟,又稱W3C理事會css

    • 時間/地點/人物:1994年10月在麻省理工學院計算機科學實驗室成立,創建者是萬維網的發明者蒂姆·伯納斯·李。
    • 背景:爲了完成麻省理工學院(MIT)與歐洲粒子物理研究所(CERN)之間的協同工做,致力於實現全部的用戶都可以對 web 加以利用(不論其文化教育背景、能力、財力以及其身體殘疾)。
    • 所作事情:制定web標準規範,200多項標準。

時間軸線

  • 1994年前端歷史的起點,這一年蒂姆·伯納斯·李建立w3c、網景推出了初版Navigator、css發佈、服務端腳本php誕生。
  • 1995年網景推出了JavaScript,實現了客戶端的計算任務(如表單驗證),發明者是Brendan Eich(布蘭登·艾奇)。
  • 1996年微軟推出了iframe標籤,實現了異步的局部加載。
  • 1997年 由Netscape、Sun、微軟、Borland ECMA-262(歐洲計算機制造商協會)
  • 1999年W3C發佈第四代HTML標準,同年微軟推出用於異步數據傳輸的ActiveX,隨即各大瀏覽器廠商模仿實現了XMLHttpRequest。這標識着Ajax的誕生,可是Ajax這個詞是在六年後問世的,特別是在谷歌使用Ajax技術打造了Gmail和谷歌地圖以後,Ajax得到了巨大的關注。Ajax是Web網頁邁向Web應用的關鍵技術,它標識着Web2.0時代的到來。
  • 2006年,XMLHttpRequest被W3C正式歸入標準。同一年John Resig發佈了jQuery,主要用於操做DOM,中心思想是取其元素,對其操做。隨即成千上萬的插件誕生。
  • 2008年穀歌V8引擎誕生,改變了瀏覽器性能低制約前端的開發的局面,現代瀏覽器的崛起標誌着前端計算能力有弱變強。
  • 2009年第五代JavaScript發佈,同一年AngularJS誕生,隨後被谷歌收購,前端走進了一個使人應接不暇的新時代。
  • 2009年Ryan Dahl發佈了node,node是一個基於V8引擎的服務端JavaScript運行環境,相似於一個虛擬機,也就是說js在服務端語言中有了一席之地。若是說ajax是前端的第一次飛躍,那麼node可算做前端的第二次飛躍。它意味着JavaScript走出了瀏覽器的藩籬,邁出了全端化的第一步。
  • 2010年backbone.js誕生
  • 2011年React和Ember誕生
  • 2014年Vue.js誕生,同一年,第五代HTML標準發佈。
  • 2015年ECMAScript6發佈,簡稱ES6。
  • 至此先後端分離已是大勢所趨,數據驅動框架也造成了三國鼎立的局勢,Angular、React、Vue各佔一席。

從先後端不分離到分離

  • 前端是對瀏覽器的開發,代碼在瀏覽器運行。後端是針對服務器的開發,代碼在服務器運行。
  • 互聯網發展的早期,先後端開發是一體的,前端代碼是後端代碼的一部分。
  • 當時後端是MVC的開發模式,前端只是後端MVC中的V。那時的前端工程師,其實是模板工程師,負責編寫頁面模板。
  • Ajax 技術誕生,改變了一切。2004年:Gmail,2005年:Google 地圖。前端再也不是後端的模板,能夠獨立獲得各類數據。Ajax 技術促成了 Web 2.0 的誕生。
  • 前端經過 Ajax 獲得數據,所以也有了處理數據的需求。這致使前端MVC框架的誕生。表明之一是Backbone,可是Backbone 沒有 C,只用事件來處理 UI 邏輯。
  • 另外一些框架提出 MVVM 模式,用 View Model 代替 Controller。本質:view 綁定 view-model,視圖與數據模型強耦合。數據的變化實時反映在 view 上,不須要手動處理。
  • 傳統結構是後端把渲染好的html給瀏覽器,SPA架構是,後端把數據給js,js渲染html給瀏覽器。
  • 先後端分離:Ajax使前端應用興起,智能手機的普及使前端要支持多終端。前端再也不是後端 MVC 中的 V,而是單獨的一層。
  • 將來只有端工程師(手機端、PC 端、TV 端、VR 端......)和雲工程師。

參考連接1 參考連接2html

相關文章
相關標籤/搜索