【譯】Web 重在當下

原文:http://www.zcfy.cc/article/1599

web-future

在過去的20年里,web 從簡陋的文檔分享網絡進化為一個大平臺,具有了當初創建它時我們無法想象的能力。自誕生之日起,web 一直在努力適應用戶需求,web 的成長過程中,也走過彎路,許多錯誤都是在后來才被解決的。由于 web 本身還在蹣跚學步,Flash 和 Silverlight 等插件才有了主導市場的機會。而當智能手機革命到來的時候,情形完全改變了,人們拋棄了他們的桌面瀏覽器(和插件),轉移到更加智能化卻不那么強大的移動設備上。

關于移動設備

在人們對最初的 iPhone 趨之若鶩之后又過了差不多 10 年,移動 web 前端仍然沒有被完全征服。移動 web 的功能依然落后于 native app 甚至桌面瀏覽器。Flash 已經退出歷史舞臺但是 HTML5 卻還沒有成為王者。盡管如此,越來越多的開發者選擇使用 HTML5 來開發他們的移動應用。高德納公司預測,到 2016 年末,超過 50% 的線上移動 app 產品將會采用混合模式。

如 React Natvie 和 Phonegap(Cordova) 這類的工具為 web 開發者提供了非常好的選擇,讓他們可以使用 web 技術來構建 native app。混合開發模式節省了時間和成本:不需要再為每個平臺分別從頭構建一個 app,開發者可以選擇寫基于 HTML5 的代碼,一次編寫多次部署,同時支持 iOS、Android、Windows Phone 和其他平臺。

Google 也在用各種方法推動 web 平臺發展。它們自主研發的操作系統 Chrome OS 是證明 web 將來有多強的能力以及 App Store 未來可能會發展成什么樣子的最好例子。Chrome OS 完全基于 web,除了使用瀏覽器提供的可以用在 Chrome App 中的 JavaScript API 外,沒有任何別的選擇。然而 Chrome OS 不算是移動產品,尤其是它配備了一個桌面級的瀏覽器,并且只能發布于智能平板電腦,因此 Google 一直支持高可用性以及創造更像 native app 的漸進增強 web app 運動。理論上 Google 在 web app 方面的優化取得了很好的進展并且它確實符合 web 在未來幾年應該發展的方向,但是目前這些優化只是一個理想化的版本,它只支持 Google 自己在 Android 下的 Chrome 瀏覽器,所以還有許多額外的工作要做。

JavaScript 革命

盡管在大多數人的印象中,JavaScript 還只是 Web 前端開發的專用語言,但是它實際上幾乎已經征服了現代計算機程序的每一個角落。在我看來,Node 在未來將替代 PHP。Node 易于學習,易于安裝也易于使用。Node.js 唯一缺少的東西是被虛擬主機廣泛支持。大部分虛擬主機依然只支持 PHP,但是 Node.js 為虛擬主機服務商提供了很好的嘗試使用新技術的機會。

JavaScript 也被用于物聯網甚至虛擬現實。Johnny Five 是一個著名的 JavaScript 庫,它能支持幾乎所有新的微控制器(比如 Arduino ---- 譯者注)。Tessel 是另一個非常棒的 JavaScript 使用范例。它不僅僅是一個庫,而且是一整個構建于 JavaScript 之上的設備。

去年這個時候 Mozilla 發布了 A-Frame。雖然它并未引起所期望的關注,但不影響它成為一款令人驚嘆的庫。A-Frame 構建與 Three.js 之上,賦予開發者創建基于 web 的虛擬現實應用。我親自試用了了它,我得說它真是很棒的一個庫。只是問題在于,虛擬現實的發展并沒有大家所想象和期望的那樣大。虛擬現實也許在某一天會成為很普遍的東西,但那一天到來時,人們可能不會感到特別興奮。

社區

公司和個人總是需要 web。App 通常比網站承載的內容要少。拿手機銀行做例子(這個例子可能不好,至少在國內不好 ---- 譯者注)。你可能在 app 中可以做許多事情,但通常不是所有事情。網站成本低、可訪問性高和相對容易使用,而且 web 背后的開源社區讓它在最近幾年中越來越好。

