一句話講明白 WebAssembly、微前端等技術背後的核心

一句話講明白 WebAssembly、微前端等技術背後的核心

WebAssembly 是在瀏覽器端可執行的字節碼,主要解決的問題是性能。編輯器能把 C、C++、Go、TS 等語言編譯成 WebAssembly 並能在瀏覽器中運行。

使用場景一般就是對性能有很高要求的應用,另外也可以把一些本來需要在後端完成的操作放到前端來做。比如視頻解碼、圖片處理等等。

我們需要學他嘛?99.9% 的開發者都不需要去學習它,WebAssembly 更多的是讓原本寫 C++、Go 語言的這批人能在瀏覽器上幹些原本做不到的事情。

一句話講明白 WebAssembly、微前端等技術背後的核心

微前端借鑑了後端微服務的思想,核心就是把原本龐大的應用拆包,能夠讓這些單獨的包獨立打包部署運行,可以直接看成把一個應用拆成了一個個小的模塊。

微前端適合龐大且老舊的工程,協作人員很多。舉個例子,你有一個項目很老舊了,技術棧用的還是 JQuery 或者 React 很老的版本。當下你們需要使用 React 16 去開發新功能的話,這時候重寫整個應用肯定是不現實的。那麼此時你就可以通過微前端去解決問題,在不影響不修改舊功能的同時又能使用新的技術棧去寫新功能。或者更極端一點,通過微前端你們團隊可以在這個項目裡各自使用三大框架而不影響他人。

如果你的項目小,協作的人也不多,沒什麼必要去做微前端,瞭解一下它解決的問題就行了。

一句話講明白 WebAssembly、微前端等技術背後的核心

Serverless 也就是無服務架構,當然它不是真的不需要服務器了。服務器還是需要的,只是現在服務器不需要我管了,只需要提供代碼邏輯就好了,它幫助開發者更聚焦在代碼層面而不是工程層面。

Serverless 中目前最常見的分類應該就是雲函數了(FaaS)。寫完代碼以及運行的條件然後往雲上一丟就好了,什麼部署啦、擴容啦、容災啦等等你啥都不用管,只管調用函數就好了。

那麼前端需要學習 Serverless 麼?你覺得你學這個有啥用?

一句話講明白 WebAssembly、微前端等技術背後的核心

腳手架的核心很簡單,就是幫你運行了 git clone xxx,當然這是它最簡單的一個實現。

在工程中使用的腳手架,一般都是為了幫助開發者根據選項快速生成模板,並集成了一套開發及部署中常用的套件。

你如果想自己搞個腳手架其實也很方便。核心就是搞出幾套模板,比如說適用於 PC 端、手機端的,多頁單頁應用,JS 或者 TS 的。這樣一分你就能搞出很多套模板了,然後集成下 Webpack 配置、npm>

當然以上的做法不高級,更高級的做法還能動態修改模板,如果你想實現這樣的腳手架,推薦直接看三大框架的腳手架了。

雖然前端技術棧看著很多很雜,看著高大上其實就那樣,而且很多都沒啥必要學,瞭解一下這些技術解決了什麼問題,如何做的就夠了。



分享到:


相關文章: