777琪琪午夜理论电影网,这里都是精品久久对对碰,欧美高清在线观看中文字幕,国产成人精品永久免费视预

行業(yè)新聞

21個(gè)2021年軟件開發(fā)趨勢(shì)預(yù)測(cè)

發(fā)布日期:2021-08-17

Md Kamaruzzaman InfoQ 1月5日

作者 | Md Kamaruzzaman

譯者 | 張健欣

策劃 | 蔡芳芳

對(duì)于軟件開發(fā)行業(yè)來說,2020 年是意義重大的一年,許多領(lǐng)域都取得了重大突破。本文將基于來自認(rèn)證來源的數(shù)據(jù)、圖表和事實(shí),根據(jù)過去來預(yù)測(cè)未來。如果你想要了解軟件行業(yè)在 2021 年會(huì)有哪些變化,請(qǐng)閱讀本文,本文涵蓋了云、邊緣計(jì)算、容器、量子、區(qū)塊鏈、人工智能、深度學(xué)習(xí)、批處理、流式處理、數(shù)據(jù)庫、編程、軟件架構(gòu)、Web、App、低代碼、無代碼等重要方向。
本文最初發(fā)布于 Towards Data Science(《21 Predictions about the Software Development Trends in 2021》),由 InfoQ 翻譯并分享。

2020 年是近代史上史無前例的一年。人類在過去一百年中都沒有經(jīng)歷過像 COVID-19 這樣的全球性大流行病。它影響了我們星球上所有的國(guó)家、部門和幾乎所有的個(gè)人。

好消息是我們馬上就會(huì)擁有疫苗,終于可以滿懷樂觀和希望迎接新的 2021 年。對(duì)于軟件開發(fā)行業(yè)來說,2020 年是意義重大的一年,在許多領(lǐng)域都取得了重大突破。COVID-19 顯著加快了數(shù)字化轉(zhuǎn)型,而且 2021 年的數(shù)字化轉(zhuǎn)型趨勢(shì)會(huì)更明顯。

一年以前,我寫了一篇文章來預(yù)測(cè) 2020 年的軟件開發(fā)趨勢(shì):

《20 個(gè) 2020 年軟件開發(fā)趨勢(shì)預(yù)測(cè)》

在軟件開發(fā)行業(yè),一年幾乎就是一光年。我沒有更新舊帖子,而是創(chuàng)建了一個(gè)新的預(yù)測(cè)清單,預(yù)測(cè) 2021 年軟件開發(fā)行業(yè)的重要技術(shù)趨勢(shì)。

做預(yù)測(cè)是一項(xiàng)有風(fēng)險(xiǎn)的任務(wù)。但是我會(huì)使用來自認(rèn)證來源的數(shù)據(jù)、圖表和事實(shí),根據(jù)過去來預(yù)測(cè)未來。如果你想要了解軟件行業(yè)在 2021 年有哪些變化,請(qǐng)閱讀本文。

1集中式基礎(chǔ)設(shè)施:云,無處不在的云

在 COVID-19 期間,大部分行業(yè)遭受了沉重的打擊,盡管只有少數(shù)行業(yè)。云是朝陽行業(yè),在大流行期間,它實(shí)際上比以往任何時(shí)候都更強(qiáng)大。如果在云應(yīng)用方面存在任何疑問和不確定性,COVID-19 已經(jīng)消除了這一點(diǎn)。

像 Corona 這樣的全球性災(zāi)難表明,我們不僅需要云升級(jí)規(guī)模,也需要降低規(guī)模,例如,當(dāng)我們的服務(wù)需求顯著下降時(shí)。想想旅游和運(yùn)輸行業(yè),他們不得不維護(hù)昂貴的數(shù)據(jù)中心,盡管他們的市場(chǎng)下降了 90%。

Forrester 預(yù)測(cè),全球公有云 IT 基礎(chǔ)設(shè)施將在 2021 年增長(zhǎng) 35% 至 1200 億美元:

2分散式基礎(chǔ)設(shè)施:邊緣計(jì)算將出現(xiàn)指數(shù)級(jí)增長(zhǎng)

在公有云中,我們希望有一個(gè)集中的數(shù)據(jù)中心來提供數(shù)據(jù)和計(jì)算能力。但在許多場(chǎng)景中,我們有相反的需求,例如,數(shù)據(jù)和計(jì)算能力接近終端用戶。有些是非常低的延遲(5 到 20ms)、高帶寬、監(jiān)管原因、實(shí)時(shí)用例、智能且強(qiáng)大的終端設(shè)備等等。

雖然邊緣計(jì)算是一個(gè)老概念,并且我們已經(jīng)在內(nèi)容交付網(wǎng)絡(luò) (Content Delivery Network,CDN) 中使用邊緣計(jì)算,但近年來它正變得越來越流行。隨著互聯(lián)車輛(自動(dòng)汽車、無人機(jī))、在線游戲、物聯(lián)網(wǎng)、智能設(shè)備和邊緣 AI/ML 的興起,邊緣計(jì)算將在 2021 年及以后成為一個(gè)巨大的市場(chǎng)。邊緣計(jì)算將在 2021 年成為關(guān)鍵的另一個(gè)原因是 5G 移動(dòng)設(shè)備的興起。

2021 年,兩個(gè)行業(yè)集團(tuán)將爭(zhēng)奪邊緣計(jì)算的市場(chǎng)份額。其中一個(gè)集團(tuán)是公有云提供商,例如亞馬遜、微軟、谷歌,如下所述:

在這方面,亞馬遜是 AWS Snow family、AWS IoT Greengrass 等許多服務(wù)的領(lǐng)導(dǎo)者。微軟也提供 Azure Stack Edge、Azure Edge Zone 等邊緣計(jì)算服務(wù)。谷歌也使用 Google Anthos 將它的數(shù)據(jù)中心服務(wù)轉(zhuǎn)移到終端用戶。

另一個(gè)集團(tuán)是已經(jīng)具備邊緣基礎(chǔ)設(shè)施的行業(yè),例如電信公司、數(shù)據(jù)中心提供商、網(wǎng)絡(luò)提供商。如果它們能夠快速行動(dòng)并利用它們的優(yōu)勢(shì)(例如,現(xiàn)有的基礎(chǔ)設(shè)施),他們就有機(jī)會(huì)在這方面發(fā)揮領(lǐng)導(dǎo)作用?;旌显铺峁┥?RedHat(IBM)憑借其混合云平臺(tái) OpenShift 和 OpenStack 的參與,將成為這里的關(guān)鍵選手。最近,三星與 IBM 合作開發(fā)邊緣計(jì)算解決方案:

State of the Edge 是為邊緣計(jì)算制定開放標(biāo)準(zhǔn),使邊緣計(jì)算供應(yīng)商中立的倡議。最近 State of the Edge 成為了 Linux 基金會(huì)的一部分。與 CNCF 一樣,在 2021 年及以后,State of the Edge 也將獲得更多高光時(shí)刻。

請(qǐng)為 2021 年及以后邊緣計(jì)算領(lǐng)域的許多創(chuàng)新、融合、并肩戰(zhàn)斗和標(biāo)準(zhǔn)化做好準(zhǔn)備。

3云:AWS 領(lǐng)先,但多云會(huì)是未來

在公有云供應(yīng)商中,誰是領(lǐng)導(dǎo)者是毫無疑問的。在 2020 年第三季度,亞馬遜以 32% 的市場(chǎng)份額領(lǐng)跑公有云市場(chǎng),如下所示:

微軟在其云產(chǎn)品方面表現(xiàn)強(qiáng)勁,在 2020 年實(shí)現(xiàn)了 48% 的年度增長(zhǎng)。在 2020 年第三季度,微軟的市場(chǎng)份額為 19%,而它在 2019 年第三季度的市場(chǎng)份額為 17%。

目前,谷歌是第三大公有云提供商,在 2020 年第三季度的市場(chǎng)份額為 7%。

在 2021 年,亞馬遜和微軟將分別保持第一和第二的位置。然而,阿里巴巴將在 2021 年取代谷歌,因?yàn)樗?2020 年第三季度的市場(chǎng)份額為 6%,僅次于谷歌。

此外,多云倡議將在 2021 年獲得更大的發(fā)展勢(shì)頭。許多公司也轉(zhuǎn)向了多云策略。中情局(CIA)最近將其云合同授予了多個(gè)云供應(yīng)商而不是單個(gè)供應(yīng)商:

直到現(xiàn)在,亞馬遜還不愿意加入多云倡議來保護(hù)它的市場(chǎng)份額。但正如我們 10 年前在微軟身上看到的那樣,整個(gè)行業(yè)和社區(qū)比最大的單個(gè)公司更強(qiáng)大。最近,亞馬遜已經(jīng)悄然加入了多云倡議:

云原生計(jì)算基金會(huì)(Cloud Native Computing Foundation ,CNCF) 在多云運(yùn)動(dòng)中扮演著關(guān)鍵角色,可以說已經(jīng)超過了 Linux 基金會(huì)。在 2021 年,我們可以看到 CNCF 有更多增長(zhǎng)。此外,像 HashiCorp 這樣的多云服務(wù)供應(yīng)商會(huì)變得更加重要。

一些突出的項(xiàng)目也提供了與流行的特定供應(yīng)商的云服務(wù)的 API 兼容性,例如 MinIO(提供兼容 AWS S3 的對(duì)象存儲(chǔ))。在 2021 年,將會(huì)有更多類似 MinIO 的倡議,這樣我們就可以輕松地切換受歡迎的供應(yīng)商的服務(wù)。

這對(duì)整個(gè)行業(yè)來說是個(gè)好消息,正如我夢(mèng)想的那樣,公司可以在多個(gè)云上無縫部署它們的應(yīng)用程序。

4容器化:Kubernets 稱王,Docker 將退場(chǎng)

容器化是云原生 IT 的核心技術(shù),無論是公有云、私有云,甚至是邊緣計(jì)算。幾年來,Kubernetes 已經(jīng)成為領(lǐng)先的容器編排和管理技術(shù)。就像 Linux 之前統(tǒng)治著數(shù)據(jù)中心一樣,Kubernetes 也統(tǒng)治著公有云和私有云。起初,谷歌是 Kubernetes 背后的主導(dǎo)力量,但是現(xiàn)在幾乎所有的巨頭科技公司都支持 Kubernetes。

所有主要的公有云提供商現(xiàn)在都提供托管的 Kubernets 服務(wù)(Amazon EKS、Azure AKS、Google GKE)以及它們的托管容器化服務(wù)。另一方面,RedHat 正在使用 OpenShift 在私有云中提供托管的 Kubernetes 服務(wù)。

在 2021 年,我們將看到更多對(duì) Kubernetes 的采用,因?yàn)樗腔旌显苹蚨嘣茟?zhàn)略的核心組件。非傳統(tǒng)企業(yè)應(yīng)用程序,如 AI/ML、數(shù)據(jù)庫、數(shù)據(jù)平臺(tái)、無服務(wù)器和邊緣計(jì)算應(yīng)用程序也將轉(zhuǎn)移到 Kubernetes。

另一方面,Docker 正在慢慢失去它作為一種現(xiàn)代化技術(shù)的魅力。已經(jīng)有一些倡議來標(biāo)準(zhǔn)化容器格式和運(yùn)行時(shí),其中兩個(gè)在最近幾年得到了巨大的推動(dòng)。一方面是 Kubernetes 引領(lǐng)的容器運(yùn)行時(shí)接口(Container Runtime Interface,CRI)。另一方面是 Linux 基金會(huì)引領(lǐng)的開放容器倡議(Open Container Initiative,OCI)。

