web前端發展歷程

總覽前端發展史

    • 前言
    • 瀏覽器的發展史
    • 走進前端
      • HTML
      • CSS
      • javaScript
    • 小前端時代
    • 大前端時代
    • 寫在最后

前言

目前在IT公司中前端的崗位越來越成為不可或缺的,前端的地位也愈見明顯,很多學校已經體系的傳授前端課程,眾多培訓機構也將前端知識作為了主流課程,也有越來越多的同學加入到前端學習的行列中,作為前端工程師或者前端的學習者我們有必要去了解前端的發展史。那么首先讓我們來了解一下瀏覽器的發展歷程。

瀏覽器的發展史

在這里插入圖片描述

在中享思途的行業資訊中看到了他對瀏覽器的發展史總結如下:
1、1991年,WorldWideWeb瀏覽器發布,這款可以說是祖父級別的,它是全球用戶最早注冊的WEB瀏覽器,WorldWideWeb開發始于20世紀80年代末,之后10年間經過MTV的宣傳以及Commodore 64的完善,終于在1991年這個有跨時代意義的Web瀏覽器發布了。WorldWideWeb原理很簡單,可以顯示基本的樣式表。

2、1992年,Erwise發布,他被稱為世界上第一個圖形網頁瀏覽器,它是由赫爾辛基科技大學的4個芬蘭學生開發,主要是針對在Unix上運行 XWindows的需要。ViolaWWW,它是最高老的瀏覽器之一,在1992年5月份發布,它的開發者是美國加州大學的學生Pei-Yuan Wei,他的目的和Erwise一樣是針對在Unix上運行 X Windows的需要。MidasWWW也是1992年發表的,它是由托尼約翰遜在斯坦福線型加速器中心研發的。Lynx首發也是在1992年,它提供了一個語音轉換接口為視覺和聽覺障礙的人群提供了很好的功能。

3、1993年,Mosaic1.0發布,Mosaic可以說在一定程度上升華了Erwise的圖形化,并且將圖形化瀏覽器推向了萬維網的主流。Arena瀏覽器是第一個支持背景圖片,表格、文字繞流圖片和內嵌數學表達式的瀏覽器,支持背景圖片,表格等。

4、1994年,Cello發布,他支持的就比較多了,WorldWideWeb、Gopher、FTP、CSO/ph/qi、Usenet News retrieval以及其他的一些協議,他當時成為了Windows平臺上第一款瀏覽器。IBM WebExplorer也在同年發布,IBM推出自己的操作系統,WebExplorer也是強行捆綁在了他的系統系統上。Netscape Navigator它是一款獨立的瀏覽器,而其在當時他的市場份額遠遠超過了微軟的Internet Explorer。

5、1995年,IE發布,瀏覽器之戰也就此爆發。微軟的Internet Explorer在此年首次推出,為了打造最好的瀏覽器,微軟的源代碼從Mosaic上獲益匪淺,學習并迅速開始調整自己的瀏覽器,IE早期并沒有捆綁在Window95上,而是作為Window95插件包的一部分進行捆綁,當時他只有1M大小。IE2在同年晚些時間發布,微軟當時聲稱這是一個跨平臺的瀏覽器,支持Window和Mac,IE2也加入了支持JavaScript的潮流中,它支持安全套接字層(SSL),Cookie和包括英語在內的12種語言。IE3正式捆綁在了Windows 95OSR2中,它是第一個支持CSS的主流瀏覽器,IE3擺脫了Spyglass源代碼的局限,開始支持ActiveX控件,Java小程序,和Internet郵件。

6、1996年,Opera發布,Telenor是挪威最大的通訊公司,他們推出了Opera,并在兩年后進軍移動市場,推出了Opera的移動版。

7、1997年,IE4伴隨著Windows 98操作系統一起發布。在發布Window Xp之前發布了IE6,并且新系統中包括了瀏覽器的最新升級補丁。隨后IE逐漸占據了市場絕大部分份額。其他瀏覽器敗下陣來。

8、1998年,Netscape瀏覽器走向開源,和IE之爭最后以失敗告終。

