精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

近幾年前端技術(shù)盤點(diǎn)以及 2016 年技術(shù)發(fā)展方向

開發(fā) 前端
Web發(fā)展了幾十個(gè)春秋,風(fēng)起云涌,千變?nèi)f化。我很慶幸自己沒有完整地經(jīng)歷過這些年頭,而是站在前人的肩膀上行走。Web 技術(shù)發(fā)展的速度讓人感覺那幾乎不是繼承式的迭代,而是一次又一次的變革,一次又一次的創(chuàng)造。這幾年的前端,更為之甚!

我從 12 年底開始接觸前端,12 年之前的前端發(fā)展情況只能從上一輩的筆觸中領(lǐng)會。本文會盤點(diǎn)從 09 年開始到 15 年間前端技術(shù)的革新,同時(shí)也會從多個(gè)角度,解讀近幾年前端技術(shù)發(fā)展的潛在因素,其中穿插了若干對前端演進(jìn)的拙見,難免會有錯(cuò)誤和疏漏,望讀者可以補(bǔ)充和斧正。

[[161685]]

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

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

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

09 年之前,JavaScript 還處于對自身語言的完善過程中,而到了 09 年,JavaScript 類庫已經(jīng)頗為成熟,jQuery/Prototype/Script.aculo.us/Dojo 等都已經(jīng)發(fā)布了好幾個(gè) stable 版本,各大類庫也是相互吸收優(yōu)點(diǎn),不斷完善并提高自身性能,然而功能上已經(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。

而此時(shí),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)的運(yù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ā)體驗(yàn)和性能問題。

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

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

這一年,HTML5 游戲火爆到了一個(gè)高潮,他的低門檻和高收益讓很多開發(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)品的性價(jià)比,體驗(yàn)也得到了不斷的優(yōu)化。借著先前兩年 HTML5 刮起的東風(fēng),移動端上的 web 開發(fā)也顫抖了起來。移動端的開發(fā)挑戰(zhàn)不亞于 PC 上對多個(gè)瀏覽器的支持,這一年,萌生了眾多移動端框架,如 Sencha Touch/Zepto.js/JQ Mobile 等,相對 PC 端框架,它們更加輕便。

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

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

在前端工程化上,幾個(gè)派系相互爭斗,產(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)試體驗(yàn)大幅度提升。這一年中,Chrome 連同其他瀏覽器廠商快速推動了各項(xiàng)草案規(guī)范的實(shí)現(xiàn)。

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

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

Node.js 大放異彩,很多公司在生產(chǎn)環(huán)境中使用 Node.js,同時(shí)也出現(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 要求***體驗(yàn),MV* 庫鋪卷而來,如 avalon/angular/knockout 等。

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

2014 是顛覆式的一年,前端發(fā)展在這一年開始形成了一個(gè)短暫的穩(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ùn)行在多個(gè)平臺上,其優(yōu)勢可見一斑。除了 React ,還有手機(jī)淘寶推出的 Weex 框架,它吸收了 vue.js 的編程精華,編程風(fēng)格更加簡約。

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

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

Web 規(guī)范和標(biāo)準(zhǔn)

最開始,我們看到的 JavaScript 還只是一個(gè)簡單的腳本語言,配合著 AJAX,在網(wǎng)頁上翻騰了好幾個(gè)年頭。隨著互聯(lián)網(wǎng)趨勢越來越明顯,互聯(lián)網(wǎng)業(yè)務(wù)量和業(yè)務(wù)復(fù)雜度不斷增加,很多網(wǎng)頁變得相當(dāng)復(fù)雜,如讓我們震驚了好一會兒的 Gmail,交互復(fù)雜,體驗(yàn)優(yōu)良。為了更好的多人協(xié)作,代碼中的 Utils 庫越來越大,在這些庫中,基礎(chǔ)部分更多的是對 JavaScript 語言本身的拓展,比如給 String 加一個(gè) repeat 函數(shù),再加一個(gè) trim 函數(shù),再加一個(gè) endWith 函數(shù)等等。

復(fù)雜的業(yè)務(wù)中會經(jīng)常看到一層又一層的回調(diào)處理,回調(diào)的嵌套讓代碼的可讀性變的很差,而且很難將多個(gè)異步并行處理。為了改變這種編程范式,我們做了很多的思考,使用事件監(jiān)聽,使用各種手段拉直回調(diào),平坦地調(diào)用。

慢慢的,如果你在關(guān)注 W3C 小組的動向,會發(fā)現(xiàn),那些被認(rèn)可的,并且被廣泛重復(fù)定義的東西,都被納入了標(biāo)準(zhǔn)。最開始的 jQuery/prototype,前者主要是對瀏覽器做兼容處理,讓開發(fā)者不再把精力放到瀏覽器的差異上;后者是對語言本身的拓展,對 JavaScript 各種類型做拓展,并且提供了一套拓展任何對象的功能集。而現(xiàn)在的開發(fā),我們很大程度上不再依托這些類庫。規(guī)范和標(biāo)準(zhǔn)已經(jīng)把這些差異都統(tǒng)一了,String 中自帶了 includes/startsWith/endsWith/repeat/padStart/padEnd 等函數(shù),Array 自帶了 from/forEach/of/keys/values/find/findIndex 函數(shù)…

規(guī)范的標(biāo)準(zhǔn)是為了讓開發(fā)者得到更好的編程體驗(yàn),編程不是目標(biāo),目標(biāo)是將編程生產(chǎn)力轉(zhuǎn)化成實(shí)際效益,越少的阻礙對開發(fā)者越有利。各瀏覽器廠商當(dāng)然也認(rèn)識到了 這一點(diǎn),他們不斷地提升自己產(chǎn)品的體驗(yàn),將標(biāo)準(zhǔn)中的新特性都融合進(jìn)去,比如 ES6 中的 Promise/Generator/Class/Module 等等。在這些內(nèi)容普及之前,我們不需要加入 jQuery/prototype 這些「不純粹」的東西,而是添加兩個(gè) shim 和 polyfill,如 es5-shim,html5shiv 等等。待到山花爛漫時(shí),再輕松刪掉這些補(bǔ)丁程序。

這兩年工程化很熱,W3C 小組也看到了,這就是市場的需求,為了完成一個(gè)大型應(yīng)用的編程,就必須模塊化、組件化,于是在規(guī)范中也出現(xiàn)了 Module & Module Loader;Node.js 的到來,讓很多前端工程師開始接觸數(shù)據(jù)庫操作,面對巨量的異步,我們?nèi)虤馔搪晫懥藷o數(shù)的回調(diào)地獄,盡管使用了很多 Promise 相關(guān)的操作,程序結(jié)構(gòu)依然松散難以閱讀,于是規(guī)范中也開始出現(xiàn)了 async/await 等對 Generator 的上層封裝。文字已經(jīng)不能滿足當(dāng)代人的溝通需求,音視頻等富媒體傳輸走進(jìn)了我們的生活,于是規(guī)范中也出來了 WebRTC/WebAudio 等規(guī)范。