最近,Kubernetes 棄用 Docker 而支持 CRI,并計(jì)劃在 2021 年的后續(xù) Kubernetes 版本(1.22)中完全移除 Docker:

由于 Kubernetes 是容器生態(tài)系統(tǒng)中的巨頭,2021 年將會(huì)是 Docker 終結(jié)的開始。從好的方面看,CRI 和 OCI 在 2021 年會(huì)獲得更大的發(fā)展勢(shì)頭,尤其是基于 CRI 的容器將在 2021 年獲得巨大的爆發(fā)式增長(zhǎng)。

5計(jì)算:量子計(jì)算將得到推動(dòng)

量子計(jì)算是這個(gè)清單上最具革命性的技術(shù)。就像數(shù)字計(jì)算機(jī)一樣,它有潛力影響每一個(gè)領(lǐng)域。我已經(jīng)創(chuàng)建了一份 2030 年代最熱技術(shù)的清單,而量子計(jì)算排名第一:

換個(gè)角度看:如果我們把當(dāng)今最先進(jìn)的超級(jí)計(jì)算機(jī)當(dāng)作正常人類,例如,一名象棋選手或者一個(gè) 8 年級(jí)數(shù)學(xué)學(xué)生,那么量子計(jì)算就是像馬格努斯·卡爾斯(Magnus Carles)這樣的超級(jí)天才,他可以同時(shí)和 50 名普通象棋選手對(duì)弈,或者像歐拉(Euler)這樣的天才數(shù)學(xué)家。

在 2020 年,量子計(jì)算有了一些重大的突破和進(jìn)步。在 2020 年 6 月,霍尼韋爾(Honeywell)聲稱其創(chuàng)建了最強(qiáng)大的量子計(jì)算機(jī),打破了谷歌之前創(chuàng)造的記錄:

許多政府和科技巨頭都在探索和投資量子計(jì)算。谷歌和 IBM 是這個(gè)領(lǐng)域的兩個(gè)最大的選手。谷歌甚至推出了一個(gè)開源庫 TensorFlow Quantum (TFQ),用于制作量子機(jī)器學(xué)習(xí)模型的原型:

亞馬遜也通過其 Amazon Braket 云服務(wù)提供托管的量子計(jì)算服務(wù)。

考慮到其巨大的利潤(rùn)和無限的可能性,2021 年計(jì)算機(jī)量子將有一些突破和驚人的發(fā)現(xiàn)。

如果你想要探索量子計(jì)算,那么你可以使用開源 SDK qiskit,它還提供了免費(fèi)課程:

6區(qū)塊鏈:過山車仍將繼續(xù)

區(qū)塊鏈 (分布式賬本) 也是近年來開發(fā)的主要顛覆性技術(shù)之一。就技術(shù)而言,它有改變整個(gè)行業(yè)的潛力。雖然加密貨幣在普及這項(xiàng)技術(shù)方面發(fā)揮了重要作用。它在推動(dòng)這項(xiàng)技術(shù)走向 Gartner 的炒作周期曲線(Gartner’s Hype Cycle curve)的“期望膨脹期”方面也扮演了主要角色。

許多流氓實(shí)體利用比特幣 Bitcoin 的流行,制造詐騙項(xiàng)目來欺騙那些想在短時(shí)間內(nèi)暴富的普通人。現(xiàn)在,區(qū)塊鏈正經(jīng)歷炒作周期曲線的“幻滅低谷”。另外,政府正在干預(yù)加密貨幣來防止詐騙。最近,中國(guó)政府查獲了一個(gè)加密貨幣詐騙“Plus Token 龐氏騙局”:

Facebook 在 2019 年發(fā)布了它的加密貨幣 Libra,但在 2020 年面臨巨大的監(jiān)管壓力:

其它開源區(qū)塊鏈,如以太坊(Ethereum),正在將代碼放入?yún)^(qū)塊中,使它能夠用于智能合約,這是區(qū)塊鏈的未來。

在 2021 年,區(qū)塊鏈將更多地作為一種智能合約機(jī)制使用,有望進(jìn)入“啟蒙斜坡(Slope of Englishtenment)”階段。區(qū)塊鏈將在 2021 年獲得重大爆發(fā),中國(guó)已經(jīng)將它納入其雄心勃勃的 50 萬億“新基建”計(jì)劃:

7人工智能:AI 將惠及所有人

作為近來最熱門的技術(shù)之一,人工智能在 2020 年也取得了許多突破。另一個(gè)有意思的趨勢(shì)是,人工智能開始以“全民 AI(AI for all)”的口號(hào)進(jìn)入所有領(lǐng)域。

在自然語言處理領(lǐng)域,GPT-3 是 2020 年 5 月取得的最大的突破。美國(guó)公司 OpenAI 創(chuàng)建了 GPT-3,使得使用深度學(xué)習(xí)創(chuàng)建類似人類的文本成為可能。僅僅過了 4 個(gè)月,當(dāng)《衛(wèi)報(bào)》用 GPT-3 撰寫了以下文章時(shí),全世界都一起為之震驚:

在 2021 年,自然語言處理將取得突破性進(jìn)展,人工智能將撰寫文章或編寫小型應(yīng)用程序。

另一個(gè)有趣的發(fā)展是 AutoML 2.0,它支持工程自動(dòng)化。在 2021 年,全周期人工智能自動(dòng)化將取得重大進(jìn)展,人工智能將更加平民化。

人工智能并不是沒有偏見的,有道德的人工智能正變得越來越有吸引力。人工智能領(lǐng)域的另一個(gè)主要趨勢(shì)是可解釋的人工智能,即人工智能為什么做出某種決定需要一個(gè)解釋。在 2021 年,隨著歐盟對(duì)解釋人工智能的決定制定法規(guī),這些領(lǐng)域?qū)⑷〉弥卮筮M(jìn)展。

人工智能在 2021 年及以后也將在航空業(yè)得到廣泛應(yīng)用。就在幾天前,美國(guó)空軍用人工智能作為副駕駛來駕駛了一架飛機(jī):

