<center id="6ukye"><dd id="6ukye"></dd></center><rt id="6ukye"><dl id="6ukye"></dl></rt>
  • <center id="6ukye"><dd id="6ukye"></dd></center>
    <menu id="6ukye"><acronym id="6ukye"></acronym></menu>
    <rt id="6ukye"><em id="6ukye"></em></rt>
    <rt id="6ukye"></rt>
  • <strike id="6ukye"><code id="6ukye"></code></strike>
    <menu id="6ukye"><noscript id="6ukye"></noscript></menu>
    
    
  • 21個2021年軟件開發(fā)趨勢匯總

    摘要

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


    對于軟件開發(fā)行業(yè)來說,2020 年是意義重大的一年,許多領(lǐng)域都取得了重大突破。本文將基于來自認證來源的數(shù)據(jù)、圖表和事實,根據(jù)過去來預(yù)測未來。如果你想要了解軟件行業(yè)在 2021 年會有哪些變化,請閱讀本文,本文涵蓋了云、邊緣計算、容器、量子、區(qū)塊鏈、人工智能、深度學習、批處理、流式處理、數(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ù)測是一項有風險的任務(wù)。但是我會使用來自認證來源的數(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ī)模,例如,當我們的服務(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)導者。微軟也提供 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)導作用。混合云提供商 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 是為邊緣計算制定開放標準,使邊緣計算供應(yīng)商中立的倡議。最近 State of the Edge 成為了 Linux 基金會的一部分。與 CNCF 一樣,在 2021 年及以后,State of the Edge 也將獲得更多高光時刻。

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



    3

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


    在公有云供應(yīng)商中,誰是領(lǐng)導者是毫無疑問的。在 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 背后的主導力量,但是現(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)有一些倡議來標準化容器格式和運行時,其中兩個在最近幾年得到了巨大的推動。一方面是 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


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

    在 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),用于制作量子機器學習模型的原型:



    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,使得使用深度學習創(chuàng)建類似人類的文本成為可能。僅僅過了 4 個月,當《衛(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

    深度學習庫:TensorFlow 2.0 和 PyTorch


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

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

    1622537580245784.png

    圖片來源:Stack Overflow Developer Survey, 2020

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

    1622537678380388.jpg

    圖片來源:Stack Overflow Developer Survey, 2020

    在 2021 年,TensorFlow 2.0 和 PyTorch 將成為企業(yè)和社區(qū)的“首選”庫。擁有 TensorFlow 代碼庫或者想要使用 Collab 筆記本的企業(yè)應(yīng)該使用 TensorFlow 2.0。剛進入深度學習或者想要繼續(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)導者,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ù),需要仔細考慮。

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



    10

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


    就在幾年前,Hadoop 還是數(shù)據(jù)密集型計算或分布式批處理任務(wù)的默認選擇。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)相當復雜。它包含數(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)建許多不同的工作負載,從而徹底改變了現(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ā)、無代碼人工智能、無代碼機器學習。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)用程序要復雜得多。微服務(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)的復雜性和在某些用例中的失敗,人們對它產(chǎn)生了強烈的反感。Kelsey Hightower 在下面的推特中總結(jié)了對微服務(wù)的批評:

    1622537746153316.jpg

    這與我們幾年前所看的趨勢形成鮮明對比,當時單體架構(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ā)負載)。

    在 2021 年,所有的軟件架構(gòu)(單體架構(gòu)、微服務(wù)、無服務(wù)器)都將共存,因為它們都有各自的用例和優(yōu)缺點。我建議在大型企業(yè)開發(fā)中選擇微服務(wù)架構(gòu)(傳統(tǒng)上使用 SOA),在小型開發(fā)中使用單體架構(gòu),在事件驅(qū)動和突發(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 承認了這一變化,并將 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ù)科學中排名第一的編程語言,在除了底層編程之外的幾乎所有其它領(lǐng)域也都是排名第二或第三的編程語言。

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

    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)代的比較新的編程語言沒有過去的包袱,能夠滿足當今開發(fā)者的需求。它們大多非常關(guān)注開發(fā)人員的工效學,支持現(xiàn)代功能,例如類型推理、null 安全性、表達力強、簡潔。其中許多還被設(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)研,它是最受喜愛的編程語言:

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



    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 的類型化替代品。最近,隨著許多復雜項目(例如 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ù)主導地位很多年了。趨勢是使用 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è)的安全擔憂,Vue.js 在美國 / 歐洲的采用率比較低。

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

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



    18

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


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

    基于 JVM 的 Spring 框架在企業(yè)開發(fā)領(lǐng)域是排名第一的服務(wù)端框架。它還提供開發(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ù)主導地位


    智能手機現(xiàn)在是我們?nèi)粘I畹囊徊糠。智能手機用戶已經(jīng)達到 35 億,明年將達到 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ù)主導地位,但 Flutter 將迎頭趕上


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

    Facebook 的 React Native 是基于最流行的基于 JavaScript 的 Web 開發(fā)框架——React。它的口號是“一次學習,隨處編寫!盕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 將主導跨平臺應(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ā)者工效學,而且開發(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ù)的通信標準。它在行業(yè)中已經(jīng)有相當一段時間了(20 年)。REST 和 SOAP 幾乎同時出現(xiàn),但當 SOAP 幾乎被認為是遺留技術(shù)時,REST 將繼續(xù)統(tǒng)治。無論是大型企業(yè)還是小型初創(chuàng)公司,都在使用 REST。在 2021 年,REST 仍將占據(jù)主導地位。

    在 API 開發(fā)領(lǐng)域,也有一些優(yōu)秀的候選者。最突出的是谷歌的 gRPC。與 REST 不同,gRPC 是一個類似 SOAP 的 RPC 協(xié)議。谷歌吸取了舊 RPC 協(xié)議的教訓,創(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é)論


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

    另外,我還簡要地討論了一些話題,例如數(shù)據(jù)存儲,它需要一篇單獨的文章。另一方面,我詳細寫了一些話題。另一個有趣的事實是,科技四巨頭:谷歌、Facebook、亞馬遜和微軟,是如何主導幾乎所有的軟件開發(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ā)難不難   時間:   閱讀:   來源:

    免费国产口爆吞精视频在线,久久久中文字幕人妻,亚洲国产欧美日本精品,亚洲精品偷拍无码专区
    <center id="6ukye"><dd id="6ukye"></dd></center><rt id="6ukye"><dl id="6ukye"></dl></rt>
  • <center id="6ukye"><dd id="6ukye"></dd></center>
    <menu id="6ukye"><acronym id="6ukye"></acronym></menu>
    <rt id="6ukye"><em id="6ukye"></em></rt>
    <rt id="6ukye"></rt>
  • <strike id="6ukye"><code id="6ukye"></code></strike>
    <menu id="6ukye"><noscript id="6ukye"></noscript></menu>