淺談這些年WEB前端變化

2023-05-31    分類: 網(wǎng)站建設(shè)

作為一個java程序員寫的代碼主要還是后臺的代碼,雖然開始的時候前后端都寫,但是也是用別人造好的輪子來用,學(xué)學(xué)html,css,js,jquery,再找一個前端ui框架學(xué)學(xué),上手之后我們就可以寫界面,寫后臺了,當(dāng)然這只是企業(yè)的后臺管理項目,界面要求不是特別高,對于網(wǎng)站項目還是需要前端童鞋來設(shè)計,布局,寫好html給到我們,我們轉(zhuǎn)成jsp,或者各種模板引擎文件。

這種模式對前端童鞋要求不是特別高,會設(shè)計,切圖,就差不多了,什么前端組件化,模塊化,自動化這些概念都沒有,可能是小公司沒有接觸到,大公司應(yīng)該很早就開始實踐了。那個時候常用的就是yahoo的yui,和jquery ui還有jquery一系列插件了等等。

記得11年到12年的時候移動端的開發(fā)特別火,很多人都轉(zhuǎn)型去做native的開發(fā)了,那個時候移動端的開發(fā)工資特別高,但是我沒有選擇做移動開發(fā),而是選擇安靜的做個后臺。

那個時候很多創(chuàng)業(yè)公司選擇做產(chǎn)品的時候首先會在移動端發(fā)力,先做一個android版本的或者做一個ios版本的,等到積攢一定的用戶量之后在針對多個平臺制定一個版本,因為很多產(chǎn)品可能沒得到有機(jī)會做多個版本就已經(jīng)死了,所以一個產(chǎn)品可能有ios,android,winphone,pc等版本,需要多個團(tuán)隊來開發(fā)一個產(chǎn)品。

那個時候雖然也有公司用webapp(純html5)和Hybrid來做移動端的開發(fā),但是很多公司還是擔(dān)心h5在性能和體驗方面不如原生的好,畢竟移動端最重要的還是用戶體驗,是快,是流暢,那個時候解決方案也沒有像現(xiàn)在這么多,所以很多公司還是選擇采用原生的開發(fā)。

現(xiàn)在

隨著h5在移動端的使用越來越多,前端超級火爆的情況下各種框架,各種解決方案層出不窮,一個還沒學(xué)會,另一個就出來了,亂花漸入迷人眼,導(dǎo)致沒有經(jīng)驗的前端人員都不知道應(yīng)該學(xué)什么好了。 看到網(wǎng)上有童鞋總結(jié)了前端近幾年的變化,出來的輪子有多少,大家自己感受一下。

那些年,一度追捧,一度放棄

下面,花一些篇幅簡單回顧下 09 年到 15 年前端的發(fā)展歷程。

09 年,基礎(chǔ)類庫完善,尋求突破

09 年之前,JavaScript 還處于對自身語言的完善過程中,而到了 09 年,JavaScript 類庫已經(jīng)頗為成熟,jQuery/Prototype/Script.aculo.us/Dojo 等都已經(jīng)發(fā)布了好幾個 stable 版本,各大類庫也是相互吸收優(yōu)點,不斷完善并提高自身性能,然而功能上已經(jīng)沒有太多增加的勢頭。部分框架開始了思想上的轉(zhuǎn)變,更加注重前端開發(fā)的組織和結(jié)構(gòu),條理性強(qiáng)了很多,如 YUI,Dojo 等。

從 ECMAScript 規(guī)范的爭執(zhí),開啟了瀏覽器引擎大戰(zhàn),各大廠商也趁機(jī)瓜分 IE6 份額,Chrome 和 Firefox 在這場戰(zhàn)役中取得小勝,V8 也敲響了前端的大門。為了迎合市場的激烈競爭,IE 開始了升級之旅,09 年初發(fā)布 IE8,全面兼容 CSS2.1。

而此時,Node.js 和 3G Mobile 這兩只巨獸開始浮出水面,Web 標(biāo)準(zhǔn)也開始向 HTML5、ECMAScript5.0 靠攏。