人工智能也將成為未來中國(guó)數(shù)字基礎(chǔ)設(shè)施的核心:

預(yù)計(jì)到 2021 年,人工智能會(huì)有許多令人振奮的創(chuàng)新和平民化。

8深度學(xué)習(xí)庫:TensorFlow 2.0 和 PyTorch

谷歌和 Facebook 是深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)領(lǐng)域的兩大主導(dǎo)者。谷歌的主要業(yè)務(wù)是搜索能力,它是自然語言處理領(lǐng)域的領(lǐng)先創(chuàng)新者。Facebook 的主要業(yè)務(wù)是社交網(wǎng)絡(luò),它必須處理圖像、視頻和文本。在圖像處理領(lǐng)域,F(xiàn)acebook 是技術(shù)領(lǐng)導(dǎo)者,有許多創(chuàng)新。

出自谷歌的 TensorFlow 是深度學(xué)習(xí)領(lǐng)域的領(lǐng)先的庫,但是 2016 年 Facebook 發(fā)布了 PyTorch 后一切都發(fā)生了變化。PyTorch 使用動(dòng)態(tài)圖而不是(TensorFlow 使用的)靜態(tài)圖,并且對(duì) Python 更加友好。作為回應(yīng),谷歌在 2019 年創(chuàng)建了 TensorFlow 2.0,復(fù)制了 PyTorch 的很多功能(動(dòng)態(tài)圖、對(duì) Python 友好)。它還與谷歌的 Collab 完美結(jié)合(Collab 是一款非?,F(xiàn)代且功能強(qiáng)大的筆記本)。從那時(shí)起,谷歌的 TensorFlow 2.0 就越來越受歡迎。目前,根據(jù) Stack Overflow 開發(fā)者調(diào)研 2020,TensorFlow 是最流行的深度學(xué)習(xí)框架:

另一方面,開發(fā)人員喜歡用 PyTorch 工作,它以更好的開發(fā)人員工效學(xué)而更受開發(fā)人員的喜愛:

在 2021 年,TensorFlow 2.0 和 PyTorch 將成為企業(yè)和社區(qū)的“首選”庫。擁有 TensorFlow 代碼庫或者想要使用 Collab 筆記本的企業(yè)應(yīng)該使用 TensorFlow 2.0。剛進(jìn)入深度學(xué)習(xí)或者想要繼續(xù)使用 Juypter 筆記本的企業(yè)或個(gè)人應(yīng)該選擇 PyTorch。

9數(shù)據(jù)存儲(chǔ):一個(gè)尺寸不能填滿所有

現(xiàn)代數(shù)據(jù)庫的前景充滿選擇和廣泛的變化。我們有經(jīng)典的 SQL 數(shù)據(jù)庫,主要是四大數(shù)據(jù)庫:MySQL、 Oracle、 MS-SQL、 PostgreSQL。我們也有 NoSQL 數(shù)據(jù)庫,主要由一系列數(shù)據(jù)庫組成:文檔、鍵值對(duì)、寬列、時(shí)間序列、搜索、圖。還有許多其它類型的數(shù)據(jù)存儲(chǔ)。

我們最近看到了所謂的全球分布式 ACID 事務(wù)數(shù)據(jù)庫或者 NewSQL 數(shù)據(jù)庫。谷歌憑借 Google Spanner 成為這個(gè)領(lǐng)域的領(lǐng)導(dǎo)者,Google Spanner 是首個(gè)水平讀 / 寫可伸縮的 ACID 兼容數(shù)據(jù)庫。亞馬遜也有一個(gè)水平可擴(kuò)展 ACID 兼容數(shù)據(jù)庫,Amazon Aurora,提供幾乎所有的 SQL 功能,但沒有水平寫入伸縮。除了超大規(guī)模云提供商之外,CockroachDB 也是一個(gè)非常突出的 NewSQL 或分布式 SQL 數(shù)據(jù)庫。

在 2021 年,數(shù)據(jù)存儲(chǔ)生態(tài)系統(tǒng)將保持現(xiàn)在的樣子,有很多選擇。沒有一種數(shù)據(jù)庫可以滿足所有的目的。在 2021 年,選擇正確的數(shù)據(jù)也將是一個(gè)非常具有挑戰(zhàn)性的任務(wù),需要仔細(xì)考慮。

許多流行的數(shù)據(jù)庫已經(jīng)修改了它們的許可 (MongoDB、 Cassandra、 Redis、Kafka),因?yàn)槌?jí)規(guī)模的云提供商,尤其是亞馬遜,濫用了它們的創(chuàng)新,賺了錢卻沒有回報(bào)。這一趨勢(shì)在 2021 年將繼續(xù),其它初創(chuàng)公司或創(chuàng)新型公司將使用更嚴(yán)格的許可來保護(hù)他們免受云提供商的掠奪。

10數(shù)據(jù)密集型計(jì)算:Spark 將繼續(xù)領(lǐng)先

就在幾年前,Hadoop 還是數(shù)據(jù)密集型計(jì)算或分布式批處理任務(wù)的默認(rèn)選擇。Apache Spark 目前是供應(yīng)商中立的分布式批處理任務(wù)平臺(tái)的首選,在大多數(shù)情況下幾乎取代了 Hadoop。

這一趨勢(shì)將在 2021 年繼續(xù),Spark 將被用作數(shù)據(jù)密集型計(jì)算的首選平臺(tái)。Spark 是一個(gè)基于 JVM 的系統(tǒng),需要非常大的資源,你將得到一份巨大的云賬單。但不幸的是,目前還沒有一個(gè)資源節(jié)約型的框架能匹配 Spark 的能力和成熟度。

所有主流的云提供商都有它們自己的云原生解決方案來進(jìn)行數(shù)據(jù)密集型計(jì)算。我的個(gè)人建議是在 2021 年使用 Spark 而不是特定的云解決方案,以避免供應(yīng)商鎖定。

11實(shí)時(shí)流處理:Flink 將是明顯的選擇

近年來,隨著企業(yè)拋棄傳統(tǒng)的 Lambda 架構(gòu),轉(zhuǎn)而使用實(shí)時(shí)流處理框架,實(shí)時(shí)流處理正變得越來越流行。

此外,這里存在兩種類型的框架。一種是以 Spark Streaming 為核心的基于微批量的平臺(tái)。另一種是以 Apache Flink 為核心的低延遲流處理平臺(tái)。

Apache Flink 在需要實(shí)時(shí)流處理(欺詐檢測(cè)、異常檢測(cè)、基于規(guī)則的警報(bào)、實(shí)時(shí)數(shù)據(jù)即時(shí)分析)的場(chǎng)景中超越了 Spark 流處理。

所有超大規(guī)模云提供商也提供了它們自己的解決方案。我建議在 2021 年選擇 Flink,而不是 Spark 或者專有云解決方案,因?yàn)樗趯?shí)時(shí)流處理方面具有無與倫比的能力。

12數(shù)據(jù)平臺(tái):其他人將追隨 Snowflake

現(xiàn)代數(shù)據(jù)架構(gòu)相當(dāng)復(fù)雜。它包含數(shù)據(jù)源、ETL 管道、數(shù)據(jù)倉(cāng)庫、數(shù)據(jù)湖、數(shù)據(jù)分析工具以及許多其它組件。下面是企業(yè)數(shù)據(jù)平臺(tái)(ABM AMRO 的數(shù)據(jù)平臺(tái))的一個(gè)示例:

Snowflake 通過提供一個(gè)集中的數(shù)據(jù)源、單平臺(tái),以及在它上面構(gòu)建許多不同的工作負(fù)載,從而徹底改變了現(xiàn)代數(shù)據(jù)架構(gòu)。在經(jīng)典架構(gòu)中,數(shù)據(jù)需要在不同的平臺(tái)上轉(zhuǎn)移,但在 Snowflake 中只有一個(gè)數(shù)據(jù)的“信源”。

這不是適用于所有情況的完美案例。但是對(duì)于大部分情況,這將普及并賦能數(shù)據(jù)平臺(tái)和數(shù)據(jù)倉(cāng)庫。正如甲骨文的 CEO 拉里·埃里森(Larry Ellison)所說,它已經(jīng)動(dòng)搖了數(shù)據(jù)倉(cāng)庫市場(chǎng):

在 2021 年,我預(yù)期更多的創(chuàng)新將為企業(yè)案例帶來像 Snowflake 一樣的單數(shù)據(jù)平臺(tái)。這對(duì)于許多公司將是一個(gè)巨大的幫助并改變游戲規(guī)則。

13快速應(yīng)用開發(fā):低代碼 / 無代碼將擴(kuò)展

快速的數(shù)字化轉(zhuǎn)型正創(chuàng)造巨大的軟件工程師供需缺口。盡管越來越多的新工程師加入這個(gè)行業(yè),但仍然不夠。近年來,低代碼 / 無代碼倡議的勢(shì)頭正越來越強(qiáng)勁。

市場(chǎng)上有許多低代碼 / 無代碼平臺(tái),主要是在 Web 開發(fā)領(lǐng)域,例如 Bubble。它們的成功也為 LCNC 在其它領(lǐng)域的開發(fā)鋪平了道路:無代碼應(yīng)用程序開發(fā)、無代碼人工智能、無代碼機(jī)器學(xué)習(xí)。LCNC 工具可以通過如下所述的好主意促進(jìn)業(yè)務(wù)或人員的發(fā)展:

而且,正如我去年預(yù)測(cè)的一樣,公有云提供商正提供 LCNC 服務(wù)。微軟提供 Power Apps,谷歌提供 AppSheet,AWS 提供 Honeycode 作為一個(gè) LCNC 平臺(tái)來快速構(gòu)建應(yīng)用程序。

在 2021 年,LCNC 將成為激烈競(jìng)爭(zhēng)的領(lǐng)域之一,有許多創(chuàng)新、合并和收購(gòu)。如果你是一個(gè)擁有偉大想法的個(gè)人或企業(yè),請(qǐng)關(guān)注 2021 年的 LCNC。

14軟件架構(gòu):微服務(wù)、單體式、無服務(wù)器將共存

近年來,微服務(wù)架構(gòu)成為大型企業(yè)應(yīng)用程序開發(fā)的首選。然而,設(shè)計(jì)微服務(wù)應(yīng)用程序比設(shè)計(jì)“一刀切”單體應(yīng)用程序要復(fù)雜得多。微服務(wù)架構(gòu)需要一組最佳實(shí)踐,正如我在下面這篇文章中所列出的:

像其它軟件架構(gòu)一樣,微服務(wù)也有它擅長(zhǎng)的用例和失敗的案例。它還需要一套設(shè)計(jì)模式,我總結(jié)如下:

最近,由于微服務(wù)架構(gòu)的復(fù)雜性和在某些用例中的失敗,人們對(duì)它產(chǎn)生了強(qiáng)烈的反感。Kelsey Hightower 在下面的推特中總結(jié)了對(duì)微服務(wù)的批評(píng):

這與我們幾年前所看的趨勢(shì)形成鮮明對(duì)比,當(dāng)時(shí)單體架構(gòu)受到批評(píng)并被視為過時(shí)的。實(shí)際上,單體架構(gòu)也是一種很好的架構(gòu),它特別適合我在下面這篇文章中提到的用例:

