22個2022年軟件開發(fā)的趨勢預(yù)測及其解讀
Md Kamaruzzaman 是 Medium 的一位科技博文作者,更新頻率比我強不了多少,但他對軟件開發(fā)行業(yè)的認(rèn)識比我要強太多,畢竟專業(yè)出身的差距擺在這兒。Kamaruzzaman 個人介紹是一位解決方案架構(gòu)師,同時也是一位科技作者、全棧開發(fā),專注在云和大數(shù)據(jù)方向,base 德國。
很有意思的一個事情是,研發(fā)同學(xué)往往并不直接與客戶打交道,多數(shù)市場動向和認(rèn)知觀察也往往來自于市場部門或開發(fā)者關(guān)系,但技術(shù)發(fā)展的趨勢往往卻與商業(yè)化直接掛鉤,這就導(dǎo)致了一個很有意思的現(xiàn)象,即——運營/市場拿著研發(fā)一半的工資,卻還要時刻掌握市場動向,行業(yè)脈搏,用工程師能聽懂的語言反哺給研發(fā),最終保證技術(shù)發(fā)展、產(chǎn)品迭代的路線不至于出現(xiàn)大的紕漏。
這對于做開發(fā)者社區(qū)的同學(xué)來說,是先天的弊病和必須的要求,也是開發(fā)者運營同學(xué)實現(xiàn)個人品牌能力和增值的一大出路。所以,其實各個行業(yè)都類似,愿意保持思考,持續(xù)學(xué)習(xí)的人,總是可以跑贏很多人,研發(fā)同理。
廢話不多說,切入今天的正題。
1、集中式基礎(chǔ)設(shè)施:云優(yōu)先是新的規(guī)范
同往年一樣,第一條預(yù)測依舊跟云有關(guān),今年在基礎(chǔ)設(shè)施這個關(guān)鍵詞前面多出了一個集中式(Centralized)的前綴,這跟當(dāng)前云計算行業(yè)的下沉還是有關(guān)系的,如果關(guān)注互聯(lián)網(wǎng)行業(yè)比較多的人,可能會覺得分布式云是現(xiàn)在的發(fā)展趨勢,但其實對于正在數(shù)字化轉(zhuǎn)型的非互聯(lián)網(wǎng)行業(yè)而言,集中式的基礎(chǔ)設(shè)施仍舊是第一選擇。
2022 年,仍舊會是公有云快速發(fā)展的一年,Gartner 預(yù)測 2022 年公有云的收入將增長 16%,在互聯(lián)網(wǎng)以外的各個行業(yè),金融、政務(wù)、出行、工業(yè)、民生等多個行業(yè),公有云都會得到有效的利用。所以如果你是非互聯(lián)網(wǎng)企業(yè)的決策者或從業(yè)者,現(xiàn)在開始認(rèn)真關(guān)注云計算還來得及。
2、去中心化基礎(chǔ)設(shè)施:邊緣的云
邊緣計算開始被廣泛關(guān)注,大概也就是最近兩年的事情,我看了一下 2019 年做的那篇趨勢預(yù)測里,其實沒有寫邊緣計算,但 2021 年的版本里已經(jīng)有了。跟公有云希望將存儲、計算能力和 AI/ML 集中在一個中心位置(可用區(qū)域)的特點不同,邊緣計算本身是一種去中心化的方式,它希望將存儲、計算能力和 AI/ML 部署在靠近用戶的地方。低延遲場景(游戲)、低網(wǎng)絡(luò)帶寬(離岸站點)、無網(wǎng)絡(luò)、監(jiān)管要求、實時用例(聯(lián)網(wǎng)車輛)、智能設(shè)備(物聯(lián)網(wǎng))這些都是需要邊緣計算的場景。
再加上 5G 和 Web 3 等關(guān)鍵技術(shù)的興起,邊緣計算在 2022 及以后得到廣泛采用是很合理的預(yù)判。事實上最近兩年各大云廠商已經(jīng)在開始有意識地推邊緣計算的能力和產(chǎn)品了,我印象中國內(nèi)幾大云廠商都有相關(guān)的案例,比如我之前采訪過的華為云的 KubeEdge。
Kamaruzzaman 提到了一項比較關(guān)鍵的動議—— “State of the Edge” ,旨在標(biāo)準(zhǔn)化邊緣計算技術(shù)?!皹?biāo)準(zhǔn)化”這個詞是我特別敏感的一個點,因為從商業(yè)化的角度看,在沒有實現(xiàn)事實標(biāo)準(zhǔn)之前,商業(yè)化的拓展往往是雜亂無序或者說沒有核心優(yōu)勢的,而形成事實上或人為認(rèn)定的標(biāo)準(zhǔn)以后,商業(yè)化的動向才能更為明朗。畢竟三流企業(yè)做產(chǎn)品,一流企業(yè)做標(biāo)準(zhǔn)。
3、公有云:多云將獲得更多的動力
阻礙企業(yè)上云的一大絆腳石,就是廠商鎖定的問題。畢竟云廠商在商業(yè)信譽這塊上,總是或多或少存在一些黑歷史,要么硬盤壞了,要么剽合作伙伴方案,要么抄開源項目代碼。你把企業(yè)安身立命的核心資產(chǎn)、數(shù)據(jù)都放在某一家云上,且不說安全的問題,以后要想遷移都是個麻煩。
所以多云、混合云的發(fā)展趨勢是實實在在肉眼可見的,Kamaruzzaman 提到了很多致力于提供云服務(wù)中立性的 API 服務(wù),比如 MinIO(兼容 S3)、Aviatrix(云原生網(wǎng)絡(luò))、Volterra(分布式云服務(wù))、LightOS(云原生存儲)等。
還有一點比較有意思的是,Google 正在致力于將他們的流行服務(wù),比如 Big Query 引入到其公有云競爭對手 AWS、Azure 里,但這種現(xiàn)象在國內(nèi)的云計算行業(yè)是否有類似案例或者說未來會不會有類似案例,我個人表示懷疑……
4、容器:K8s 將成為基礎(chǔ),而 Docker 將會反彈
如果要對現(xiàn)代 IT 產(chǎn)業(yè)的關(guān)鍵技術(shù)做個排名,容器毫無疑問將占據(jù)一席之地。在容器化技術(shù)的普及化中,K8s 發(fā)揮了巨大的作用。背靠大廠(Google)、足夠努力、精心設(shè)計、快速迭代,才有了今天成為事實標(biāo)準(zhǔn)的 K8s。
但另一方面,隨著 K8s 技術(shù)的成熟,未來關(guān)于 K8s 本身的吸引力會持續(xù)減少,這有點類似于跨越鴻溝理論中的技術(shù)采用生命周期,K8s 我認(rèn)為已經(jīng)到了晚期大眾這個階段。所以 Kamaruzzaman 表示,K8s 已經(jīng)成為現(xiàn)代軟件開發(fā)的引擎,但也由于其本身的成熟度而導(dǎo)致進展緩慢。從這個角度看,有點類似于 Java。
Docker 是另一個在容器化歷史進程中發(fā)揮了關(guān)鍵作用的技術(shù),不幸的是,即便在全盛時期,Docker 也沒有找到商業(yè)化的終南捷徑,加上公司一系列的騷操作,在與 K8s 的正面對決中敗下陣來。
2022 年起,Docker 宣布推出新的訂閱模式,繼續(xù)做著商業(yè)化的艱難探索。坦白說,這個小標(biāo)題預(yù)測的結(jié)論并非定論,更多是 Kamaruzzaman 基于 Docker 的歷史功績提出的美好祝愿,我其實也一樣。Docker 是我對開源行業(yè)產(chǎn)生濃厚興趣的開始,希望它能有一個好的未來。?
5、網(wǎng)絡(luò)安全:每個人都會認(rèn)真對待安全
對初創(chuàng)公司或者中型公司來說,網(wǎng)絡(luò)安全就像“房間里的大象”,他們可以看到網(wǎng)絡(luò)安全的需求,卻沒有足夠的資源去實現(xiàn)他。這其實也是公有云能迅速落地下沉的一大原因,初創(chuàng)企業(yè)不需要自己去搭建底層的基礎(chǔ)設(shè)施,也省去了網(wǎng)絡(luò)安全的防護,只要部署在公有云上就行,其他的事交給云廠商。
可當(dāng)云廠商遭到網(wǎng)絡(luò)攻擊,或者出現(xiàn)故障時,受到影響的就絕不只是一家公司而已。事實上,2021 年曝出來的云廠商高危漏洞也不在少數(shù),2022 年公有云廠商和 Linux 都要在安全方面更努力地工作。
除了云安全,另一個常見的網(wǎng)絡(luò)安全來源于開源軟件。之前奇安信有過相關(guān)數(shù)據(jù)報告,90%的開源軟件存在安全漏洞,這對于在開源軟件基礎(chǔ)上構(gòu)建起來的互聯(lián)網(wǎng)本身就是個令人不寒而栗的問題。幸運的是,高危漏洞的利用沒有那么容易。不幸的是,很多世界流行的開源軟件,背后的維護者甚至只有兩三個人,比如 2021 年最受關(guān)注的 log4j 漏洞,影響了全世界近一半的 IT 公司。
我們需要思考一個問題,為什么世界流行的開源項目卻得不到應(yīng)有的收益?為眾人抱薪者,不可使其凍斃于風(fēng)雪。
6、區(qū)塊鏈:加密貨幣之外的生活終于開始了
區(qū)塊鏈經(jīng)常與加密貨幣聯(lián)系在一起,每次有人被加密貨幣嘎了腰子,就有人開始痛罵區(qū)塊鏈技術(shù)。但從技術(shù)上來講,加密貨幣只是區(qū)塊鏈技術(shù)的一個實現(xiàn)方式,卻并非區(qū)塊鏈的全部或唯一用例。
2021 年區(qū)塊鏈一個非常流行的新用例是 NFT(Non-Fungible Tokens),之前勇士隊球星庫里花了 18 萬美元買了一張 NFT 的頭像就火出了圈。雖然,我也不懂這玩意兒貴在哪了……
NFT 目前更多用在數(shù)字藝術(shù)方面,但顯然可以期待它未來的使用場景。從這個點延伸出去可以看到,區(qū)塊鏈技術(shù)正在越來越為人所正視,注意是正視。IDC 預(yù)測 2022 年區(qū)塊鏈技術(shù)的解決方案增長將達(dá)到 75%,考慮到目前該項技術(shù)的普及程度,我覺得這個數(shù)字不算盲目樂觀。
區(qū)塊鏈一個為人所詬病的點在于能源消耗,在國內(nèi)雙碳政策的前提下,區(qū)塊鏈要想獲得長遠(yuǎn)發(fā)展,必然還是需要做出一些改變的,像以太坊那樣,在 2022 年由能源密集型的 “proof of work” 模型轉(zhuǎn)向綠色的 “proof of stake” 模型。
7、機器學(xué)習(xí):AutoML 和無代碼人工智能將使機器學(xué)習(xí)民主化
我之前策劃「稀土開發(fā)者大會」的時候,用過一句文案叫「機器都在學(xué)習(xí),你憑什么例外」。這個點說的就是機器學(xué)習(xí),但從實際的行業(yè)發(fā)展來看,機器學(xué)習(xí)的應(yīng)用規(guī)模還是受到不小的制約,最大的原因是——搞機器學(xué)習(xí)的專家太少了。第二個原因是——大多數(shù)公司不需要完全的機器學(xué)習(xí),有限的使用就夠了。
AutoML 就是在有限情況下實現(xiàn)機器學(xué)習(xí)使用的一種方式。某種意義上,它就相當(dāng)于低代碼/無代碼,不同之處在于,低代碼/無代碼是降低開發(fā)的門檻,而 AutoML 是降低機器學(xué)習(xí)的使用門檻。
8、人工智能:狹義人工智能將被廣泛采用
我最近在看阿西莫夫的科幻系列,里面提到過的「機器人三大準(zhǔn)則」、由機器人協(xié)助建立的行星文明等等故事,講述的就是人工智能的終極目標(biāo)之一——讓 AI 可以和人一樣聰明,甚至更聰明。但從 AI 發(fā)展的 60 多年歷程里,我們離這個目標(biāo)還差得遠(yuǎn)。
跟機器學(xué)習(xí)一樣,深度學(xué)習(xí)在過去十年間獲得了大量采用和快速增長,預(yù)計在未來仍將如此。人工智能發(fā)展的終極目標(biāo)在肉眼可見的當(dāng)前觸不可及,但讓人工智能代理在特定領(lǐng)域協(xié)助/增強人類還是問題不大的。
9、深度學(xué)習(xí)庫:TensorFlow 將繼續(xù)統(tǒng)治
深度學(xué)習(xí)的輪子有很多,但你基本上可以只看這兩個:Google 的 TensorFlow,Meta 的 PyTorch。
TensorFlow 在其 2.0 版本中進行了自我更新,并引入了動態(tài)圖形、Python 友好和許多其他變化。它還提供了 Tensorflow.js 以在瀏覽器中使用 AI 庫。其另一個創(chuàng)新是 Tensorflow Lite,它提供了在移動和 Web 上部署 Tensorflow 的功能。Tensorflow 還發(fā)布了 Tensorflow Extended (TFX),這是一個用于部署生產(chǎn) ML 管道的端到端平臺。
PyTorch 是另一個主要的人工智能庫,它引入了動態(tài)圖形和 Python,對開發(fā)人員也更友好。它還發(fā)布了 PyTorch Mobile,支持在 Android/iOS 設(shè)備上使用 PyTorch。它通過 PyTorch Profiler 為開發(fā)人員提供了更多的友好性來調(diào)試大型 AI 模型。
從 Stack Overflow 的調(diào)查數(shù)據(jù)來看,TensorFlow 繼續(xù)保持統(tǒng)治地位似乎并沒有什么懸念。
10、數(shù)據(jù)庫:多模型、多用途數(shù)據(jù)庫正在興起
過去幾年間,數(shù)據(jù)庫領(lǐng)域的一個趨勢就是用一種特定的數(shù)據(jù)庫去匹配特定的用例,比如:
- RDBMS:用于結(jié)構(gòu)化數(shù)據(jù)的事物
- Wide-Column Database:用于低延遲,分布式數(shù)據(jù)庫
- Key-Value Store:用于分布式緩存
- Graph Database:用于極端關(guān)系數(shù)據(jù)
- Document Database:用于具有半結(jié)構(gòu)化數(shù)據(jù)的事物
- Distributed SQL:用于具有事務(wù)保證的低延遲,分布式數(shù)據(jù)庫
- OLAP Database:用于數(shù)據(jù)倉庫和數(shù)據(jù)分析
這種方法的一個缺點是,我們經(jīng)常需要為一個應(yīng)用程序使用多個數(shù)據(jù)庫?,F(xiàn)在有一個新的趨勢,即每個數(shù)據(jù)庫將提供一個以上的模型并服務(wù)于一個以上的用例。PostgreSQL (Multi-Model)、Azure CosmosDB (Multi-Model, Multi-purpose)、SingleStore (OLAP 和 OLTP)是這些數(shù)據(jù)庫的先驅(qū)。
11、數(shù)據(jù)密集型計算:Spark VS 公有云
Kamaruzzaman 介紹道,Apache Spark 幾乎已經(jīng)取代 Hadoop 生態(tài)系統(tǒng)成為默認(rèn)的數(shù)據(jù)密集型計算框架。Spark 還使用相同的 API 提供接近實時的流處理。
另一個獲得很多關(guān)注的開源框架是 Apache Beam,其提供了一個統(tǒng)一的編程模型來定義和執(zhí)行數(shù)據(jù)處理管道:批處理和流處理。這個背后的身影少不了 GCP、Azure 和 AWS。
所以如果你不想用云,或許只有 Spark 一個選擇。
12、實時流計算:Flink VS 公有云
這個點的意思跟上一條頗為類似,簡單來說就是,實時流計算這里,除了 Flink 啥都不推薦。即便要在公有云上用,也建議用 Flink,感覺無腦上就行了。話說回來,確實在這個領(lǐng)域里我目前也沒見過有能跟 Flink 掰掰手腕的輪子。
13、DevOps:現(xiàn)代 DevOps 的智能可觀測性
幾年前,可觀測性只對大型企業(yè)至關(guān)重要。然而,伴隨著云本地開發(fā)和微服務(wù)架構(gòu)的迅速崛起,可觀測性對整個現(xiàn)代軟件開發(fā)都至關(guān)重要。除了傳統(tǒng)的日志記錄、監(jiān)控、跟蹤,還需要 K8s 集群的遙測、拓?fù)鋽?shù)據(jù)等等。
其實 DevOps 這種理念一直處在持續(xù)的發(fā)展中,當(dāng)它跟 AI 結(jié)合時就變成了 AIOps,當(dāng)它強調(diào)安全時,就有了 DevSecOps,輪子的實現(xiàn)有各種形態(tài),歸根結(jié)底還是看需求是什么。
14、快速應(yīng)用開發(fā):低代碼/無代碼 (LCNC) 將繼續(xù)蓬勃發(fā)展
低代碼/無代碼(Low Code/No Code,簡稱 LCNC)旨在降低開發(fā) Web/移動應(yīng)用的障礙,而無需開發(fā)人員(或少量開發(fā)人員)。在未來的幾年里,我們?nèi)匀恍枰_發(fā)人員來開發(fā)應(yīng)用程序。但也有很多用例表明,低代碼/無代碼框架/工具確實可以顯著加快應(yīng)用程序開發(fā)。
整個 2021 年稱之為低代碼元年都不為過,這一年光是我見過的低代碼創(chuàng)業(yè)公司就不下三五家,一場關(guān)于低代碼是否業(yè)界毒瘤的爭論更是引爆了行業(yè)沸點。預(yù)計 2022 年,這些場景下會有更多低代碼/無代碼的身影:
- Web/移動 App 開發(fā)
- 網(wǎng)站和登陸頁面
- 使用對話流的智能聊天機器人
- 電子商務(wù)
- 機器學(xué)習(xí)
- 人工智能(視頻、音頻、圖像)
- 工作流管理
- 使用 RPA 的過程自動化
15、軟件架構(gòu):面向企業(yè)的微服務(wù)和微前端
目前主流的后端架構(gòu)有三種選擇:單體、微服務(wù)和 Serverless,三者各有優(yōu)勢、劣勢和適用的場景。對于微服務(wù)而言,其是云原生場景下絕佳的架構(gòu)選擇,從企業(yè)發(fā)展角度來看,不論是上云后的改造,還是云原生的架構(gòu)設(shè)計,都以微服務(wù)為首選。
前端領(lǐng)域的程序復(fù)雜性往往受到輕視,而微前端的思想內(nèi)核跟微服務(wù)是一樣的,都是為了解決復(fù)雜性而生,化整為零。因此可以暢想的是,微前端也會是未來前端開發(fā)的首選架構(gòu)模型,另一個好消息是,主流的 JS 框架都支持微前端。
16、軟件開發(fā):人工智能將協(xié)助開發(fā)人員和 QA
軟件開發(fā)本身很有意思的一個地方在于,開發(fā)人員不喜歡做那些乏味的、可預(yù)測的、重復(fù)的臟活累活,所以各種輪子應(yīng)運而生。研發(fā)們享受的是創(chuàng)作解決問題的解決方案,而非享受問題。人工智能在實現(xiàn)終極目標(biāo)之前,更多的價值往往就體現(xiàn)在這些地方上,比如使用 GPT-3 和 NLP 庫自動地完成這些任務(wù)。
另外就是去年剛推出的一些自動生成代碼的工具,比如 GitHub 的 Copilot。很多人喜歡玩梗說,AI 已經(jīng)可以自己寫代碼,自己 Debug 了,程序員還有人要嗎?但實際上目前 AI 的能力仍舊是狹義層面的,但如果你只能、只會做臟活累活,那你確實比較危險,不是嗎?
17、編程語言(主流):Python 將引領(lǐng)潮流
我剛?cè)胄心菚?,Python 還沒今天這么火,那個時候大家討論的是 Java 和 C 語言,甚至 Go 語言在中國的熱度感覺都不比 Python 差。可一瞬之間,Python 就在 TIOBE 編程語言排行榜上干到了第一名:
Python 具有簡潔、解釋性、動態(tài)、門檻低等特性(然而我卻沒學(xué)會,從入門到放棄),這些在 Python 之禪里都有很直觀的體現(xiàn),更關(guān)鍵的是,Python 并不僅僅局限在軟件開發(fā)行業(yè)里,很多做數(shù)據(jù)、圖表的行業(yè)同樣可以用 Python 實現(xiàn)很多工作。加上數(shù)據(jù)科學(xué)的火熱,Python 的火爆不難理解。2021 年 Python 的登頂不會是曇花一現(xiàn),懸念或許在于,以后誰會把它頂下來?我個人期待 Rust。
18、編程語言(企業(yè)):Java 反擊
主流的企業(yè)級編程語言,很長一段時間里代名詞就是 Java。Java 的語言設(shè)計,JVM 的強大,共同構(gòu)筑了 Java 生態(tài)。但在云原生興起以來,Java 其實受到了非常大的挑戰(zhàn)。我年前發(fā)過一條朋友圈專門聊過這個話題:
目前看有兩個技術(shù)趨勢會對 Java 造成比較大的影響,一個是云原生,一個是 Serverless。造成影響的原因跟 Java 語言的特性有關(guān),這門語言設(shè)計就是為了大型應(yīng)用復(fù)雜場景,而云,尤其是 Serverless,更加適合輕量化、業(yè)務(wù)邏輯簡單的應(yīng)用。話說回來,其實制約云原生和 Serverless 發(fā)展的,也恰恰是在大型應(yīng)用復(fù)雜場景下的管理問題、安全問題。
一個好消息是:Java 社區(qū)一直在持續(xù)地迭代創(chuàng)新,保證 Java 的生命力。比如 GraalVM 等現(xiàn)代化的特性,在 Java 近幾年保持周期發(fā)布的當(dāng)下,憑借現(xiàn)代化特性的更新和嚴(yán)格且無與倫比的向后兼容性,你可以不用再問 Java 老矣,尚能飯否。而是,接著奏樂,接著舞!
19、客戶端 Web 框架:面向企業(yè)的 React 和 Angular
前端三大框架早已是耳熟能詳?shù)拇嬖冢簛碜?Meta 的 React,來自 Google 的 Angular 和來自尤雨溪的 Vue。Kamaruzzaman 給出 React 和 Angular 會在企業(yè)中得到更多重用,而非 Vue 的原因是:前兩者背靠兩大企業(yè),而 Vue 過于依賴尤雨溪,且提到了 Vue 的安全考慮。
我不知道這個安全考慮指的是軟件方面的安全,還是地緣方面的安全,這里不做評價。但我想提的是,如果 Vue 在過于依賴尤雨溪的情況下,仍舊做到了如此流行,豈非更加說明 Vue 的牛逼所在?你覺得呢?
20、服務(wù)器端框架(Java):用于微服務(wù)和無服務(wù)器應(yīng)用程序的本地框架
Spring MVC/Spring Boot 是 Java 里最主要的服務(wù)器端框架,它遇到的問題跟 Java 遇到的問題是伴生問題,因為 Java 受到了云原生趨勢的挑戰(zhàn),導(dǎo)致了它的問題。在 Redhat 推出 Quarkus 后,云原生開發(fā)的首選框架易主,因為后者使用了 GraalVM 而非傳統(tǒng)的 OpenJDK。終于,Spring 也聲明了將發(fā)布 Spring Native,同樣使用 GraalVM 進行云原生開發(fā)。
2022 年如果開發(fā)云原生 Java 應(yīng)用程序,可以考慮使用 Java 原生框架。如果場景仍舊是單體 Java 應(yīng)用開發(fā),繼續(xù)使用傳統(tǒng)框架亦無不可。
21、應(yīng)用開發(fā):更靈活的原生應(yīng)用
移動應(yīng)用開發(fā)一直是個龐大的市場,并且仍將持續(xù)膨脹下去。目前主流的移動應(yīng)用開發(fā)有四種模式:原生開發(fā)、跨平臺開發(fā)、混合開發(fā)和云開發(fā)。
原生開發(fā)和跨平臺開發(fā)是應(yīng)用最廣的開發(fā)模式,前者提供了最大的靈活性,后者提供了“Write once,Run everywhere”的誘人可能。
去年寫過一篇蘋果發(fā)布會的文章 蘋果:沒想到吧,我自己做了“小程序” ,里面借著蘋果生態(tài)分析了一下原生開發(fā)的發(fā)展,重點在于其軟硬件的協(xié)同。Kamaruzzaman 預(yù)測 2022 年原生開發(fā)將占據(jù)主流,重點在于跨平臺開發(fā)不如原生靈活。未來如何,且走且看。
22、API 技術(shù):REST、gRPC 和 GraphQL 將共存
現(xiàn)代軟件開發(fā)通常是 API 驅(qū)動的開發(fā):grin:,API 輪子可以說是多如牛毛,但知名度最高的也就這三個了:REST、gRPC 和 GraphQL。
這三個主流 API 技術(shù),一個最古老,同時也是最成熟、最廣泛使用(REST);一個由 Google 創(chuàng)建,在服務(wù)和服務(wù)通信方面更快更高效(gRPC);一個由 Meta 開發(fā),以為特定的用例定義數(shù)據(jù)結(jié)構(gòu)的形狀,并在一次訪問中獲取所有數(shù)據(jù)。
這簡直是完美體現(xiàn)軟件開發(fā)沒有銀彈一詞的場景,各有各的擅長,也各有各的弊病,企業(yè)按需使用,每個輪子都有前景。我們都有光明的未來!