只要規(guī)范出來了,后續(xù)市面上就會根據(jù)規(guī)范來實(shí)現(xiàn)一套 shiv,這些 shiv 提供了同樣的 API,提供了同樣的編程體驗(yàn)。當(dāng)瀏覽器自我進(jìn)化完成之后,這些 shiv 也將成為歷史,被開發(fā)者遺棄在代碼的注釋之中。這些都是規(guī)范和標(biāo)準(zhǔn)的魅力,它的存在,就是讓開發(fā)者把精力投入到自己的業(yè)務(wù)之中,編程和范式的工作交給它。

在 這里 可以看到,W3C 各個(gè)小組最近都在干啥。標(biāo)準(zhǔn)不能囊括一切。

生態(tài)的自我完善和自我拓展

技術(shù)的更迭過于頻繁,我們能夠清晰地看到,很多人還在用更迭前一波甚至是前好幾波的產(chǎn)品。

當(dāng)年的 IE6,在戰(zhàn)場上鏖戰(zhàn)了 10 多個(gè)年頭,依然屹立不到,而現(xiàn)在它在市面上依然有百分之一左右的占有率,這種小強(qiáng)精神不得不讓人肅然起敬。“只要用戶在,我們就得追隨”,這可能是很多公 司的服務(wù)理念,因?yàn)橛脩艟褪菨撛诘睦麧櫋U且驗(yàn)檫@種服務(wù)理念,成就了 IE6 一個(gè)又一個(gè)的 5 年!然而低本版的 IE 已經(jīng)不僅僅是被前端從業(yè)人員抵制和排斥了,網(wǎng)絡(luò)安全、網(wǎng)絡(luò)運(yùn)維、QA 等等,各個(gè)技術(shù)崗位的人員都開始對他不屑,它的存在對工作效率、對安全、對很多方面產(chǎn)生了極為不良的影響,甚至影響到一些核心內(nèi)容的推廣,所以 2016 將是低版本 IE 消亡的一年,我也呼吁業(yè)界所有的朋友舉起義旗反抗起來!

慶幸的是,也有人開始吃螃蟹了。從支付寶到天貓到淘寶,阿里巴巴在很多業(yè)務(wù)上已經(jīng)主(bei)動(bi)地放棄了對 IE6 和 IE7 的支持,甚至在統(tǒng)一接入層直接做了 302 跳轉(zhuǎn),提示用戶更新瀏覽器或者引導(dǎo)流量到無線端。這是一個(gè)好的開始,我們期望這也是業(yè)界達(dá)成共識的開始!