10 年,Web2.0 深入人心,開始性能挑戰(zhàn)

毫無疑問,這一年,各大巨頭都看清了 HTML5 是 web 發(fā)展的未來,在保留原來前端技術(shù)的狀態(tài)下,都簇?fù)碇?HTML5 的裙擺。富客戶端應(yīng)用也在這一年蓬勃生長,ExtJS/Dojo 搖身變?yōu)槠髽I(yè)級框架,各類組件化概念和產(chǎn)品如約而至。

延續(xù)著 09 年的變化,10 年的前端顯得頗為沉寂,然而在標(biāo)準(zhǔn)的運用和推動上,各大廠商也是十分賣力。IE 9 出來了預(yù)覽第三版,iPhone 的 Safari 已經(jīng)能夠支持眾多 HTML5 內(nèi)容:Canvas/Video/Audio/Geolocation/Storage/Application Cache/Web SQL Database 等。

W3C 宣布成立 Web 性能工作組,Google 和 Mozilla 紛紛推出應(yīng)用商店,瀏覽器調(diào)試工具也豐富了起來,人們開始更多地關(guān)注開發(fā)體驗和性能問題。

11 年,HTML5 抗大旗,F(xiàn)lash 堪憂

2011 年 HTML5 的技術(shù)發(fā)展和推廣都向前邁進(jìn)了一大步,語義明確的標(biāo)簽體系、簡潔明了的富媒體支持、本地數(shù)據(jù)的儲存技術(shù)、canvas 等等各類技術(shù)被廣泛應(yīng)用。這一年,很多 web 開發(fā)者也面臨一項技術(shù)的抉擇,HTML5 or Flash?從 Flash Player 11.1 開始,Adobe 不再繼續(xù)開發(fā)面向移動設(shè)備瀏覽器的 Flash 插件,積極投身于 HTML5,這意味著 Flash 技術(shù)的凋零。

這一年,HTML5 游戲火爆到了一個高潮,他的低門檻和高收益讓很多開發(fā)者眼紅,正因如此,移動端開發(fā)工具和調(diào)試工具也日益成熟。jQuery 已經(jīng)成為大小公司日常開發(fā)的標(biāo)配,成千上萬的 JQ 插件讓網(wǎng)頁開發(fā)變得尤為輕松,而隨之而來的也是頁面的臃腫和性能調(diào)優(yōu)的深入探索。

Node.js 已經(jīng)悄然崛起,在 github 上的訪問量已經(jīng)超過了 Rails,國內(nèi)的云應(yīng)用開始嘗試使用 Node.js,Node.js 相關(guān)工具也紛紛出來。

12 年,響應(yīng)式開發(fā),工程化推進(jìn)

隨著硬件技術(shù)的發(fā)展,各手機(jī)廠商又開始騷動起來,為了占有更多的市場,不斷提高產(chǎn)品的性價比,體驗也得到了不斷的優(yōu)化。借著先前兩年 HTML5 刮起的東風(fēng),移動端上的 web 開發(fā)也顫抖了起來。移動端的開發(fā)挑戰(zhàn)不亞于 PC 上對多個瀏覽器的支持,這一年,萌生了眾多移動端框架,如 Sencha Touch/Zepto.js/JQ Mobile 等,相對 PC 端框架,它們更加輕便。

而移動端的崛起,帶來了許多終端開發(fā)難題:多終端適配,多分辨率適配,遠(yuǎn)程調(diào)試等等,而隨著這些難題一個個被解決,移動端生長的勢頭變得更加強(qiáng)盛。此時 Twitter 也推出了 Bootstrap, 這個前端開發(fā)工具包不僅方便了前端,也方便了后端同學(xué),它的出現(xiàn)讓快速建站更加簡單。

