【前端大資料】為什麼說跨平臺和大前端趨勢越來越明顯?
大資料觀察
瞭解大資料,關注大資料觀察吧!
每個想了解最新大資料資訊的人,都關注了我
文 / 資料君
為什麼現在跨平臺和大前端趨勢越來越明顯呢?可能大部分人想到的原因如下:
一、節省成本
我這裡說的大前端不是說移動端和 Web 端組建了一個大前端部門,我這裡指的是公司會要求越來越多的程式設計師需要掌握大前端的技術棧,即就是既能做 Web 端的開發,可能也需要會手機端的開發(不是指的原生,小程式也是手機端,RN 跨平臺的也算)。
這樣節省成本的原因在於:省人力成本。不管你是用原生開發移動應用,還是會做 Web 端網頁和應用開發,這樣當然也行了,因為你一個人就把活都幹了,不需要招一個移動開發者,一個 Web 開發者了。當然,很多公司最希望的就是你能高效的使用 React 類似的技術,既能做網頁,也能順便用 React Native 給做了。
二、高效快速
怎麼高效快速的呢?比如有很多前端框架類似 React 和 Vue 吧,有很多基於他們的 UI 框架可以做到開發 Web 應用的同時,做到適配手機。寫一套程式碼可以用在兩個地方,不是更加高效了麼?再比如前兩年如日中天的跨平臺 RN ,寫一套程式碼可以同時執行在 Android 和 iOS 端。
被炒的火熱,是因為它確實可以節省成本,高效快速,但是一直沒有真正執行起來,打敗原生開發,原因就一個:體驗不好,介面卡頓,不流暢。
它雖然沒有真正打敗原生開發,但是這就意味著不是趨勢麼?
答案是不一定。
以上兩個角度說白了都是從企業節省成本,提高效率的方向上講的。我們下面就從語言發展的角度來講一講為什麼是趨勢?
不知道有多少人讀過這本書《黑客與畫家》,在《黑客與畫家》中,作者保羅 · 格雷厄姆講到:
無論一百年後的計算機是什麼樣子,我們基本上可以斷定它們的執行速度一定會快得多。如果摩爾定律依然成立,一百年後計算機的執行速度將是現在的74乘以10的18次方倍(準確地說是73 786 976 294 838 206 464倍)。真是讓人難以想象。不過實際上更現實的預測並不是速度會提高這麼多,而是摩爾定律最終將不成立。不管是什麼東西,如果每18個月就增長一倍,那麼最後很可能會達到極限。但那時的計算機比現在快得多大概是毫無疑問的。即使最後只是略微快了100萬倍,也將實質性地改變程式設計的基本規則。如果其他條件不變,現在被認為執行速度慢的語言(即執行的效率不高)將來會有更大的發展空間。
既然在現實中一些應用程式本身的效率較低,而另一些應用程式會耗盡硬體提供的所有運算能力,那麼有了更快速的計算機就意味著程式語言不得不應付更多的極端情況,涵蓋更大範圍的效率要求。我們已經看到這種情況發生了。要是以幾十年前的標準衡量,有一些使用新語言開發的熱門應用程式對硬體資源的浪費非常驚人。
不僅程式語言有這種現象,這實際上是一種普遍的歷史趨勢。隨著技術的發展,每一代人都在做上一代人覺得很浪費的事情。30年前的人要是看到我們今天如此隨意地使用長途電話,一定會感到震驚。100年前的人要是看到一個普通的包裹竟然也能享受一天內從波士頓發件、途經孟菲斯、抵達紐約的待遇,恐怕就要更震驚了。
我已經預測了,一旦未來硬體的效能大幅提高將會發生什麼事。新增加的運算能力都會被糟蹋掉。
看到保羅 · 格雷厄姆說的,是不是有一點恍然大悟,或者是這麼個道理的感覺?所以說:隨著 CPU 等各種硬體效能的提升,語言之間帶來的一些效能差,慢,都會被硬體提升所抵消,甚至在以後讓你都感覺不到了,即使語言效能很差,但是硬體的提升,還會讓你感覺有些硬體效能過剩,語言這麼爛,都幹不過硬體。
這時候,我感覺講到了跨平臺,講到了大前端,就不得不講講最近大熱的 Flutter 了。很多人都不看好 Flutter ,就會舉例子說:RN 剛出來的時候,也被炒的很熱,你看現在怎麼樣?還不是沒起來?就目前來講,Flutter 所基於的 Dart 語言,還是第三方庫都不如其他成熟的框架和語言,很容易理解嘛,剛出來,不能生態這麼完善。
但是 Flutter 的好,就一點跨平臺好。Flutter 真的是把大前端和跨平臺融合在一起了。Flutter 可以說真的是寫一次,可以執行在任何地方(Write Once,Run Any Where)。Android ?可以,iOS?可以,Windows ?可以!簡直無所不能。
Flutter 的體驗不如原生?但是總比 RN 強吧,又是 Google 的親兒子,程式流暢還易於編寫。關鍵是硬體效能的提升,可以抵消他們的弱點。
很多人都槽點這麼一個問題:人的精力是有限的,不可能什麼都會,這是對於大前端,對於什麼都需要做的一個吐槽!說:“只有廣度,沒有深度,精力有限,從而導致,你什麼都不能做好!”
但是,你們沒有發現這麼一個趨勢麼?就是現在的框架和語言,會讓你使用一種框架,可以把所有的事都幹了,只需要一種框架和語言,這或許就是發展趨勢呢?所以說:大家槽點的這個問題,將來或許就不會存在。
主題 |採集運維
插圖 | 網路來源
作 者 介 紹
資料君:)
瞭解大資料,關注大資料觀察