HTTP 協(xié)議,從 1.0 快速過度到了 1.1,整個(gè)互聯(lián)網(wǎng)的上層建筑變的十分穩(wěn)固。當(dāng)然,我也了解到依然有很多產(chǎn)品還是保持了 1.0 的狀態(tài),據(jù)說電信公司的很多產(chǎn)品就是使用 HTTP/1.0 進(jìn)行通訊,這無疑讓人驚愕。為了追求更高的效率,減少網(wǎng)絡(luò)傳輸中的無效流量,W3C 工作組對 HTTP 協(xié)議也做了重新的定義,SPDY 就是 13 年比較火熱的一個(gè)話題,F(xiàn)irefox 和 Chrome 都陸續(xù)開始支持 SPDY,后來在 SPDY 的基礎(chǔ)上做了升級,正式定義為 HTTP/2.0,它的一個(gè)很大特點(diǎn)就是多路復(fù)用,這個(gè)小小的特點(diǎn)改變了我們前端編程的很多優(yōu)化模式,比如

  • 域名不是越多越好,為了能夠充分利用瀏覽器的連接數(shù),我們給 JS 和 CSS 開一個(gè)域名,給 img 開好幾個(gè)域名,網(wǎng)頁打開的時(shí)候,恰到好處的利用瀏覽器的連接數(shù)上限限制。HTTP/2.0 的多路復(fù)用,就是可以在一個(gè) HTTP 請求中進(jìn)行多個(gè)資源的傳輸,如果域名散列,反而不能利用這個(gè)特性

  • 資源合并沒有任何優(yōu)勢,以前的資源合并是為了減少請求數(shù)以節(jié)約建立 TCP 鏈接的網(wǎng)絡(luò)開銷和頭部傳輸?shù)牧髁块_銷,而在 HTTP/2.0 中,一個(gè) HTTP 請求上完全可以把所有的資源全部推送過來,如果合并了資源,反而不能良好運(yùn)用瀏覽器對資源的緩存。

當(dāng)然,除了多路復(fù)用,還有很多其他的優(yōu)化,比如傳輸?shù)臄?shù)據(jù)為二進(jìn)制流,HEAD 頭會被壓縮處理,服務(wù)器可以向客戶端推送內(nèi)容等。在這個(gè)技術(shù)水平指數(shù)式增長的年代,我相信以后的革新不會比消滅 IE6 痛苦。

模塊加載上,經(jīng)過了各派系的爭論之后,流傳下來幾個(gè)不錯(cuò)的產(chǎn)品 SeaJS、RequireJS 等,那么那個(gè)模塊加載器將成為工具平臺中短暫的終點(diǎn)呢?似乎這些都不是。當(dāng)我們按照規(guī)范中的方式進(jìn)行模塊定義,按照規(guī)范中的方式加載定義的模塊時(shí),加載這 個(gè)流程就顯得不那么重要了,因?yàn)檫@些事情***都會變成 shiv/polyfill 的事情,最終會變成瀏覽器的固有屬性。

當(dāng)一個(gè)東西在社區(qū)中被暴力追捧的時(shí)候,會有很多衍生的產(chǎn)品出來,當(dāng)這些衍生物根深蒂固時(shí),可能又會出現(xiàn)一個(gè)更加原生更加符合開發(fā)習(xí)慣的東西出來。就像 jQuery,我們?yōu)樗帉懙牟寮挥?jì)其數(shù),而在工程化的需求沖擊下,它卻顯得那么的弱不禁風(fēng),因?yàn)樗P(guān)注的點(diǎn)和當(dāng)前的發(fā)展態(tài)勢不太吻合,僅此而已。

Mobile 的發(fā)展驅(qū)動著戰(zhàn)場的轉(zhuǎn)移

記得當(dāng)年拿著 Nokia5230 學(xué)完了 HTML 和 JavaScript 的入門,那屏幕尺寸也就是三個(gè)手指的寬度,緊緊攥在手里看著頁面混排效果極差的網(wǎng)頁文檔。

現(xiàn)如今,iPhone 都出到 6s 了,一個(gè)版本一個(gè)尺寸,而且尺寸越來越大,還有各種寬高不一的 Android 機(jī)器,種類繁多。以前的觸屏是電阻式,只支持單點(diǎn)觸碰;而現(xiàn)在電容式的觸屏精度更高,還支持多指觸控,這如絲般順滑的體驗(yàn)在三四年前是完全體會不到的。曾 經(jīng)手機(jī)開一個(gè)程序久了就會卡,動不動還會自動重啟;而現(xiàn)在的手機(jī)開一堆程序,完全無感知,這就是硬件發(fā)展前后的差異。

手機(jī)已經(jīng)成為了人們生活中不可或缺的一部分,甚至成為了一些人身體的一部分,淘寶今年雙十一的數(shù)據(jù)顯示,國內(nèi)移動端的消費(fèi)比例已經(jīng)遠(yuǎn)遠(yuǎn)超過了 PC 端,占比 68%。面對龐大的用戶,我們的技術(shù)是否做好了充足的準(zhǔn)備,這里還得打一個(gè)問好。

PC 上那一套經(jīng)驗(yàn)不是直接搬到移動端就可以使用了,在移動端還需要解決更多的問題:

  • 多分辨率問題,這里涉及到了響應(yīng)式設(shè)計(jì)和前端響應(yīng)式技術(shù)

  • 不同網(wǎng)絡(luò)環(huán)境的網(wǎng)頁加載優(yōu)化問題,2g/3g/4g/wifi

  • 手指交互帶來的一系列體驗(yàn)問題

  • 為了提升用戶體驗(yàn),將 Web Native 化 —— 類 React 技術(shù)帶來的一系列問題

  • 遠(yuǎn)程調(diào)試問題

  • 移動安全問題等等

上面提到的問題很多已經(jīng)有了優(yōu)秀的解決方案,當(dāng)然也有很多未提及的。WebApp 的性能、流暢度和穩(wěn)定性遠(yuǎn)遠(yuǎn)不如原生應(yīng)用,同時(shí)它也無法良好地運(yùn)用設(shè)備提供的原生功能,這些都是大家轉(zhuǎn)投 Native 的原因。

端的融合

