1. <del id="beud3"></del>
      1. <dfn id="beud3"></dfn>
      2. 21個2021年軟件開發(fā)趨勢匯總

        摘要

        對于軟件開發(fā)行業(yè)來說,2020 年是意義重大的一年,許多領(lǐng)域都取得了重大突破。本文將基于來自認(rèn)證來源的數(shù)據(jù)、圖表和事實,根據(jù)過去來預(yù)測未來。如果你想要了解軟件行業(yè)在


        對于軟件開發(fā)行業(yè)來說,2020 年是意義重大的一年,許多領(lǐng)域都取得了重大突破。本文將基于來自認(rèn)證來源的數(shù)據(jù)、圖表和事實,根據(jù)過去來預(yù)測未來。如果你想要了解軟件行業(yè)在 2021 年會有哪些變化,請閱讀本文,本文涵蓋了云、邊緣計算、容器、量子、區(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 這樣的全球性大流行病。它影響了我們星球上所有的國家、部門和幾乎所有的個人。

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

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


        《20 個 2020 年軟件開發(fā)趨勢預(yù)測》、


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

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



        1

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


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

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

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



        Amazon to help 29 million people grow their tech skills with free cloud computing skills training

        https://go.forrester.com/blogs/predictions-2021-cloud-computing-powers-pandemic-recovery/

        2

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


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

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

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



        Out on edge: The new cloud battleground isn't in the cloud at all - SiliconANGLE

        https://siliconangle.com/2020/12/01/edge-new-cloud-battleground-isnt-cloud/


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

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



        Samsung, IBM to Develop Edge Computing, 5G and Hybrid Cloud Solutions for Industry 4.0

        https://www.thefastmode.com/technology-solutions/18721-samsung-ibm-to-develop-edge-computing-5g-and-hybrid-cloud-solutions-for-industry-4-0


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

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



        3

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


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



        Global cloud infrastructure market Q3 2020

        https://www.canalys.com/newsroom/worldwide-cloud-market-q320


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

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

        在 2021 年,亞馬遜和微軟將分別保持第一和第二的位置。然而,阿里巴巴將在 2021 年取代谷歌,因為它在 2020 年第三季度的市場份額為 6%,僅次于谷歌。

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



        Microsoft, AWS among C2E cloud provider contract awardees - Washington Business Journal

        https://www.bizjournals.com/washington/news/2020/11/20/microsoft-aws-among-c2e-cloud-contract-awardees.html


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



        AWS quietly enters the multi-cloud era

        https://www.protocol.com/manuals/new-enterprise/aws-multicloud-era


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

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

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



        4

        容器化:Kubernets 稱王,Docker 將退場


        容器化是云原生 IT 的核心技術(shù),無論是公有云、私有云,甚至是邊緣計算。幾年來,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 年,我們將看到更多對 Kubernetes 的采用,因為它是混合云或多云戰(zhàn)略的核心組件。非傳統(tǒng)企業(yè)應(yīng)用程序,如 AI/ML、數(shù)據(jù)庫、數(shù)據(jù)平臺、無服務(wù)器和邊緣計算應(yīng)用程序也將轉(zhuǎn)移到 Kubernetes。

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

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



        Kubernetes to deprecate Docker container runtime in v1.22 - SD Times

        https://sdtimes.com/kubernetes/kubernetes-to-deprecate-docker-container-runtime-in-v1-22/


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



        5

        計算:量子計算將得到推動


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



        10 Predictions about the Software Development trends in the 2030s

        https://towardsdatascience.com/10-predictions-about-the-software-development-trends-in-the-2030s-2fab86c5f661


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

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



        Honeywell Says It Has Built The World's Most Powerful Quantum Computer

        https://www.forbes.com/sites/davidjeans/2020/06/19/honeywell-says-it-has-built-the-worlds-most-powerful-quantum-computer/?sh=b8772137cd46


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



        Google launches TensorFlow for quantum computers

        https://thenextweb.com/neural/2020/03/09/google-launches-tensorflow-for-quantum-computers/


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

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

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



        Qiskit Learn

        https://qiskit.org/learn/

        6

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


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

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



        Chinese Authorities Have Seized a Massive $4B in Crypto From PlusToken Scam - CoinDesk

        https://www.coindesk.com/chinese-authorities-have-seized-a-massive-4-billion-in-crypto-from-plustoken-scam


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



        Facebook is shifting its Libra cryptocurrency plans after intense regulatory pressure

        https://www.theverge.com/2020/3/3/21163658/facebook-libra-cryptocurrency-token-ditching-plans-calibra-wallet-delay


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

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



        Blockchain Officially Included in China's 50 Trillion "New Infrastructure" Plan | NEWS.8BTC.COM

        https://news.8btc.com/blockchain-officially-included-in-chinas-50-trillion-new-infrastructure-plan

        7

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


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

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



        A robot wrote this entire article. Are you scared yet, human? | GPT-3

        https://www.theguardian.com/commentisfree/2020/sep/08/robot-wrote-this-article-gpt-3


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

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

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

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



        U-2 Flies with Artificial Intelligence as Its Co-Pilot - Air Force Magazine

        https://www.airforcemag.com/u-2-flies-with-artificial-intelligence-as-its-co-pilot/


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



        AI is Key to China Infrastructure Plan, as is AI Talent

        https://www.enterpriseai.news/2020/06/24/ai-key-to-china-infrastructure-plan-as-is-ai-talent/


        預(yù)計到 2021 年,人工智能會有許多令人振奮的創(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 使用動態(tài)圖而不是(TensorFlow 使用的)靜態(tài)圖,并且對 Python 更加友好。作為回應(yīng),谷歌在 2019 年創(chuàng)建了 TensorFlow 2.0,復(fù)制了 PyTorch 的很多功能(動態(tài)圖、對 Python 友好)。它還與谷歌的 Collab 完美結(jié)合(Collab 是一款非常現(xiàn)代且功能強大的筆記本)。從那時起,谷歌的 TensorFlow 2.0 就越來越受歡迎。目前,根據(jù) Stack Overflow 開發(fā)者調(diào)研 2020,TensorFlow 是最流行的深度學(xué)習(xí)框架:

        1622537580245784.png

        圖片來源:Stack Overflow Developer Survey, 2020

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

        1622537678380388.jpg

        圖片來源:Stack Overflow Developer Survey, 2020

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



        9

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


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

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

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

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



        10

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


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

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

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



        11

        實時流處理:Flink 將是明顯的選擇


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

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

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

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



        12

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


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

        1622537708531305.png

        https://medium.com/abn-amro-developer/abn-amros-data-integration-architecture-f33506a211c3

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

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



        Oracle's Larry Ellison Admits Snowflake Is a Killer: 'It's Killing Amazon Redshift'

        https://cloudwars.co/oracle/oracles-larry-ellison-admits-snowflake-is-killing-amazon-redshift/


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



        13

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


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

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



        Low-code platforms will save your business. Here's how.

        https://www.techrepublic.com/article/low-code-platforms-will-save-your-business-heres-how/


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

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



        14

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


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



        Effective Microservices: 10 Best Practices

        https://towardsdatascience.com/effective-microservices-10-best-practices-c6e4ba0c6ee2


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



        Microservice Architecture and its 10 Most Important Design Patterns

        https://towardsdatascience.com/microservice-architecture-and-its-10-most-important-design-patterns-824952d7fa41


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

        1622537746153316.jpg

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



        Looking Beyond the Hype: Is Modular Monolithic Software Architecture Really Dead?

        https://towardsdatascience.com/looking-beyond-the-hype-is-modular-monolithic-software-architecture-really-dead-e386191610f8


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

        在 2021 年,所有的軟件架構(gòu)(單體架構(gòu)、微服務(wù)、無服務(wù)器)都將共存,因為它們都有各自的用例和優(yōu)缺點。我建議在大型企業(yè)開發(fā)中選擇微服務(wù)架構(gòu)(傳統(tǒng)上使用 SOA),在小型開發(fā)中使用單體架構(gòu),在事件驅(qū)動和突發(fā)負(fù)載中選擇無服務(wù)器架構(gòu)。



        15

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


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



        Top 10 In-Demand programming languages to learn in 2020

        https://towardsdatascience.com/top-10-in-demand-programming-languages-to-learn-in-2020-4462eb7d8d3e


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



        TIOBE Index: Python slithers ahead of Java for the first time

        https://developer-tech.com/news/2020/nov/06/tiobe-index-python-ahead-java-first-time/


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

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

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

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

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

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



        16

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


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

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

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



        Top 7 Modern programming languages to learn now

        https://towardsdatascience.com/top-7-modern-programming-language-to-learn-now-156863bd1eec


        這一趨勢將在 2021 年繼續(xù),因為它們是增長最快的語言之一。

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

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



        Microsoft: Here's why we love programming language Rust and kicked off Project Verona | ZDNet

        https://www.zdnet.com/article/microsoft-heres-why-we-love-programming-language-rust-and-kicked-off-project-verona/


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



        Amazon AWS Invests In Rust

        https://www.i-programmer.info/news/98-languages/14183-amazon-aws-invests-in-rust.html


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

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



        Android's commitment to Kotlin

        https://android-developers.googleblog.com/2019/12/androids-commitment-to-kotlin.html


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



        TypeScript Surges in GitHub Octoverse 2020 Report -- Visual Studio Magazine

        https://visualstudiomagazine.com/articles/2020/12/03/octoverse-2020.aspx


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

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



        17

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


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

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



        Top 5 In-Demand JavaScript Frameworks for Front-End Development in 2020

        https://medium.com/javascript-in-plain-english/top-5-in-demand-javascript-frameworks-for-front-end-development-in-2020-a59c4340d082


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

        1622537788276603.jpg

        圖片來源:NPM trends

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

        1622537813629252.png

        圖片來源:作者

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

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

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



        18

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


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

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



        Top 10 In-Demand Web Development Frameworks in 2021

        https://towardsdatascience.com/top-10-in-demand-web-development-frameworks-in-2021-8a5b668be0d6


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

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



        19

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


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

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

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

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

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

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

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



        20

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


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

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

        在 2021 年,React 將主導(dǎo)跨平臺應(yīng)用開發(fā),因為 React 和 React Native 的性能會有一個重大更新。

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

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

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



        21

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


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

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

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

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

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



        22

        結(jié)論


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

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



        作者介紹

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

        原文鏈接

        https://towardsdatascience.com/21-predictions-about-the-software-development-trends-in-2021-600bfa048be

        軟件開發(fā),2021軟件開發(fā),軟件開發(fā)難不難   時間:   閱讀:   來源:

        欧美性爱中文字幕在线播放,亚洲av片不卡无码影视,国产av原创国片精品有毛,亚洲成av人无码综合在线观看 欧美一级婬片人妻欧美大 亚洲v日韩v精品v下载

        1. <del id="beud3"></del>
          1. <dfn id="beud3"></dfn>