另一個(gè)近年來大肆宣傳的軟件架構(gòu)是無服務(wù)器架構(gòu)(Serverless Architecture)。亞馬遜開創(chuàng)了無服務(wù)器計(jì)算的先河,推出了開創(chuàng)性的 AWS Lambda 服務(wù),開發(fā)人員只編寫代碼,服務(wù)提供商托管服務(wù)器。這個(gè)架構(gòu)也有人炒作,有人批評(píng)。像單體架構(gòu)和微服務(wù)架構(gòu)一樣,無服務(wù)器架構(gòu)也不是萬能的,應(yīng)該用在它適合的地方(例如,事件驅(qū)動(dòng)和突發(fā)負(fù)載)。

在 2021 年,所有的軟件架構(gòu)(單體架構(gòu)、微服務(wù)、無服務(wù)器)都將共存,因?yàn)樗鼈兌加懈髯缘挠美蛢?yōu)缺點(diǎn)。我建議在大型企業(yè)開發(fā)中選擇微服務(wù)架構(gòu)(傳統(tǒng)上使用 SOA),在小型開發(fā)中使用單體架構(gòu),在事件驅(qū)動(dòng)和突發(fā)負(fù)載中選擇無服務(wù)器架構(gòu)。

15編程(主流):Python 和 JavaScript 將引領(lǐng)潮流

近些年,編程語言領(lǐng)域也經(jīng)歷了重大變化。傳統(tǒng)的偏重的編程語言的市場(chǎng)份額正逐漸被更簡(jiǎn)單且對(duì)開發(fā)人員更友好的編程語言所占據(jù)。在 2020 年 1 月,我對(duì)需求中的語言進(jìn)行了廣泛的分析,將 Python 和 JavaScript 分別放在第一位和第二位:

最后,最受歡迎的編程語言排名網(wǎng)站 TIOBE 承認(rèn)了這一變化,并將 Python 置于 Java 之上:

隨著軟件開發(fā)行業(yè)的蓬勃發(fā)展,以及大量新開發(fā)人員加入這個(gè)行業(yè),更簡(jiǎn)單、對(duì)開發(fā)人員更友好的編程語言將在 2021 年更受歡迎。

Python 是數(shù)據(jù)科學(xué)中排名第一的編程語言,在除了底層編程之外的幾乎所有其它領(lǐng)域也都是排名第二或第三的編程語言。

JavaScript 是 Web 開發(fā)領(lǐng)域毫無爭(zhēng)議的頭號(hào)語言,在其它領(lǐng)域(包括后端開發(fā))中也越來越流行。它也是初學(xué)者的絕佳語言。

Java 正慢慢喪失其作為最流行的編程語言的受歡迎程度。然而,由于其傳奇般的向后兼容性和不斷更新(6 個(gè)月的發(fā)布周期,polyglot Virtual Machine GraalVM),它仍然是企業(yè)軟件開發(fā)的首選編程語言。

C++ 是另一個(gè)近年來發(fā)生了重大變化的主流編程語言。幾天前剛剛發(fā)布了 C++20,它將完全改變 C++ 截至目前的編程方式。這是近年來最具破壞性的 C++ 版本之一,將極大地影響其在 2021 年及以后的流行度。

在 2021 年,主流編程語言將保持它們的地位,盡管它們會(huì)感受到來自現(xiàn)代編程語言的壓力。

16編程(現(xiàn)代):Rust 終將到來

最近幾年,編程領(lǐng)域的另一個(gè)有趣的趨勢(shì)是現(xiàn)代編程語言的興起。比較老的語言存在過去的包袱,不能快速變遷(Java),或者通過增加越來越多的功能而變得臃腫且令人望而卻步(C++)。

現(xiàn)代的比較新的編程語言沒有過去的包袱,能夠滿足當(dāng)今開發(fā)者的需求。它們大多非常關(guān)注開發(fā)人員的工效學(xué),支持現(xiàn)代功能,例如類型推理、null 安全性、表達(dá)力強(qiáng)、簡(jiǎn)潔。其中許多還被設(shè)計(jì)來利用現(xiàn)代硬件和現(xiàn)代基礎(chǔ)設(shè)施(云、多核、GPU、TPU)。

以 Rust、 Go、 Kotlin、 Swift、 TypeScript 為首的現(xiàn)代編程語言正日益流行,正如我在下面這篇帖子中預(yù)測(cè)的那樣:

這一趨勢(shì)將在 2021 年繼續(xù),因?yàn)樗鼈兪窃鲩L(zhǎng)最快的語言之一。

其中,隨著行業(yè)的注意,Rust 將在 2021 年取得突破。在過去 5 年中,根據(jù) Stack Overflow 開發(fā)者調(diào)研,它是最受喜愛的編程語言:

圖片圖片來源:Stack Overflow Developer Survey, 2020

科技巨頭終于在安全敏感的復(fù)雜項(xiàng)目中使用 Rust 而不是 C/C++。微軟最近聲明,他們將使用 Rust 來修復(fù)安全漏洞:

就在幾周前,亞馬遜宣布大力投入 Rust 并解釋了他們這樣做的原因:

谷歌的 Go 已經(jīng)是主流且成熟的編程語言。隨著 Go 2 release 規(guī)劃的大量改進(jìn),它將在未來獲得更多人氣。

JetBrain 的 Kotlin 已經(jīng)成為 JVM 生態(tài)系統(tǒng)中第二流行的類型化編程語言。在 Android 應(yīng)用開發(fā)中,它已經(jīng)超過了 Java:

微軟的 TypeScript 已經(jīng)成為 JavaScript 的類型化替代品。最近,隨著許多復(fù)雜項(xiàng)目(例如 Deno、 Vue.js)選擇 TypeScript 而不是 JavaScript,它的流行度大幅躍升:

蘋果公司的 Swift 已經(jīng)取代 Objective-C,成為 macOS 和 iOS 的首選編程語言。它在其它領(lǐng)域也有被采用。

在科技巨頭的支持下,預(yù)計(jì)包括 Rust 在內(nèi)的現(xiàn)代編程語言將在 2021 年獲得更多吸引力和普及使用。

17客戶端 Web 框架:React 將繼續(xù)統(tǒng)治