不同分辨率的手機(jī),不同物理尺寸的終端,為了保持良好的視覺體驗(yàn)和用戶體驗(yàn),我們不得不為每一個(gè)尺寸寫一份 Media Query 代碼,那么對應(yīng)的,設(shè)計(jì)師也需要設(shè)計(jì)多套版式供前端使用,這給設(shè)計(jì)師、前端和測試帶來了無盡的麻煩。為此,我們通過前端技術(shù)重塑屏幕,重新定義像素尺寸, 使用流式布局,通過百分比來響應(yīng)不同的終端尺寸。這是端的融合。

后續(xù)的 Mobile 的技術(shù)發(fā)展方向上,應(yīng)該是相當(dāng)明確的。很多公司都是三套人馬維護(hù)三端的程序,iOS、Android 和 Web,而這三端做的事情都是一樣的,一樣的界面,一樣的后端接口,一樣的交互方式。為了能夠快速響應(yīng)業(yè)務(wù)的變更,我們不得不將三端合并為一端對待,用一 套程序編程成三端代碼,然后發(fā)布到三個(gè)平臺上。這也是端的融合。React 系列技術(shù)發(fā)展到此,絕對不是終點(diǎn),它只是一個(gè)探路燈,給我們照明了方向。

技術(shù)需要為業(yè)務(wù)做保障,而好的技術(shù)是能夠及時(shí)響應(yīng)業(yè)務(wù)的變化,我們不可能投入大量的人力在 Web 的修補(bǔ)工作上,通過開發(fā)統(tǒng)一工具,屏蔽端和端之間的差異,統(tǒng)一開發(fā)模式和開發(fā)體驗(yàn),這才是 Mobile 的未來。

當(dāng)然,回到我們之前說的規(guī)范和標(biāo)準(zhǔn),我們目前所做的「屏蔽差異」工作,今后,也會有統(tǒng)一的標(biāo)準(zhǔn)來規(guī)范,目前手機(jī)廠商沒有這個(gè)共識,是因?yàn)檫€處于當(dāng)年 Chrome、Firefox 搶占 IE6 市場份額的階段。端的最終融合在于一個(gè)統(tǒng)一的標(biāo)準(zhǔn),以及強(qiáng)有力的執(zhí)行。

棧的融合

我剛接觸前端的時(shí)候,還沒有聽說「全棧」,Web 技術(shù)棧往小里說,包含了從前端設(shè)計(jì)、交互、前端實(shí)現(xiàn)、網(wǎng)絡(luò)數(shù)據(jù)傳輸、后端實(shí)現(xiàn)、后端運(yùn)維和數(shù)據(jù)庫等幾個(gè)方面,能短時(shí)間內(nèi)從無到有實(shí)現(xiàn)這么一套系統(tǒng),并且能 夠抗得住一定流量沖擊的人,我們可以稱之為全棧工程師。能夠有架構(gòu)有條理地實(shí)現(xiàn)這套系統(tǒng),并且抗得住大流量、有集成測試、有監(jiān)控的,這種我們可以稱之為資 深全棧工程師。現(xiàn)在不乏這種人才,也不乏自吹為這種人。

棧的融合得益于 Node.js 的出現(xiàn),作為前后端分離的橋梁,它拉近了前端工程師與后端的距離,有的人在這座橋梁上賣力行走,漸漸的也從前端走進(jìn) 了后端,甚至走進(jìn)了后端的運(yùn)維。至此,前端也擁有了部署和發(fā)布整個(gè)應(yīng)用的能力,這是一個(gè)質(zhì)的突破。

使用 Node.js,簡單幾行程序便能實(shí)現(xiàn)一個(gè) web 服務(wù)器、便能搭建一個(gè)多人聊天的網(wǎng)頁,它的便捷性可見一斑。NPM 社區(qū)的發(fā)展,沉淀了成千上萬的組件包,一行命令即可獲取,這種組件拼湊式的開發(fā),任何功能的實(shí)現(xiàn)都不會顯得太復(fù)雜,而這里的「不復(fù)雜」也蘊(yùn)含了無數(shù)的坑坑 洼洼,在這一層的融合上也會遇上不少阻礙:

  • 冗余的龐大的包內(nèi)容,為了使用一個(gè)小功能,我們從網(wǎng)絡(luò)上拉取下來一個(gè)巨大的包,而且這里的「巨大」對很多人來說都是無感知的,很少會有人進(jìn)入 node_modules 去查看依賴的第三方包是如何實(shí)現(xiàn)的,實(shí)際情況可能會相當(dāng)震撼,第三方包還引用了一堆第三方包,這些包都會在 Node.js 執(zhí)行的時(shí)候被收納進(jìn)去,放在內(nèi)存中。

  • 猛烈的迭代,今年的 Node.js 被人嫌棄迭代太慢了(當(dāng)然,這是表面原因),走出了一個(gè)分支 io.js,發(fā)展了一會兒,進(jìn)度趕超了 Node.js,后來覺得一家人不干兩家活,又合并回去了。雖說上層 API 幾乎沒有變化,但是底層卻被翻了一個(gè)天。

  • 偶爾的巨大漏洞,每隔一端時(shí)間就會暴露 Node.js 存在漏洞,這些漏洞的補(bǔ)救措施就是立即升級版本號,比較讓人擔(dān)心受怕。

  • 后端意識不強(qiáng)烈,前端占領(lǐng)了中間層的開發(fā),有的時(shí)候還干這后端的活兒,然而卻沒有后端沉淀多年固有的意識,測試和監(jiān)控做的相當(dāng)潦草。

