自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端規(guī)劃:我的 2021 前端技術戰(zhàn)略

開發(fā) 前端
前端架構治理是一個頗為復雜的問題,我們限入了一個困境:要做的事情很多,但是無奈 JavaScript 的靈活性困擾了我們每一步。

 整體來看,從大的趨勢上沒有太大的變化。這里并不考慮某些特定的技術,而是從總體上(戰(zhàn)略)層面來看待問題。所以,就有了這么幾個點:

  • 前端架構治理。
  • 微前端“普及”
  • 低代碼平臺的返璞
  • 超越前端

看上去最后一點一直是如此,哈哈。

[[378407]]

前端架構治理

前端架構治理是一個頗為復雜的問題,我們限入了一個困境:要做的事情很多,但是無奈 JavaScript 的靈活性困擾了我們每一步。所以,在某些時候,我們所能治理的東西比較有限。常見的一些有:構建優(yōu)化、組件化、微前端等。

大型前端應用

單個前端應用上了一定的規(guī)模,這本身是比較少見的 —— 從比例上來看。但是一旦遇到的時候,就往往需要大量地工作,才能治理好整個前端應用,還需要配合開發(fā)一些工具。好在市面上已經(jīng)有大量的類似工具,也可以編寫如 Lemonj 這樣的輕量級自動化 CSS 重構工具。

說實話,如果我們管理不好 CSS 中的 color 變量,那么整體的規(guī)范性就會成為一個新的問題。

規(guī)范之旅

我本不想浪費時間在這個話題上,但是真的很無奈。

兄弟姐妹們,能用 TypeScript 就用 TypeScript,能綁定各種 Lint 就用各種 Lint,能用 Git Hooks + Husky 就加上吧!大型前端項目,有機會選擇 Angular 就用 Angular 吧!

微前端“普及”

從 2018 年,我開始推廣微前端架構至今,這種架構模式的基礎設施已經(jīng)越來越成熟。我們可以明顯地看到,它已經(jīng)從大型前端團隊的落地,開始進入小型前端團隊的視野里。而采用的主要意圖,也發(fā)生了一些變化。原先是以大型應用架構為主而采用微前端,而幾年之后,我經(jīng)歷過地大量相關咨詢項目里,它變成以 演進式方案 而存在,即完成舊系統(tǒng)的平滑遷移。

微前端框架成熟

繼我寫了國內(nèi)的第一個微前端框架 mooa 之后,國內(nèi)誕生了越來越多的商業(yè)級微前端框架:qiankun、ngx-planet 等等。每一種框架都有各自地適用場景,這里就不一一展開。

唯一可以肯定的是: 這些框架很少能直接滿足大部分項目的需求 —— 因為業(yè)務特定的緣故。所以,我在過去的幾年時間里,設計了越來越多的微前端演進方案。

漸進式演進方案

對于一個正常業(yè)務開發(fā)的項目來說,微前端架構不是一蹴而就的,而是演進出來的。于是,也就衍生了相關的漸進式演進方案,如:

  • 元微前端框架 。在 2020 年里,因為某公司需要一個更具競爭力地微前端框架,所以我聯(lián)想到了:元微前端框架。雖然,我沒有花時間去想象這樣的框架,但是已經(jīng)有人采用了類似的思想。
  • 多加載器模式 。對于微前端框架來說,從某種意義上來說,它只是一個應用加載器。我們通過這個加載器去加載不同框架的應用,如 qiankun 可以支持 Angular、Vue 和 React,而對于并非這種框架的應用來說,它們需要一個新的加載器。于是,多應用加載器模式孕育而生。
  • 定制微前端框架。改造現(xiàn)有的微前端框架,使之適合于現(xiàn)有的業(yè)務架構。

因此,微前端作為一種前端遺留系統(tǒng)重寫的架構模式,它將越來越普及。

低代碼平臺的返璞

中臺火了幾年之后,被譽為“前端中臺”的低代碼平臺也在整個市場上越來越火爆。在這個行業(yè)里,開發(fā)人員劃分了三個領域 no code(無代碼 )、low code(低代碼)、pro code(專業(yè)代碼),而當開發(fā)人員把這三個領域合并為一個系統(tǒng)時,這個系統(tǒng)就變得異常奇怪。