諸如 jQuery 和 Bootstrap 一類的框架讓各種級別的開發者都能夠上手。曾經一段時間里, Angular 看起來像是下一個將要統治前端的技術。然而,與前一個版本不兼容的 Angular 2 沒有達到它前任的高度。除了 Angular 外還有許多其他出色的 MV* 庫存在:Backbone、Knockout、Ember 和 Vue 是其中的幾個,因此開發者不需要抱著 Angular 不放,尤其是如果他們的舊代碼不能繼續工作了,還是果斷換個新庫吧。

我想,公平地說 web 開發的未來將主要依靠 React。這一 Facebook 開發的強大的庫像一場風暴席卷了 Web 開發社區并且為自己找到了作為前端庫的定位,而不是像 Angular 那樣大而全。我認為 React 未來所面臨的最大的挑戰將是如何更廣泛普及。所以,真正的問題是,網站確實需要 React 嗎?

永遠成長

Web 依然在以穩定的速度成長并將繼續這樣持續很長時間。截至目前估計,34億用戶使用互聯網,這個數字幾乎是全球人口數量的一半。隨著另一半人口連入互聯網,web 將再一次面對它最大的挑戰。大部分新用戶生活在新興經濟甚至第三世界國家,因此他們不會使用一個全新的安裝了 Chrome 53 的 Macbook 上網。如果他們比較幸運,他們將使用三星 Galaxy S2,安裝有舊的 Android 瀏覽器。

這一狀況給 web 開發者留下一個問題。他們如何能讓網站被這些新用戶訪問,這些用戶的瀏覽器不支持最新特性,上網速度也不快。許多生意很可能因為這個原因失去了這些潛在用戶。預計到 2020 年,另外 3.5 億印度用戶將會使用 web,這比美國的總人口還要多。

從今往后

為了適應這些新用戶,網站將需要被制作得更輕量,比以前有更好的可訪問性。盡管 YouTube Go 不是一個網站,但它是一個很好的例子,它是一個輕量級的 YouTube 版本,專為那些在印度沒有高速網絡的用戶而設。注意他們是如何通過一些不用花費多少時間完成的小變化來優化他們的 app 以使得它具有更高的可用性,適應于這些場景。最難的部分是不站在自己的立場而站在用戶的立場上發現你的 app 中需要改變的小細節。Google CEO Sundar Pichai 最近向全世界解釋了"為印度人解決問題是怎樣鼓舞人心的 Google 創新",所以也許終究"少即是多"。為什么我不認為 React 將會得到如同 jQuery 那樣廣泛的全球推廣,不是因為它不夠好,而是因為它并不是必須品。

未來的想法

有一點我確定,web 不會止步不前。Web 是一個不斷擴展的數字領域,它已經很大程度上融入我們的生活。對現在這一代人來說,web 不僅僅是一種技術創新,它是生活的一部分。下一場戰爭將在 web 上爆發,下一次革命將在 web 上發生。自由世界的下一位領導人正通過 web 被選舉。然而,web 最大的價值是它對任何人開放。沒有人擁有整個 web,或者反過來說,所有人共同擁有 web。但并不是所有人都能兌現他們對 web 的所有權。

也許有一天,文盲和受教育的區別不再僅僅是能夠使用文字,而是能夠寫代碼,或者至少能夠理解代碼。那么多人依賴于一件他們甚至完全不理解的事物是可怕的。如 Steve Jobs 曾經說過的,"在網絡上小公司和大公司看起來沒有區別",這句話到今天仍然正確。Web 比以往任何時候都充滿潛力,隨著客戶端邏輯越來越復雜,由于 JavaScript 是 Web 的語言,你也需要尋找方法來保護你的網站,因為更多的威脅將來自于 JavaScript。 Jscrambler 提供了一個運行時應用程序自我保護(RASP)解決方案,它為客戶端 Web 應用程序提供最有效的保護級別,能夠保護它們免受運行時攻擊。它使用專門為 JavaScript 定制的反調試和反篡改技術,能讓你的 web 應用自我保護并檢測出非法篡改。

英文原文:https://blog.jscrambler.com/the-web-is-not-tomorrow-but-today/


所屬標簽

無標簽

25选5玩法中奖