當前位置: 首頁 / 新聞 / 網(wǎng)站知識 / 正文
來源:qiuzhx時間:2019-08-15
當然這些都已經(jīng)是共識了,我想說的是,前端乃至整個客戶端,定制網(wǎng)站,html5的未來,大方向一定是趨同。
自從 ES2015、React 這些出現(xiàn)以來,前端的生態(tài)發(fā)生了翻天覆地的變化
前端領(lǐng)域遇到了大量此前從未遇到的問題,相應(yīng)的也出現(xiàn)了各種各樣的解決方案。我們花在處理這些問題上的時間,不比用于開發(fā)業(yè)務(wù)的時間少,在外界看來,我們把事情給搞復(fù)雜了。可以理解,面對新的挑戰(zhàn),大家給出了不同的方案,一時間百家爭鳴;但經(jīng)過時間的考驗,大家冷靜下來,求同存異,最終只會留下 1~2 個選項被大部分人接受,成為事實上的標準。
多樣性自然是好事,但如果選擇過于豐富,我們也會因為不知道該選誰而困惑。每到這種時候,我們就會羨慕后端領(lǐng)域,不用在這些事情上耗費過多的精力,方方面面都有非常成熟的解決方案,有需要時只管拿來用就好了。
所以“標準化”會是“技術(shù)大爆炸”之后必然的結(jié)果,屆時我們或許可以不用編譯、不用 polyfill,大范圍地在生產(chǎn)環(huán)境部署 ESM 的代碼;LESS 和 SCSS 的特性被 CSS 吸收,我們可以用更好用的語法去寫 CSS 并直接運行在生產(chǎn)環(huán)境;標準和實現(xiàn)之間不再嚴重脫節(jié);TS 得到普及,前端領(lǐng)域不用經(jīng)歷 Python 2 / 3 的問題;各大瀏覽器在通用特性上的 API 達成統(tǒng)一;……
2. 由“大前端”到“泛客戶端”
多終端已經(jīng)成為時下以及未來的一個必然態(tài)勢,如果每多一類新的終端,就必須配備一類新的開發(fā)者,那對于企業(yè)而言成本是巨大的。跨端技術(shù)自然也就成為了大家的寵兒,如果只需要一類開發(fā)人員就可以覆蓋所有的終端,那一定是對所有人都好的。
Web 技術(shù)與生俱來的適合開發(fā) GUI 的特點,使得它成為研發(fā)跨端技術(shù)的最佳選擇。React 推行的“Learn Once, Write Anywhere”的理念,背后其實就是跨端的思想。我們也已經(jīng)看到以 React native、Electron、PWA 為代表的成功案例,驗證了這條路的可行性,我們甚至已經(jīng)開始用“大前端”來稱呼現(xiàn)狀。雖然還有很長的路要走,但目的地確實是大家都想要去到的地方。
近來,圈子里還先后出現(xiàn)了能夠讓 React 和 Vue 代碼互相轉(zhuǎn)換的工具,以及用 React 和 Vue 開發(fā)小程序的技術(shù),更是充分說明了這一需求確實是眾望所歸。
或許終有一日,我們可以只需要一套技術(shù)棧,就可以生成網(wǎng)頁、小程序、原生的 App、桌面端應(yīng)用,并且可以運行在所有主流操作系統(tǒng)/平臺上,甚至是 VR/AR 類的應(yīng)用。(雖然這很理想化,但夢想還是可以有的)屆時各個平臺下的應(yīng)用之間的邊界會變得越來越模糊,所有的客戶端都會被歸入同一套技術(shù)棧。
3. Web OS 逐漸普及
Web OS 一度難以普及的原因,主要在于可行性、離線可用性、安全性、性能等問題,但這些問題都在逐個被擊破,在消費領(lǐng)域推廣 Web OS 越來越成為可能。
以 Chrome OS 為例,我們可以看到這一類的技術(shù)已經(jīng)離我們越來越近。
4. IE11 壽終正寢
相信這是絕大部分開發(fā)者,包括微軟自己,都想要看到的結(jié)果。IE 的存在對整個前端領(lǐng)域都是一個巨大的限制,我們遇到過太多“其他都好的,就 IE 不支持”的情況,這在桌面端是個不可回避的問題。
當然這還需要比較長的時間,尤其在中國。當然升級需要動力,我們需要引導(dǎo)用戶去邁出這一步,可以看到以微軟、阿里為首的不少龍頭公司已經(jīng)開始逐漸放棄低版本 IE,但阻礙這一進程的不僅僅只是用戶的惰性,操作系統(tǒng)的價格、國企事業(yè)單位的態(tài)度也占了一定的比例,需要大家共同的推動。
5. 前端 + AI
TPU 解決了硬件的性能問題,WASM 解決了代碼層面的性能問題,Tensor Flow 提供了適用于 JS 的 API。或許在未來,一部分的 AI 應(yīng)用會搬到客戶端來實現(xiàn),而且完全有可能就會用 JS 來開發(fā) AI 應(yīng)用。
6. 前端 + IOT
既然未來是“端到端”的,那么在 IOT 的領(lǐng)域里,自然也少不了 JS 的一席之地。用 JS 開發(fā)嵌入式應(yīng)用早已有不少案例,隨著 IOT 的普及,自然會有相應(yīng)的前端開發(fā)者開始從事這方面的工作。
7. 前端 + 區(qū)塊鏈
首先 Node.js 已經(jīng)是除 Python 外開發(fā)區(qū)塊鏈應(yīng)用的最佳選擇。
結(jié)合前面提到的種種,未來用 JS 開發(fā)智能合約,內(nèi)置 AI 技術(shù),用于 IOT,完全可以串得起來。
說到底,定制網(wǎng)站前端現(xiàn)在目前最令人頭疼的,莫過于選擇太多、環(huán)境太復(fù)雜,能做的事情越來越多,伴隨產(chǎn)生的問題也越來越多,為了解決這些問題所誕生的解決方案也越來越多。這其中有太多和業(yè)務(wù)無關(guān)的工程化需求,還沒有得到完善的解決方案,但這畢竟是探索階段不可避免的現(xiàn)象,一旦對這些領(lǐng)域研究的足夠多了,主流環(huán)境必然只會留下少數(shù)幾個選項,甚至是統(tǒng)一的答案。到那時,前端的整體環(huán)境就會像后端領(lǐng)域一樣,一套方案 hold 住全場。雖然前路漫漫,希望渺茫,但依然期待這一天能夠早日到來。