瀏覽器會內置類react框架

DOM操做

Prototype.js到風靡全球的jQuery.js,都是在解決瀏覽器間DOM操做的差別化問題,同時也提供了簡潔友好的API,可是隨着標準的不斷的推動,如今瀏覽器間的差別化能夠說已經沒有了,像Github就宣佈了棄用jQuery.js,直接使用瀏覽器提供的DOM操做更新界面。javascript

儘管瀏覽器提供的 DOM操做 API有時候看上去比較囉嗦,可是隻要全部瀏覽器實現一致,前端就不需再使用一層封裝來間接操做 DOM,只須要學習標準化的 API便可

網絡請求

IEActiveXObjectXMLHttpRequest Level1再到XMLHttpRequest Level2,而後fetch出現一統網絡請求。css

在咱們日常的開發中,能夠直接使用fetch進行請求,無需再引入其它的網絡請求庫。不過目前fetch提供的API不夠豐富,可能在使用時還要簡單封裝前端

模塊化

從最先的對象模塊命名空間,到amd,cmd等模塊化工具require.js,sea.js等,再到es module,目前chrome中已經能夠直接使用,而且動態的import也已經支持,今後能夠告別那些第三方的模塊加載器,學習並使用標準的es module便可java

功能點

好比以往咱們要實現平滑滾動,咱們要用setTimeoutsetInterval先實現一下基礎的動畫引擎,而後再實現一下相應的tween緩動算法,而後再應用到咱們的滾動上。如今瀏覽器已經支持經過css給要滾動的節點添加scroll-behavior: smooth,而後再操做相應的scrollTopscrollLeft便可實現相應的平滑滾動,省去了原來大量的代碼或引用第三方類庫的事情react

再好比某個節點滾動到或即將滾動到可視區域作一些事情(像瀑布流等),以往像平滑滾動同樣,咱們要監聽滾動事件,咱們要計算節點的位置信息等一大堆事情要作,如今有IntersectionObserver,咱們完成相似的功能只須要幾行代碼便可web

對於圖片多的網站,前端常常使用的圖片懶加載,如今也有了原生支持,給圖片加上<img loading="lazy"/>便可,不但省去了大量的javascript,也提高了易用性算法

web components

經過前面的一些基礎點,咱們能夠看到瀏覽器愈來愈多的把一些經常使用功能內置進去,能夠預見將來也會更多的把經常使用功能內置進去。chrome

內置的功能不但方便開發人員,同時在內存管理上,性能上,資源使用上都要遠遠優於javascript的實現瀏覽器

長遠看,如今前端開發的模式:界面管理+數據管理=應用。界面管理也頗有可能被內置到瀏覽器裏,簡單理解就是把頁面組件化的功能內置進去,好比內置一個react。開發人員只須要管理好本身的業務數據便可。網絡

目前這個內置的界面管理瀏覽器提供的是web components,可是它在使用起來仍然不夠方便,不過隨着時間的發展,也許一年半載以後瀏覽器發力web compoents,把它打造的更順手易用也說不定。

瀏覽器的將來

從前面的一些例子咱們能夠看到,瀏覽器也在不斷的吸取好的開發思路和方式,同時開放更基礎,更易用的API給到開發人員,這是一個互相輔助的過程。

一但某些庫或框架成爲事實上的標準,那爲何不推動它把它寫進標準,而後讓瀏覽器實現呢?好比jQuery.js就是成功的案例,好比圖片懶加載也是很好的說明,也許瀏覽器會很快內置lodash呢?

若是瀏覽器沒能發展好web components,若是react發展成熟穩定,瀏覽器或許就直接內置了,讓咱們只關注業務便可。

若是你有想法,來留言討論一下吧 ^_^

相關文章
相關標籤/搜索