編程思想的切換,迎來了 CoffeeScript 和 TypeScript,這兩個預(yù)處理語言的出現(xiàn)又為 JavaScript 引來了不少其他方向轉(zhuǎn)型過來的開發(fā)者。JavaScript 的兄弟 Node.js,也在命令行領(lǐng)域開拓了一片不小的疆域,甚至有動搖 Perl 和 Ruby 地位的趨勢。

在前端工程化上,幾個派系相互爭斗,產(chǎn)出了 AMD、CMD、KMD 等規(guī)范,也衍生了 SeaJS、RequireJS 等模塊化工具。前端在這一年很有跳躍感。

13 年,爆發(fā)式增長,百花齊放

規(guī)范和標(biāo)準(zhǔn)上有不少產(chǎn)出。Web Components 的出現(xiàn)給前端開發(fā)開辟了新思路;WebDriver 規(guī)范的出來推動了自動化測試的進(jìn)程,ECMAScript 6 的規(guī)范草案落地,Webapp 工作小組在這一年也是相當(dāng)活躍。

Chrome 瀏覽器在這一年也有了很大的突破,開始支持 SPDY,使用 Blink 取代 webkit 作為 Chromium 的新渲染引擎,Chrome DevTools 的調(diào)試體驗大幅度提升。這一年中,Chrome 連同其他瀏覽器廠商快速推動了各項草案規(guī)范的實現(xiàn)。

語言能力上依舊在增強(qiáng),并且從 JS 開始擴(kuò)散到 CSS,出現(xiàn)了 LESS、SASS 和 Stylus 等預(yù)處理語言,Web 開發(fā)變得更加緊湊。

而在無線端,應(yīng)用不再局限于 Webapp,由于流暢度、性能等方面不能滿足用戶體驗的需求,各大公司開始轉(zhuǎn)向 Native 方向的研究,進(jìn)而出現(xiàn)了 Hybrid 和 PhoneGap 的繁榮,它們?yōu)?JS 調(diào)用了提供更多的設(shè)備 API。

Node.js 大放異彩,很多公司在生產(chǎn)環(huán)境中使用 Node.js,同時也出現(xiàn)了諸如 Express、Meteor 等小巧的快速搭建 Node.js Server 的應(yīng)用框架。

各瀏覽器的調(diào)試也是種類繁多、功能豐富,PhantomJS 在自動化測試上開始取代 Selenium,出現(xiàn)了眾多的遠(yuǎn)程調(diào)試方案和工具。

前端工程化開始普及,各公司開始推出自己的前端集成開發(fā)解決方案。

14 年,移動端的崛起,HTML5 和 ES6 落地

HTML5 正式定稿,這意味著,web page 正式演變?yōu)?web application。ES6 華麗麗走進(jìn)前端,走的很穩(wěn)重,它的 Module/Class 等特性已經(jīng)完全讓這們語言具備了開發(fā)大型應(yīng)用的能力。

大而厚的基礎(chǔ)庫難以滿足靈活場景,Mobile 要求極致體驗,MV* 庫鋪卷而來,如 avalon/angular/knockout 等。

Web Components 跨終端組件快速發(fā)展,移動端開發(fā)迎來一次升華。Node.js 前后端分離的流行,中間層的出現(xiàn)改變了前后端的合作模式。

2014 是顛覆式的一年,前端發(fā)展在這一年開始形成了一個短暫的穩(wěn)定格局。

15 年,觀念的轉(zhuǎn)變,步入前端工業(yè)化生產(chǎn)

今年格外引人注目的框架是,類 React。Facebook 在 React.js Conf 2015 大會上推出了基于 JavaScript 的開源框架 React Native,它結(jié)合了 Web 應(yīng)用和 Native 應(yīng)用的優(yōu)勢,可以使用 JavaScript 來開發(fā) iOS 和 Android 原生應(yīng)用。在 JavaScript 中用 React 抽象操作系統(tǒng)原生的 UI 組件,代替 DOM 元素來渲染等。敲一次代碼,能夠運行在多個平臺上,其優(yōu)勢可見一斑。除了 React ,還有手機(jī)淘寶推出的 Weex 框架,它吸收了 vue.js 的編程精華,編程風(fēng)格更加簡約。