JavaScript 從客戶端的腳本語言縱身躍進(jìn)進(jìn)入了后端行列,而今也開始深入到移動端 Native 領(lǐng)域,確實(shí)是無孔不入,這可能就是語言的特性,也可能是技術(shù)本身就在尋求融合點(diǎn),把有差異的地方全部躺平,然后用統(tǒng)一的方式去關(guān)注業(yè)務(wù),關(guān)注用戶。端和棧 也在融合。

后端服務(wù)化,云數(shù)據(jù),云安全

用戶體驗(yàn)變得越來越重要,響應(yīng)式技術(shù)的發(fā)展也是后續(xù)網(wǎng)頁應(yīng)用的一大特點(diǎn),端和端之間的差異只是在表現(xiàn)上,數(shù)據(jù)這一層差異不是特別打,很多應(yīng)用 PC 和 Mobile 共用一套接口,或者 Mobile 的接口在 PC 接口的基礎(chǔ)上做了一層包裝,對接口字段做了些許刪減。后端為了響應(yīng)各個(gè)端之間的數(shù)據(jù)需求,也需要關(guān)注數(shù)據(jù)的可利用性,接口包裝的拓展性等,這是后端服務(wù)化 的一個(gè)表現(xiàn)。移動端的開發(fā)上,前后端間隙十分明顯,越來越多移動端應(yīng)用的發(fā)布已經(jīng)脫離了后端,前端完全通過異步方式獲取數(shù)據(jù)。

業(yè)務(wù)變化很快很快快,今天這個(gè)產(chǎn)品被并購,明天那個(gè)業(yè)務(wù)被砍掉,每個(gè)人負(fù)責(zé)的業(yè)務(wù)線可能冷不丁地就變了。很多大公司的決策是由上往下的,上面微動,下面可能就是大動,可能某個(gè)部門就不存在了,也可能被劃分成幾個(gè)產(chǎn)品部門。

所以「大后臺,小前臺」的趨勢必然形成。前端,毫無疑問,在這個(gè)前臺之中。前臺的特點(diǎn)是靈活的,多變的,可快速重組的。對后臺而言,為了響應(yīng)前臺的變化, 需要提供更細(xì)粒化的 API,將數(shù)據(jù)打散,打得更加零碎,零碎的數(shù)據(jù)易于重組,這是在考驗(yàn)后端的架構(gòu)能力。如今,很多前端也都是半棧工程師,盤踞在前后端中間層上,然而如何迎 接這種后端服務(wù)化的模式,似乎這個(gè)準(zhǔn)備還是不夠充足的。

GraphQL 的出現(xiàn)場景跟 React 類似,React 是前端應(yīng)對不同場景的一種強(qiáng)有力手段,而 GraphQL 則是后端應(yīng)對不同需求場景的一次嘗試,Web APIs 將會成為 Web App 和 Mobile App 的一個(gè)中心點(diǎn),前端基于后端的 RESTful 服務(wù)構(gòu)建應(yīng)用,這里面存在太多未知的問題需要探索,這是一個(gè)大數(shù)據(jù)下探索的新起點(diǎn),也給前端開發(fā)者創(chuàng)造了無數(shù)的可能。

這幾年各類網(wǎng)盤,各個(gè)云服務(wù)商都在搶占市場,有提供圖片儲存的,有提供 CDN 靜態(tài)資源緩存的,有提供大文件儲存的,也有賣數(shù)據(jù)庫服務(wù)的。種類繁多,而歸根到底都是,你付錢給我,我提供儲存和安全,還提供方便的 SDK 讓你獲取自己的數(shù)據(jù)。云服務(wù)賣的是一套服務(wù),它是把所有人的數(shù)據(jù)風(fēng)險(xiǎn)集于一身,用強(qiáng)硬的技術(shù)做安全防御。云,賦予了我們無窮的想象空間。

三輛馬車,我們還差一輛

開發(fā)功能對很多人來說是輕松活兒,基本的前端語言加些復(fù)雜的特效,實(shí)現(xiàn)成本不會很高;即便是搭建一個(gè)網(wǎng)站,使用 Node.js 社區(qū)中的框架也能夠輕松實(shí)現(xiàn)。然后極少人會去關(guān)注每個(gè)功能點(diǎn)的測試,一個(gè)項(xiàng)目下來基本看不到測試用例,更不用說會去做監(jiān)控相關(guān)的事情。結(jié)果就是,踏過了無 數(shù)的坑洼之后終于上線了,而后續(xù)加功能的時(shí)候發(fā)現(xiàn),加了東西就跑不通,新內(nèi)容影響了之前的邏輯,只好去修復(fù)之前的邏輯,修好之后發(fā)現(xiàn)更早之前的邏輯又不通 了,整個(gè)修復(fù)過程就像玩多米諾骨牌。