9、2003年,蘋果Safari瀏覽器發布,蘋果進入瀏覽器市場推出了自己的Webkit引擎,該引擎非常優秀,后來被Google,Nokia之類的廠商用于手機瀏覽器。

10、2004年,Firefox引發了第二場瀏覽器之爭。

11、2006年,IE7發布,IE6發布的第六年,迫于Firefox的壓力,微軟匆匆推出IE7應戰,吸取了Firefox的一些設計思想。

12、2008年,Google的Chrome參戰,Google發布了他們自己的瀏覽器,以輕量級,快,異常的穩固讓這款瀏覽器成為了一個不可輕視的對手。
以上就是瀏覽器的一個大致發展歷程了。接下來看看HTML的一個發展史。

走進前端

首先前端是什么呢?這個好像大家沒有對他一個最完美的詮釋,記得在上家公司,有一天與我們公司老板做了同一趟電梯,老板問道你是做什么的,我回答在咱們公司做前端開發,能不能跟我說一下什么是前端開發?老板隨和的問道,毫無準備的我腦海中飄出很多詞匯!你能看到的所有東西都是我們前端來做的。。。后端為我們提供邏輯、數據我們來給用戶做展示,老板說能不能用一個詞來涵蓋,嗯。。。。數據可視化。老板說好,我明白了。其實我也不知道這樣表述是否準確,但是在我的理解中是沒有問題的哈,94將數據展示出來嘛哈哈!看到一篇文章中他是這樣解釋的:
前端指的就是瀏覽器端,后端指的就是為瀏覽器提供服務和數據的服務器端。這是比較準確的描述,如果往大了講,你所有看到的一切,網頁、移動端網頁、小程序、甚至某些APP,都是屬于前端的范疇。下面博主就帶領大家見證前端是如何發展到今天的!

上個世紀90 年代初,第一個網站便誕生,當時的網頁完完全全是由文本所構成,除了一些小圖片就是毫無布局可言的標題與段落。但是發展到今天來看我們各種用戶操作邏輯的變更,我們各種炫酷樣式的迭代,以及各種用戶行為的理想化其實這些界面的變革都是我們前端的進步!

下面介紹的三位就是我們前端重中之重,最重要的三門技術,如果我們把前端比喻成一部手機,那么HTML可以說成是我們手機的硬件、CSS他就是我們手機的外觀色彩、javaScript則是我們手機的功能!即使前端出現更多的高級框架,其實也都是在不同程度的去封裝我們這三門基礎語言。

HTML

HTML(超文本標記語言——HyperText Markup Language)是構成 Web
世界的基石。HTML是一種基礎技術,常與CSS、JavaScript一起被眾多網站用于設計令人賞心悅目的網頁、網頁應用程序以及移動應用程序的用戶界面。

在這里插入圖片描述

1、HTML 1.0 超文本標記語言(第一版) – 在1993年6月發為互聯網工程工作小組(IETF)工作草案發布(并非標準)

2、HTML 2.0 – 1995年11月作為RFC 1866發布,在RFC 2854于2000年6月發布之后被宣布已經過時

3、HTML 3.2 – 1996年1月14日,W3C推薦標準

4、HTML 4.0 – 1997年12月18日,W3C推薦標準

5、HTML 4.0(微小改進) – 1999年12月24日,W3C推薦標準

6、XHTML 1.0 – 發布于2000年1月26日,是W3C推薦標準,后來經過修訂于2002年8月1日重新發布

7、XHTML 1.1 – 于2001年5月31日發布

8、HTML5.0 2014年10月28日,萬維網聯盟宣布,經過接近8年的艱苦努力,該標準規范終于制定完成

CSS