在眾多構(gòu)建工具中,如今瀟灑存活的并不多。體驗完 grunt 和 browserify 后,gulp 順勢而至,爾后又出現(xiàn)了 webpack、jspm 等。而包管理工具,經(jīng)歷了 components、bower、spm 后,npm 開始主導(dǎo)整個市場。

Node.js 的應(yīng)用已經(jīng)鋪天蓋地,各大公司前端都把 Node.js 作為分離前后端的主要手段,并且在測試、監(jiān)控等方面沉淀了大量內(nèi)容。不過,這個市場是很苛刻的,Node.js 的性能難以達(dá)到 C/C++ 的水平,那么接下來要做的就是要提升性能,至少得接近 C/C++。

參考:http://www.barretlee.com/blog/2015/12/10/after-framework-we-gonna-to-hug-data/

雖然出來的東西多,但是各種東西各有各的應(yīng)用場景,還是可以根據(jù)需要選擇相應(yīng)的框架和解決方案,就像大家經(jīng)常說的不為技術(shù)而技術(shù),為了業(yè)務(wù)而技術(shù)(相信還是有很多童鞋感覺某個東西高大上,而沒有太多考慮試用場景,當(dāng)做自己學(xué)習(xí)和實踐的用到生產(chǎn)環(huán)境環(huán)境中吧)。

所以現(xiàn)在創(chuàng)業(yè)公司做產(chǎn)品選的應(yīng)該是Hybrid來做移動開發(fā),一套代碼可以跑在移動端瀏覽器,可以打包成android的app和ios的app(打包可以了解cordova(選),appcan, APICloud等等),后期在根據(jù)發(fā)展開發(fā)其他的比如pc web版本。這樣一來不僅節(jié)約時間成本,也節(jié)約了金錢成本,后期的維護(hù)也只需要維護(hù)一套代碼,是不是感覺比之前的多套代碼好很多。

自從14年我一直很關(guān)注前端的變化與發(fā)展,所以我覺得我現(xiàn)在不能再錯過h5的浪潮了,我覺得只有了解前后端才能有一個更加全面的視野來做產(chǎn)品,來把一個東西做好,做技術(shù)選型的時候也更加得心應(yīng)手了。雖然我之前也會一些前端技術(shù),但是跟現(xiàn)在大家常說的大前端比起來,感覺還是會得太少。

我經(jīng)常在項目強(qiáng)調(diào)前端優(yōu)化的重要性,可能由于歷史原因其他童鞋并不以為然,那個時候覺前后端都由自己來掌控多好。所以從現(xiàn)在開始有時間就要好好學(xué)習(xí)一下大前端了。畢竟有基礎(chǔ),上手應(yīng)該也快。希望在技術(shù)的道路上,越走越遠(yuǎn)。

以后

以后前端的發(fā)展必然是越來越火,出來的輪子和解決方案也會越來越多,雖然一個輪子出來可能很快就會被替換掉,增大了我們的學(xué)習(xí)成本,但這也是證明了前端是在良性發(fā)展,就像我們常說的“長江后浪推前浪”,更好的東西出來了就應(yīng)該替換掉舊的東西,當(dāng)然舊的輪子經(jīng)過時間和市場的檢驗當(dāng)然更加穩(wěn)定,更加成熟。

在選擇上就仁者見仁,智者見智了,希望還是從業(yè)務(wù)場景出發(fā)吧。既然選擇了技術(shù)這條路,就努力走下去吧。

這也算我的一個年終總結(jié),有誤的地方希望大家糾正。最后,祝所有人“新年快樂”!

網(wǎng)頁題目:淺談這些年WEB前端變化
轉(zhuǎn)載注明:http://www.muchs.cn/news44/261544.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、做網(wǎng)站、自適應(yīng)網(wǎng)站、定制網(wǎng)站、搜索引擎優(yōu)化網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)