大多數(shù)面向用戶的企業(yè)應(yīng)用程序是 Web 應(yīng)用或移動(dòng)應(yīng)用。在 Web 開發(fā)中,基于 JavaScript/TypeScript 的客戶端 Web 框架已經(jīng)占據(jù)主導(dǎo)地位很多年了。趨勢(shì)是使用 JavaScript 框架進(jìn)行 UI 開發(fā),使用服務(wù)端框架進(jìn)行后端開發(fā),其中前后端是分離的服務(wù)。

Facebook 的 React 在客戶端 Web 框架中處于領(lǐng)先地位。它是行業(yè)中引領(lǐng)潮流且應(yīng)用最廣泛的框架。如果你想了解更多關(guān)于基于 JavaScript 的客戶端框架,可以閱讀我下面這篇文章:

如下圖所示,React 是目前下載量最多的客戶端 JavaScript 框架:

盡管如此,最流行的 Web 框架并不是 React,而是另一個(gè)基于 JavaScript 的 Web 框架——Vue.js:

Vue.js 在中國(guó)也是頭號(hào)框架,因?yàn)?Vue.js 的創(chuàng)造者(尤雨溪,Evan You)是一名華人前谷歌開發(fā)者。不幸的是,這種與中國(guó)的聯(lián)系引起了大企業(yè)的安全擔(dān)憂,Vue.js 在美國(guó) / 歐洲的采用率比較低。

谷歌的 Angular 落后于 React 和 Vue.js,但仍然是一個(gè)穩(wěn)定的框架。然而,最近最具革命性的 Web 框架是 Svelte。與其它框架不一樣,Svelte 是一個(gè)非運(yùn)行時(shí)框架,專注于編譯步驟。

在 2021 年,所有主流的基于 JavaScript 的框架都將彼此學(xué)習(xí),吸收其它框架的特性。在 2021 年,它們將更加趨同。

18服務(wù)端 Web 框架:面向企業(yè)的 Spring 和 ASP.NET

服務(wù)器端框架是端到端框架,提供端到端 Web 開發(fā),包括服務(wù)端渲染的視圖層。但是正如之前所說,如今的趨勢(shì)是只在后端使用它們。

基于 JVM 的 Spring 框架在企業(yè)開發(fā)領(lǐng)域是排名第一的服務(wù)端框架。它還提供開發(fā)小型和大型復(fù)雜應(yīng)用所需的所有必需功能:控制反轉(zhuǎn)、依賴注入、云原生開發(fā)、響應(yīng)式、事件驅(qū)動(dòng)應(yīng)用開發(fā)、快速應(yīng)用程序開發(fā)。在 2021 年,Spring 仍將保持企業(yè)的頭號(hào)后端框架。在之前的一篇文章中,我將 Spring 作為排名第一的服務(wù)端 Web 框架。

微軟的 ASP.NET Core 是另一個(gè)引人注目的 Web 框架,與流行的 JavaScript 框架(React、Vue.js、Angular)無縫協(xié)作。在 2021 年,ASP.NET Core 將成為企業(yè)服務(wù)端開發(fā)的主要選手。

許多初創(chuàng)公司和小型公司都希望有一個(gè)包括視圖層的端到端框架,以便快速開發(fā)應(yīng)用程序?;?Python 的 Django、 PHP Laravel 和 Ruby on Rails 在 2021 年將成為他們的絕佳選項(xiàng)。

19App 開發(fā):原生 App 將繼續(xù)占據(jù)主導(dǎo)地位

智能手機(jī)現(xiàn)在是我們?nèi)粘I畹囊徊糠?。智能手機(jī)用戶已經(jīng)達(dá)到 35 億,明年將達(dá)到 38 億:

圖片圖片來源:Statista

因此,移動(dòng)應(yīng)用對(duì)于終端用戶越來越重要,尤其是對(duì)于年輕一代來說。

在移動(dòng)應(yīng)用開發(fā)領(lǐng)域,有 4 個(gè)主要趨勢(shì):原生應(yīng)用開發(fā)、跨平臺(tái)應(yīng)用開發(fā)、混合應(yīng)用開發(fā)和基于云的應(yīng)用開發(fā)。

原生應(yīng)用開發(fā)提供了最高的靈活性,擁有最好的性能和用戶體驗(yàn)。但由于企業(yè)需要保留兩個(gè)獨(dú)立的團(tuán)隊(duì),因此開發(fā)成本最高。

跨平臺(tái)應(yīng)用開發(fā)正變得越來越流行,因?yàn)?iOS 和 Android 應(yīng)用開發(fā)可以使用相同的代碼庫。盡管開發(fā)成本低,但是不夠靈活,性能也不如原生應(yīng)用。

近年來,基于云的應(yīng)用變得越來越流行,其數(shù)據(jù)和主要業(yè)務(wù)邏輯保存在云端。特定設(shè)備的瘦客戶端被開發(fā)來連接云端并從中獲取數(shù)據(jù)。雖然對(duì)于數(shù)據(jù)密集的應(yīng)用程序是一個(gè)不錯(cuò)的選擇,但對(duì)于普通應(yīng)用開發(fā)來說,它還不是主流。

盡管跨平臺(tái)應(yīng)用開發(fā)正迎頭趕上,原生應(yīng)用開發(fā)仍然是企業(yè)普通應(yīng)用開發(fā)的更好的選擇。在 2021 年,一般企業(yè)將偏愛原生應(yīng)用開發(fā),而初創(chuàng)企業(yè)和小公司將偏愛跨平臺(tái)應(yīng)用開發(fā)。

20跨平臺(tái)應(yīng)用開發(fā):React Native 將占據(jù)主導(dǎo)地位,但 Flutter 將迎頭趕上

跨平臺(tái)應(yīng)用開發(fā)正變得越來越流行,因?yàn)樗拈_發(fā)成本比較低。市場(chǎng)上有許多跨平臺(tái)應(yīng)用開發(fā)平臺(tái),但 Flutter 和 React Native 是其中的領(lǐng)導(dǎo)者。