程序開發(fā)三板斧:功能、測試和監(jiān)控。在 github 上可以看到很多程序都加入了持續(xù)集成,這是一個(gè)好兆頭,以為著我們寫的程序也越來越健壯,至少貢獻(xiàn)給世人使用的程序是健壯的。很多程序的代碼覆蓋率也達(dá)到了 90%+,這些數(shù)據(jù)都是重視測試的證據(jù)。

然而,三輛馬車,我們***一輛依然沒有開動起來。很多公司都會有自己的 log 平臺,每個(gè)用戶訪問頁面中的任何一個(gè)鏈接都會將用戶信息和訪問信息以 log 日志形式收集到 log 平臺上,然后通過監(jiān)控平臺或者離線分析的方式,獲取業(yè)務(wù)數(shù)據(jù)或者技術(shù)數(shù)據(jù),進(jìn)行分析和二次開發(fā)。這些東西在大公司見的很多,而這方面的東西在前端,尤其是 使用 Node.js 做程序開發(fā)的前端身上,看到的并不多。

***

2016 年,我覺得技術(shù)上的新創(chuàng)造會稍微緩和些,這兩年很多人已經(jīng)被新技術(shù)沖擊得有些找不著方向了,同一類東西,前者還沒學(xué)完,后者就開始火爆了,緊接著又是一陣 技術(shù)的凋零和新技術(shù)的出現(xiàn),這樣搞久了也會有一絲的疲倦。而更多的會關(guān)注,如何更好地服務(wù)多端,如何更大幅度地提升開發(fā)體驗(yàn)和用戶體驗(yàn),很多技術(shù)都會往性 能、往***這個(gè)方向上鉆研。

寫長文真不輕松。寫到這里,感覺說的不通透,還有很多想說的,但是個(gè)人理解力有限,也難以表達(dá)全面。技術(shù)的變化很快,今天說過的東西,到了明天就可能過時(shí)了。我們猜不透未來,只能把現(xiàn)有的東西好好消化吸收下,留下一個(gè)話柄,給讀者吧。

 

責(zé)任編輯:王雪燕 來源: 小胡子哥
相關(guān)推薦

2010-09-13 10:37:58

光纖接入

2017-08-24 10:25:53

數(shù)據(jù)中心光模塊技術(shù)

2009-11-18 10:19:47

2019-07-18 15:20:22

前端技術(shù)PWA

2010-01-08 14:19:10

應(yīng)用層交換技術(shù)

2009-10-28 17:48:03

接入網(wǎng)技術(shù)

2009-10-16 10:33:04

綜合布線技術(shù)

2009-04-30 15:22:25

JDBCODBCAPI

2017-01-03 16:03:56

2016-09-13 22:36:54

2009-10-26 17:13:42

ADSL接入技術(shù)

2009-12-24 16:21:33

WiMax技術(shù)發(fā)展

2016-10-24 10:46:47

大數(shù)據(jù)

2009-11-06 16:40:19

MSTP接入技術(shù)

2010-01-08 10:54:22

LAN多層交換技術(shù)

2024-01-29 08:20:03

物化視圖StarRocksOLAP系統(tǒng)

2024-01-11 15:27:53

人工智能數(shù)字孿生量子計(jì)算

2009-11-05 16:14:05

ADSL技術(shù)

2016-01-13 11:51:42

混合云云計(jì)算云服務(wù)

2010-02-04 11:20:29

網(wǎng)絡(luò)數(shù)據(jù)交換技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