依我的觀點來看,既然面向的人群不一樣,面向的水平不一樣,那么我們應該有三個獨立的、拆開的系統(tǒng)。它們可以共享基礎設施,這不代表它們就是一個系統(tǒng)。

重塑用戶體驗

對于一個低代碼/無代碼平臺來說,平臺的復雜度主要是由其要承載的業(yè)務引起的。如果一個只是做 H5 又或者是表單的低代碼平臺來說,其本身設計不會過于復雜。而在場景變得越來越多時,系統(tǒng)變得愈發(fā)復雜,直至使用人員無法理解。

事物的發(fā)展是有其規(guī)律的,當平臺能滿足需求之后,自然而然下一步便是重塑用戶體驗。

構建開發(fā)者體驗

PS:這一小部分主要是從我的個人的角度來看,可能能代表一部分開發(fā)者。

從個人的角度來看,拖拉拽對于開發(fā)人員來說,它的 成本非常高 ??删幋a的東西,如果可以通過按鍵來解決的放,那么它必然會提高效率。舉個簡單的例子,在設計低代碼平臺時,我們會對組件進行命名,如 header。那么,我們通過諸如于 VS Code 的 snippets 來直接生成表示頁面/組件的 DSL,必然會比我在頁面上拉拉扯扯快得多。

動態(tài)編寫 DSL 勝于拖拉拽。

超越前端

后端工程師,首先它是個工程師,然后它才是個后端工程師。前端工程師,首先它是個工程師,然后它才是個前端工程師。

在思考問題時,也應該從總體的角度來考慮問題,再從自身的角度來看怎樣全局優(yōu)化,這便是資深程序員與普通程序員的區(qū)別。所以,站在更高的視角,看到的問題就不一樣,比如 BFF 的全局優(yōu)化,比如 Serverless 架構等等。

Serverless 一體化

對于大量地小型應用來說,直接采用 Serverless + 小程序來說是一個非常便宜快速的方案。至少在前期的試錯成本非常之低,無需考慮服務器和并發(fā)等問題,也無需浪費大量地服務器資源。

不論使用的是什么技術棧,在 2021 年,你都應該試試 Serverless 架構了。

重回跨語言前端

Rust、Web Assembly 或者是 Kotlin,又或者是一些新興的語言,它們都可以以一種新的試,讓其它領域的開發(fā)人員編寫能運行在瀏覽器上的代碼。

最近的一年多里,在大家看來:我一直在忽悠前端開發(fā)人員寫 Rust。原因無非是,它的后臺是 Mozilla —— 可以快速運行在瀏覽器之上,又是系統(tǒng)編程語言 —— 可以嘗試大量非常有意思地傳統(tǒng)應用。

其它

最后,讓我用一個老生常談的問題,來結束這篇話題 —— 前端是選擇深度還是廣度?

這個問題的答案其實蠻簡單的,也蠻打擊人的。它取決于我們所在的團隊的規(guī)模,當團隊夠大的時候,我們就越有機會嘗試一些特別有意思的新技術,又或者是深入優(yōu)化某一領域的技術。這個道理也適用于后端。

責任編輯:張燕妮 來源: phodal.com
相關推薦

2019-04-01 16:01:32

華云數(shù)據(jù)前端html

2023-11-20 08:12:15

2019-01-14 07:53:32

前端開發(fā)技術

2020-06-22 07:56:15

前端開發(fā)技術

2022-08-11 09:41:35

阿里程序員

2019-04-10 14:22:23

華云IOT物聯(lián)網(wǎng)

2015-09-02 09:02:21

阿里無線前端架構

2020-11-22 21:35:27

Gartner科技技術

2021-01-14 09:13:49

前端趨勢Serverless

2021-02-05 08:09:19

前端框架開發(fā)

2018-02-07 08:28:36

前端PWAtypeScript

2016-01-22 10:53:09

前端APP融合

2015-06-04 11:22:22

前端程序員

2017-08-07 18:45:51

前端JavaScript技術棧

2018-05-15 15:33:07

Leader前端團隊

2022-08-19 14:06:56

前端架構技術

2017-07-26 13:51:19

前端JavaScriptTypeScript

2022-10-17 15:21:18

2020-10-29 10:40:17

戰(zhàn)略技術趨勢Gartner

2018-04-16 16:31:56

前端開發(fā)從零開始
點贊
收藏

51CTO技術棧公眾號