Facebook 的 React Native 是基于最流行的基于 JavaScript 的 Web 開發(fā)框架——React。它的口號(hào)是“一次學(xué)習(xí),隨處編寫。”Facebook 正積極開發(fā) React Native,用 27 億 Facebook 用戶測(cè)試其功能。如果一家企業(yè)已經(jīng)用了 React 來進(jìn)行 Web 開發(fā)和 React Native 來進(jìn)行 App 開發(fā),它們可以在 Web 和移動(dòng)開發(fā)中共享組件和代碼庫。另外,React Native 是基于 JavaScript 的,而 JavaScript 是最流行的編程語言之一。目前,React Native 比 Flutter 流行得多,如下所示:

在 2021 年,React 將主導(dǎo)跨平臺(tái)應(yīng)用開發(fā),因?yàn)?React 和 React Native 的性能會(huì)有一個(gè)重大更新。

谷歌的 Flutter 是一個(gè)相對(duì)比較新的框架,但近年來非常流行。它提供了一個(gè)功能強(qiáng)大的 UI 工具箱,用來從單一代碼庫構(gòu)建漂亮的原生編譯的移動(dòng)、桌面和 Web 應(yīng)用程序。然而,F(xiàn)lutter 還不像 React 那樣是 Web 開發(fā)中的主流框架。Flutter 使用了一種現(xiàn)代編程語言——Dart,一種快速發(fā)展的效率非常高的編程語言。就性能而言,F(xiàn)lutter 比 React 有優(yōu)勢(shì)。它還提供了更好的開發(fā)者工效學(xué),而且開發(fā)人員喜歡使用 Flutter 工作:

與 Facebook 全力支持 React Native 不同,谷歌在 Web 和 App 開發(fā)方面有很多框架(例如,用于 Web 開發(fā)的 Angular),沒有把所有精力都放在 Flutter 和 Dart 上。

綜上所述,我預(yù)測(cè) React Native 將在 2021 年繼續(xù)領(lǐng)先 Flutter,因?yàn)?Facebook 正計(jì)劃對(duì) React 生態(tài)系統(tǒng)(React Native 的致命弱點(diǎn))進(jìn)行重大性能提升。

21API: REST 面向業(yè)務(wù)應(yīng)用

微服務(wù)架構(gòu)和無服務(wù)器近些年正變得越來越流行。微服務(wù)或納米服務(wù)需要通信,通常,同步通信用得比事件驅(qū)動(dòng)的異步通信多。即使傳統(tǒng)的單體應(yīng)用是通過異步通信進(jìn)行通信的。

REST 是 2020 年最主要的 API 技術(shù)。REST 是一種基于 Web 技術(shù)的通信標(biāo)準(zhǔn)。它在行業(yè)中已經(jīng)有相當(dāng)一段時(shí)間了(20 年)。REST 和 SOAP 幾乎同時(shí)出現(xiàn),但當(dāng) SOAP 幾乎被認(rèn)為是遺留技術(shù)時(shí),REST 將繼續(xù)統(tǒng)治。無論是大型企業(yè)還是小型初創(chuàng)公司,都在使用 REST。在 2021 年,REST 仍將占據(jù)主導(dǎo)地位。

在 API 開發(fā)領(lǐng)域,也有一些優(yōu)秀的候選者。最突出的是谷歌的 gRPC。與 REST 不同,gRPC 是一個(gè)類似 SOAP 的 RPC 協(xié)議。谷歌吸取了舊 RPC 協(xié)議的教訓(xùn),創(chuàng)建了適合現(xiàn)代軟件開發(fā)需求的 gRPC。gRPC 使用高性能的消息格式 Protocol Buffers(也是由谷歌開發(fā)),而不是 JSON。因此,與 REST 相比,gRPC 性能更高、可讀性更差。在機(jī)器對(duì)機(jī)器的通信中,這是比較好的選擇。

另一種越來越流行的 API 技術(shù),尤其是對(duì)于 UI 開發(fā)者,是 Facebook 的 GraphQL。通常,UI 需要對(duì)后端進(jìn)行大量 API 調(diào)用來獲取所有它所需的數(shù)據(jù)。GraphQL 允許聚合 API 來減少 UI 和后端之間的通信。GraphQL 的一個(gè)主要缺點(diǎn)是,它不適合高安全性要求的開發(fā)。

這三者實(shí)際上都有各自的用例,可以相互補(bǔ)充,這種趨勢(shì)將在 2021 年繼續(xù)。

22結(jié)論

這里,我使用了當(dāng)前的趨勢(shì)、數(shù)據(jù)和事實(shí)對(duì) 2021 年最重要的軟件開發(fā)趨勢(shì)進(jìn)行了 21 個(gè)預(yù)測(cè)。整個(gè)軟件開發(fā)行業(yè)要大得多,我無法涵蓋所有重要的領(lǐng)域。

另外,我還簡(jiǎn)要地討論了一些話題,例如數(shù)據(jù)存儲(chǔ),它需要一篇單獨(dú)的文章。另一方面,我詳細(xì)寫了一些話題。另一個(gè)有趣的事實(shí)是,科技四巨頭:谷歌、Facebook、亞馬遜和微軟,是如何主導(dǎo)幾乎所有的軟件開發(fā)領(lǐng)域的。我希望這篇文章能讓你 360 度地了解 2021 年的軟件開發(fā)趨勢(shì)。

作者介紹:
Md Kamaruzzaman 軟件架構(gòu)師 | 技術(shù)作家 | 全棧 | 云 | 大數(shù)據(jù)
 

新聞留言

* 昵稱:

不能為空

* 內(nèi)容:

不能為空

相關(guān)新聞

售前咨詢熱線 133 0386 8801 售后咨詢熱線 180 3929 5297

微信搜索:上德智能科技

掃一掃官方微信