在线免费视频一区二区| 91美女在线观看| 日韩中文字幕在线| 波多野结衣在线免费观看| 麻豆网站在线看| 国产剧情一区二区三区| 国内精品久久久久久久| 国产色视频一区二区三区qq号| 日本免费一区二区三区四区| 亚洲欧洲韩国日本视频| 国产99在线免费| 亚洲AV无码成人精品区东京热| 精品成人影院| 日韩欧美一二三| 黄色影院一级片| 香蕉视频国产在线观看| 成人三级伦理片| 日韩美女视频免费看| 午夜国产福利一区二区| 精品人人人人| 欧美日韩亚洲不卡| 日韩五码在线观看| 素人av在线| 9色porny自拍视频一区二区| 国产精品日日摸夜夜添夜夜av| 国产一级在线观看视频| 日本高清免费电影一区| 亚洲国语精品自产拍在线观看| 毛片毛片毛片毛| www.综合| 一区二区在线免费| 亚州欧美一区三区三区在线| 可以免费观看的毛片| 久久97超碰国产精品超碰| 午夜精品一区二区三区在线视频| 中文字幕美女视频| 国产中文精品久高清在线不| 亚洲国产精品成人av| 天堂av.com| 不卡亚洲精品| 色婷婷亚洲综合| 国产日韩欧美精品在线观看| 婷婷av在线| 中文字幕视频一区| 亚洲欧洲精品在线| 国产精品久久一区二区三区不卡| www.亚洲色图.com| 99re在线视频观看| 国产麻豆精品一区| 久久99精品网久久| 国产精品久久久久久久久影视| 日韩欧美视频在线免费观看| 国内精品美女在线观看| 欧美成人精品激情在线观看| 韩国一级黄色录像| 日韩国产一区| 伊人一区二区三区久久精品 | 日本不卡的三区四区五区| 97在线视频免费看| 国产中文字字幕乱码无限| 欧美久久久久| 色综合天天狠天天透天天伊人| 国产午夜手机精彩视频| 我不卡神马影院| 中文字幕欧美视频在线| 天天操天天干天天操天天干| 成人一级毛片| 色阁综合伊人av| 日韩欧美视频免费观看| 婷婷中文字幕一区| 欧美猛男性生活免费| 69av视频在线| 在线精品福利| 欧美亚洲激情视频| 九九热最新视频| 美腿丝袜亚洲色图| 成人有码视频在线播放| 99精品在线视频观看| 国产福利一区二区三区视频| 国产精品播放| 无码精品黑人一区二区三区| 久久精品视频在线免费观看| 亚洲国产精品久久久久婷婷老年 | 国产精品一区二区三区免费视频| 91视频免费在线看| 亚洲高清资源| 日本sm极度另类视频| 日本中文字幕在线观看视频| 麻豆成人久久精品二区三区小说| 国产男人精品视频| 亚洲AV无码一区二区三区少妇 | 午夜亚洲国产au精品一区二区| 国内自拍在线观看| 123成人网| 日韩女优av电影| 西西大胆午夜视频| 日韩成人激情| 欧美极品欧美精品欧美视频| 国产91精品一区| 青青草97国产精品免费观看无弹窗版| 91老司机在线| 日本一二三区在线视频| 国产精品美女久久久久久久网站| 欧美日韩中文在线观看| 国产日产欧美一区二区| 国产精品偷拍| 在线中文字幕一区二区| 一级黄色大片免费看| 久久97视频| 欧美日本黄视频| 精品黑人一区二区三区| 国产精一品亚洲二区在线视频| 精品久久久久久一区二区里番| 最新真实国产在线视频| 激情懂色av一区av二区av| 日韩欧美国产片| 欧美日韩一本| 欧美老少做受xxxx高潮| 国产精品尤物视频| 成人avav在线| 久久久一二三四| 电影网一区二区| 精品国一区二区三区| 99在线视频免费| 99精品久久| www.成人av| 精品国产丝袜高跟鞋| 色天使久久综合网天天| 国模无码视频一区| 一区二区三区在线电影| 国产精品国产三级国产专播精品人 | 国产精品无码乱伦| 国产在线网站| 精品国产91久久久| 天天操夜夜操很很操| 精品视频久久| 欧美在线一级视频| 欧美性受xxxx狂喷水| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲国产精品毛片av不卡在线| 97视频一区| 欧美另类交人妖| 91国产精品一区| 国产性色一区二区| 男人亚洲天堂网| 国产精东传媒成人av电影| 久久av.com| 91国产精品一区| 国产精品久久久久影院| 亚洲乱码国产一区三区| 网友自拍一区| 97精品在线观看| 日日躁夜夜躁白天躁晚上躁91| 夜夜揉揉日日人人青青一国产精品| 超碰人人草人人| 99久久精品国产亚洲精品 | 亚洲精品无播放器在线播放| 社区色欧美激情 | 中文字幕 视频一区| 日本一区二区三区免费乱视频| www.亚洲天堂网| 九一精品国产| 国产成人免费91av在线| 极品白浆推特女神在线观看| 日本韩国一区二区| 国产美女免费网站| 麻豆精品视频在线观看| 尤物一区二区三区| 国产一区二区三区免费在线| 欧美精品一区在线播放| 免费av一级片| 欧美日韩免费在线| 成人激情五月天| 精品中文字幕一区二区| 91免费版看片| 久久成人福利| 日本中文字幕不卡免费| av电影在线观看| 51精品秘密在线观看| 欧产日产国产v| 成人av影院在线| 日本中文字幕片| 日韩国产一区二区| 91手机在线视频| rebdb初裸写真在线观看| 亚洲欧美国产一区二区三区| 色婷婷久久综合中文久久蜜桃av| 国产精品久久精品日日| 无码人妻一区二区三区免费n鬼沢 久久久无码人妻精品无码 | 日韩男人的天堂| 91丨九色丨黑人外教| 99热在线这里只有精品| 禁断一区二区三区在线| 91九色视频导航| 丰满的护士2在线观看高清| 日韩精品视频在线播放| 亚洲一级片免费看| 亚洲高清免费在线| 国产伦精品一区二区三区视频女| 国产福利一区二区三区视频在线 | 欧美私人免费视频| 欧美毛片在线观看| 久久精品一区二区三区四区| 国产农村妇女精品久久| 亚洲资源av| 妞干网这里只有精品| 亚洲亚洲免费| 97人人干人人| 国产经典一区| 国模视频一区二区三区| 日本在线观看网站| 日韩精品免费综合视频在线播放| 国产精品无码久久av| 欧美日韩亚洲天堂| 久久久国产精品黄毛片| 欧美国产欧美亚州国产日韩mv天天看完整| www日本在线观看| 日本欧美大码aⅴ在线播放| 亚洲精品久久久久久久蜜桃臀| 日产午夜精品一线二线三线| 久久久久久久久久久久久久一区| av在线播放一区二区| 国产精品第8页| 激情黄产视频在线免费观看| 欧美日本亚洲视频| 麻豆av免费在线观看| 亚洲品质视频自拍网| 蜜桃av中文字幕| 欧美一区二区三区在线看| 波多野结衣午夜| 欧美日韩裸体免费视频| 国产对白videos麻豆高潮| 亚洲图片激情小说| 黄色激情小视频| 国产亚洲精品久| 日本免费福利视频| 丁香六月久久综合狠狠色| www.久久av.com| 日本亚洲三级在线| 99热成人精品热久久66| 亚洲永久网站| 六月丁香激情网| 国内精品久久久久久久97牛牛| 50度灰在线观看| 亚洲一区色图| 老司机av福利| 久久影视一区| 亚洲欧洲国产精品久久| 成人精品电影| 亚洲欧美精品在线观看| 不卡中文字幕| 亚洲国产一区二区三区在线播| 欧美日韩精品一区二区视频| 欧美人与性禽动交精品| 制服丝袜日韩| 日本在线观看不卡| 欧美日韩国产高清电影| 日韩精品欧美一区二区三区| 国产成人高清| 婷婷久久伊人| 日韩精品诱惑一区?区三区| 亚洲精品中文字幕乱码三区不卡| 残酷重口调教一区二区| 午夜在线视频免费观看| 天天做天天爱综合| 91视频 - 88av| 99视频一区| 免费黄色日本网站| 日韩激情一二三区| 午夜不卡福利视频| 岛国精品一区二区| theav精尽人亡av| 日本一区二区三区在线不卡| 免费看一级大片| 亚洲一区在线观看免费| 国产污污视频在线观看| 91成人免费电影| 91福利免费视频| 亚洲精品一区在线观看| 嫩草研究院在线观看| 最新69国产成人精品视频免费| 黄色国产网站在线播放| 久久久视频免费观看| 成人国产二区| 国产一区视频在线| 国产精品chinese在线观看| 欧美精品欧美精品系列c| 日韩精品1区| 黄色三级中文字幕| 久久aⅴ国产紧身牛仔裤| 欧美特黄aaa| 成人aaaa免费全部观看| 人与嘼交av免费| 亚洲综合色婷婷| 青娱乐在线免费视频| 91精品国产综合久久久蜜臀粉嫩| 国产美女主播在线观看| 亚洲精品一区中文| 97超碰在线公开在线看免费| 97视频网站入口| 日韩成人综合网站| 国内精品一区二区| 93在线视频精品免费观看| 日韩日韩日韩日韩日韩| 久久精品国产成人一区二区三区 | 天堂久久午夜av| 99久久无色码| 水蜜桃精品av一区二区| 极品粉嫩国产18尤物| 美女视频黄 久久| 免费成人蒂法网站| 亚洲女爱视频在线| 手机av免费观看| 亚洲激情电影中文字幕| www在线视频| 国产精品av网站| 精品国产一区二区三区成人影院 | 国产精品久久久久免费a∨大胸| 综合欧美亚洲| 强伦女教师2:伦理在线观看| 久久亚洲电影| 日本黄色录像片| 一区二区三区在线视频免费| 羞羞色院91蜜桃| 亚洲色图美腿丝袜| 欧美aa在线| 国产亚洲欧美一区二区| 欧美国产高潮xxxx1819| 亚洲国产成人va在线观看麻豆| 久久亚洲春色中文字幕久久久| 免费人成视频在线| 91精品国产欧美一区二区18 | 91免费看片在线观看| 免费一级片在线观看| 51久久夜色精品国产麻豆| 91在线高清| 国产精品av在线| 少妇一区二区视频| 北条麻妃在线一区| 91蝌蚪国产九色| 五月天婷婷综合网| 日韩免费性生活视频播放| caopeng在线| 91亚洲午夜在线| 91精品国产麻豆国产在线观看| 邪恶网站在线观看| 亚洲国产成人一区二区三区| 日本精品入口免费视频| 亚洲色图偷窥自拍| 色在线免费观看| 久久久一本精品99久久精品| 夜夜精品视频| 精品少妇一区二区三区免费观| 大伊人狠狠躁夜夜躁av一区| 性xxxx18| 青青草原一区二区| 国产亚洲欧美日韩在线观看一区二区 | 国产 欧美 自拍| 欧美激情乱人伦| 国产人妖ts一区二区| 少妇高潮喷水在线观看| 99re免费视频精品全部| 青青国产在线观看| 亚洲精品自拍偷拍| 姬川优奈av一区二区在线电影| 日韩欧美亚洲区| 激情综合色丁香一区二区| 69av.com| 亚洲精品美女久久久久| 肉色欧美久久久久久久免费看| 欧美日韩精品免费在线观看视频| 日韩激情在线观看| 九九热视频在线免费观看| 日韩欧美aaaaaa| 无遮挡在线观看| 日本一区二区三区在线视频 | 91亚洲国产| 佐佐木明希电影| 色综合天天综合给合国产| av网站在线免费观看| 91夜夜揉人人捏人人添红杏| 亚洲小说区图片区| 伊人网伊人影院| 欧美精品精品一区| а√在线天堂官网| 日韩精品一区二区三区四区五区| 久久国产精品无码网站| 久久中文字幕在线观看| 国产视频精品免费播放| 久久久久黄色| 欧美午夜性视频| 国产精品久线在线观看| 韩国av永久免费| 国产精品99免视看9| 国自产拍偷拍福利精品免费一 | 69堂免费视频| 日韩一区欧美一区| 亚洲色大成网站www| 成人国产精品一区二区| 亚洲一区日韩|