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

yck發表於2020-01-10
一句話講明白 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 script 等等。最後用上命令列的開發庫,提供給使用者幾個選項,然後分別去這些模板的倉庫里拉程式碼,over~

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

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

最後

覺得文章還行的讀者可以點個贊,另外有任何問題也可以評論區交流。

另外筆者的第二次公開課 1.12 晚上 8 點在 B 站直播,有興趣的可以掃碼下放公眾號二維碼,傳送「公開課」獲取直播詳情。

微信掃碼關注公眾號,訂閱更多精彩內容 加筆者微信群聊技術
一句話講明白 WebAssembly、微前端等技術背後的核心 一句話講明白 WebAssembly、微前端等技術背後的核心

相關文章