層疊樣式表(英文全稱:Cascading StyleSheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。

在這里插入圖片描述

1994 年,Hkon Wium Lie 最初提出了 CSS 的想法,聯合當時正在設計 Argo 的瀏覽器的Bert Bos,他們決定一起合作設計 CSS,于是創造了 CSS 的最初版本。

緊接著,他們在芝加哥的Mosaic and the Web 大會上第一次正式提出了 CSS 的建議,1995 年他們一起再次展示了這個建議。當時 W3C 剛剛建立,W3C 對 CSS 很感興趣,為此專門組織了一次討論會。

1996 年 12 月,W3C 推出了 CSS 規范的第一版本。

1997 年,W3C 頒布 CSS1.0 版本 ,CSS1.0 較全面地規定了文檔的顯示樣式,可分為選擇器、樣式屬性、偽類 / 對象幾個部分。

這一規范立即引起了各方的關注,隨即微軟和網景公司的瀏覽器均能支持 CSS1.0,這為 CSS 的發展奠定了基礎。

1998 年,W3C 發布了 CSS 的第二個版本,目前的主流瀏覽器都采用這標準。

CSS2 的規范是基于 CSS1 設計的,包含了 CSS1 所有的功能,并擴充和改進了很多更加強大的屬性。包括選擇器、位置模型、布局、表格樣式、媒體類型、偽類、光標樣式。

2005 年 12 月,W3C 開始 CSS3 標準的制定

javaScript

JavaScript作為賦予網頁生命的前端基礎技術,它可以實現相應的效果和交互,是前端開發不可或缺的基本配置之一。因此,今天小編就來帶家了解一下JavaScript的前世今生,具體內容包括JavaScript 的誕生、語言版本的更迭以及應用領域等等。讓大家在入門開始學習JavaScript之前,對JavaScript的發展歷史有一個大致的了解。

在這里插入圖片描述

JavaScript誕生于1995年,當時,它的主要目的是處理以前由服務器端需要負責的一些沒有輸入驗證操作。在JavaScript問世之前,必須把表單數據發送到服務器端才能確定用戶是否沒有填寫某個必填域,是否輸入了無效的值。Netscape Navigator希望通過JavaScript來解決這個問題。在人們普遍使用電話撥號上網的時代,能夠在客戶端完成一些基本的驗證任務絕對是令人興奮的。畢竟,撥號上網速度之慢,導致了與服務器的每一次數據交換事實上都成了對人們耐心的一次考驗。由此誕生了JavaScript!

年份版本更新內容
1997ECMAScript1第一版本
1998ECMAScript2版本變更
1999ECMAScript3添加正則表達式 try/catch
1997ECMAScript4沒有正式發布
2009ECMAScript5添加‘strict mode‘ 嚴格添加 JSON支持
2011ECMAScript5.1版本變更
2015ECMAScript6添加類和模塊
2016ECMAScript7添加指數運算符(**)Array.prototype.includes
2018ECMAScript8添加rest/spread屬性、異步迭代、promise.finally()、RegExp

小前端時代

其實在小前端時代之前還有更加慘淡的階段,甚至都么有前端的概念哈,這里呢就不來給大家大篇幅的來說了,不是因為不想說而是因為博主不太專業哈,就是我們的PHP嵌套前端代碼以及JSP搭建網站等等;

1995年,這是個好年份,又是這個搞事的網景公司,拜托一位叫布蘭登-艾奇的大佬,希望開發出一個類似 Java 的腳本語言,用來提升瀏覽器的展示效果,增強動態交互能力。結果大佬喝著啤酒抽著煙,十來天就把這個腳本語言寫出來了,功能很強大,就是語法一點都不像Javao 這樣就漸漸形成了前端的雛形:HTML為骨架,CSS 為外貌,JavaScript 為交互。

同時期微軟等一些公司也針對自家瀏覽器開發出了自己的腳本語言。瀏覽器五花八門,雖然有了比較統一的 ECMA 標準,但是瀏覽器先于標準在市場上流行開來,成為了事實標準。導致,現在前端工程師還要在做一些政府古老項目的時候,還要去處理瀏覽器兼容(萬惡的IE系列)哈哈 不過現在距離IE還有半個月就退出舞臺啦,前端人的噩夢結束了

隨著時代的不斷進步,接下來就出現了表格布局,隨后是 Flash,最后是基于 css的網頁設計。簡單來說,前端頁面重構技術經歷著這樣的一個過程:table布局頁面DIV+CSS =》HTML5+CSS3, 并且面對眾多的瀏覽器與平合,web 前端己不再是以前那樣簡單的重復性工作。

不管怎么說,前端開發也算是能寫點邏輯代碼了,不再是只能畫畫頁面的低端開發了。隨著1998年 ajax 的出現,前端開發從 web1.0邁向了web2.0,甚至目前漸漸轉向了web3.0;前端從純內容的靜態展示,發展到了動態網頁,富交互,前端數據處理的新時期。這一時期,比較知名的兩個富交互動態的瀏覽器產品是:
? Gmail (2004年)
? Google 地圖 (2005年)
由于動態交互、數據異步 請求的需求增多,還衍生出了jQuery (2006) 這樣優秀的跨瀏覽器的 js 工具庫,主要用于 DOM操作,數據交互。有些古老的項目現在還在使用 jQuery。

大前端時代

在這里插入圖片描述

前端開發的前身是 “網頁制作”,隨著移動端的興起和4G、5G技術的普及,互聯網產品業務越來越復雜,在 2011年前后,逐步脫變為前端開發;

在2011之前,前端后端是不分家的,2011后智能手機普及了,場景也越來越豐富復雜了,不得不把前端獨立出來,也是目前主流的前后端分離開發模式。2016年前后,前端開發突然迎來了技術井噴期,開發形式突然發生了翻天覆地的變化。

nodejs 突然火了,2009年誕生,2015到2016左右在中國就火起來了,node火了之后帶來了連鎖反應

2016年前后,以 webpack為代表的 Node.js 工作流工具使前端開發的開發形式產生了翻天覆地的變化,并且,隨著 Vue / React 的誕生,使前端開發進入了框架時代,工程化時代;甚至具備了微前端的概念。

寫在最后

其實今天跟大家聊的并不是很多,而是大概的來梳理了一下前端發展大的節點,等后面博主會出一期更加細致的前端發展的歷程,利用語言出現的使命環環相扣!以及我們的開發模式的MVC、MVP、MVVM的變革我們放到后期來說;

其實我們回首 web 前端開發的過去和現在,對于我們崗位的稱呼也相應地不斷發生著改變:頁面小工、切圖小工、美工、頁面制作,再到現在的“前端開發”,由于 html 與css入門起點較低,小公司里的“美工們”也許至今還干著這樣的工作:出圖 (Photoshop/Firework)切圖(HTML/CSS),現在而言前端開發并非如此了,隨著越來越多的前端框架的興起,我們如今的前端PC、APP、H5、xiao cheng xu、公眾號、百度、支付寶小程序等多端應用一名前端開發工程師足以,利用不同的技術框架更加專業的編寫出不同應用端的代碼,以及前端甚至可以利用node脫離后端,我們一些框架甚至直接可以基于云進行開發,在當前云原生火爆之時,云函數、云存儲甚至不用任何后端語言皆可進行開發!總結一下就是:Web 前端開發其實是很牛的職位!

很多前端伙伴問題有沒有體系的面試題?
今天為大家推薦一款刷題神奇哦 點擊鏈接訪問牛客網
各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有,趕快來裝備自己吧!助你面試穩操勝券,solo全場面試官

本期圖書鑒賞

(1)零基礎也能快速入門。本書從最基礎的高等數學基礎講起,由淺入深,層層遞進,在鞏固固有知識的同時深入講解人工智能的算法原理,無論讀者是否從事計算機相關行業,是否接觸過人工智能,都能通過本書實現快速入門。
(2)全新視角介紹數學知識。采用計算機程序模擬數學推論的介紹方法,使數學知識更為清晰易懂,更容易讓初學者深入理解數學定理、公式的意義,從而激發起讀者的學習興趣。
(3)理論和實踐相結合。每章最后提供根據所在章的理論知識點精心設計的“綜合性實例”,讀者可以通過綜合案例進行實踐操作,為以后的算法學習奠定基礎。
(4)大量范例源碼+習題答案,為學習排憂解難。本書所有示例都有清晰完整的源碼,每章之后設有習題并配套題目答案,講解清晰,解決讀者在學習中的所有困惑。

在這里插入圖片描述

本書以零基礎講解為宗旨,面向學習數據科學與人工智能的讀者,通俗地講解每一個知識點,旨在幫助讀者快速打下數學基礎。

全書分為 4 篇,共 17 章。其中第 1 篇為數學知識基礎篇,主要講述了高等數學基礎、微積分、泰勒公式與拉格朗日乘子法;第 2 篇為數學知識核心篇,主要講述了線性代數基礎、特征值與矩陣分解、概率論基礎、隨機變量與概率估計;第 3 篇為數學知識提高篇,主要講述了數據科學的幾種分布、核函數變換、熵與激活函數;第 4 篇為數學知識應用篇,主要講述了回歸分析、假設檢驗、相關分析、方差分析、聚類分析、貝葉斯分析等內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248465.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248465.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248465.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

修改wordpress上傳文件大小限制

1. 登陸wordpress使用的數據庫,切換到使用的database 2. 操作如下: > select meta_key from wp_sitemeta; > select meta_key,meta_value from wp_sitemeta where meta_keyfileupload_maxk; 修改為20M: > update wp_sitemeta set meta_value204…

php的符號的排序大小

轉載于:https://www.cnblogs.com/cjjjj/p/10433334.html

淺談 HTTP 和 HTTPS

很多前端伙伴問題有沒有體系的面試題? 今天為大家推薦一款刷題神奇哦 點擊鏈接訪問牛客網 各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有,趕快來裝備自己吧!助你面試穩操勝券,solo全場面試官 淺談 HTTP 和 …

Ubuntu 搭建 GitLab 筆記 ***

簡介 GitLab 社區版可以提供許多與 GitHub 相同的功能,且部署在屬于自己的機器上,我們會因為網絡及其他一些問題而不便使用 GitHub ,這時部署一個 GitLab 是最好的選擇。 下載 GitLab 并安裝 我的環境是 Ubuntu 16.04 下進行部署操作。 GitLa…

在瀏覽器輸入URL到頁面展示發生了什么?

輸入URL后查詢緩存DNS服務器TCP三次握手HTTP協議包瀏覽器處理HTML文檔TCP 和 UDP 的區別寫在最后很多前端伙伴問題有沒有體系的面試題? 今天為大家推薦一款刷題神奇哦 點擊鏈接訪問牛客網 各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有&#…

iOS 高級去水印,涂鴉去水印

目前在研究一下圖像的處理,看了一下相關的軟件,比如:《去水印大師》,究竟去水印是怎么處理的呢?看圖分析。 一共是三個功能:快速去水印、高級去水印、涂鴉去水印 快速去水印:暫時沒找到好的處理…

Failed to execute goal maven-gpg-plugin 1.5 Sign

問題描述&#xff1a; 解決辦法&#xff1a;跳過maven-gpg-plugin <build> <pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-gpg-plugin</artifactId><configuration&g…

打造硬核敲門磚——簡歷

文章目錄 前言打造簡歷篇幅模板個人信息專業技能工作經歷項目經歷教育經歷個人總結簡歷格式寫在最后前言 作為高校的學生,你是否已經開始設想你以后的工作?作為職場的員工,你是否已經準備更換下一份工作了?不論你現在是什么身份、處于什么階段,這篇文章都能夠幫到你,只要…

Robot Framework 內置變量

Robot Framework 內置變量 轉自&#xff1a;https://blog.csdn.net/qq_26886929/article/details/53907755 Robot Framework 內部提供了一下直接可用的內置變量 1. 操作系統相關變量 內置的操作系統相關的變量&#xff0c;減少了測試數據對操作系統之間的差異性的關注 RF 中可用…

一文搞懂this指向

前言 那你說一下 js 中的 this 指向吧&#xff01;這句話已經成為面試官口中的高頻面試題&#xff0c;作為前端開發的我們&#xff0c;你真的搞懂了 this 指向了嗎&#xff1f;快來跟我一起來查漏補缺吧&#xff01;通過幾個小案例讓大家更能直白的理解 this 指向。 很多前端伙…

難怪大家丟掉了postman而選擇 Apifox

前言 當下采用前后端分離模式開發Web應用已經成為氣候&#xff0c;在開發階段有一個不成文的規定則是 項目開發后端先行 但是作為前端開發工程師的我們&#xff0c;難道在搭建完頁面后只能等待后端的接口么&#xff1f;這樣的話我們則完全被后端開發限制住了。在前面跟大家介紹…

mvc 模式和mtc 模式的區別

首先說說Web服務器開發領域里著名的MVC模式&#xff0c;所謂MVC就是把Web應用分為模型(M)&#xff0c;控制器(C)和視圖(V)三層&#xff0c;他們之間以一種插件式的、松耦合的方式連接在一起&#xff0c;模型負責業務對象與數據庫的映射(ORM)&#xff0c;視圖負責與用戶的交互(頁…

HP LaserJet MFP M227_M231雙面打印

雙面打印設置 轉載于:https://www.cnblogs.com/xiexiaokui/p/9261577.html

萬木成林,我種了“Vue技能樹”

初衷 作為Vue技能樹的構建者&#xff0c;一直拖延到現在才來寫這篇文章&#xff0c;主要還是心里沒有底&#xff0c;前面殊不知這顆“樹”是否促進了大家學習的熱情&#xff0c;也不知它給大家帶來了多少收獲。說到我們的Vue技能樹&#xff0c;我作為尤大大的忠實粉絲自就業后…

我看面向對象

已經面向對象編程多年了&#xff0c;漸漸地對面向對象有了越來越深的體會&#xff0c;下面談談我對面向對象的拙見&#xff1a;&#xff09; 面向對象三大特性&#xff1a;封裝、繼承、多態。 首先是封裝&#xff0c;我覺得封裝是面向對象的基礎&#xff0c;封裝讓各種相關的數…

poj 3525

多邊形內最大半徑圓。 哇沒有枉費了我自閉了這么些天&#xff0c;大概五天前我看到這種題可能毫無思路抓耳撓腮舉手投降什么的&#xff0c;現在已經能1A了哇。 還是先玩一會計算幾何&#xff0c;刷個幾百道 嗯這個半平面交二分就闊以解決。雖然隊友說他施展三分套三分***** 想象…

尤雨溪對 2022 Web前端生態趨勢是這樣看的

文章目錄前言開發范式&底層框架方面趨勢基于依賴追蹤范式基于依賴追蹤范式—共同點基于編譯的響應式系統統一模型的優勢和代價基于編譯的運行是優化Vue Vapor Mode&#xff08;input&#xff09;工具鏈原生語言在前端工具鏈中的使用工具鏈的抽象層次基于 Vite 的上層框架上…

bzoj4919 [Lydsy1706月賽]大根堆

Description 給定一棵n個節點的有根樹&#xff0c;編號依次為1到n&#xff0c;其中1號點為根節點。每個點有一個權值v_i。你需要將這棵樹轉化成一個大根堆。確切地說&#xff0c;你需要選擇盡可能多的節點&#xff0c;滿足大根堆的性質&#xff1a;對于任意兩個點i,j&#xff0…

眾多mock工具,這一次我選對了

文章目錄寫在前面Mock介紹Mock能解決什么問題?傳統Mock解決方案Postman接口測試工具Mock js第三方庫Eolink解決方案全局Mock高級Mock返回結果Mock智能內置Mock智能自定義Mock約束條件MockEolink的Mock解決方案的優勢:寫在最后寫在前面 交戰之前&#xff0c;戰士必先利其兵器&…

高并發的理解和使用場景-----特意區別和多線程的關系

一&#xff0c;高并發的理解 1.概念&#xff1a;就是短時間內遇到大量操作請求&#xff0c;導致站點服務器/db服務器資源被占滿甚至嚴重時直接導致宕 2.影響&#xff1a;沒有做高并發預處理的系統會給用戶很差的體驗感&#xff1b; 3.系統好壞的衡量&#xff1a;衡量一個系統的…