21個2021年軟體開發趨勢預測

2021-01-13 優易數據

導讀

對於軟體開發行業來說,2020 年是意義重大的一年,許多領域都取得了重大突破。本文將基於來自認證來源的數據、圖表和事實,根據過去來預測未來。如果你想要了解軟體行業在 2021 年會有哪些變化,請閱讀本文,本文涵蓋了雲、邊緣計算、容器、量子、區塊鏈、人工智慧、深度學習、批處理、流式處理、資料庫、編程、軟體架構、Web、App、低代碼、無代碼等重要方向。

本文最初發布於 Towards Data Science(《21 Predictions about the Software Development Trends in 2021》),由 InfoQ 翻譯並分享,轉載請註明出處。

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

好消息是我們馬上就會擁有疫苗,終於可以滿懷樂觀和希望迎接新的 2021 年。對於軟體開發行業來說,2020 年也是意義重大的一年,在許多領域都取得了重大突破。COVID-19 顯著加快了數位化轉型,而且 2021 年的數位化轉型趨勢會更明顯。

一年以前,我寫了一篇文章來預測 2020 年的軟體開發趨勢。在軟體開發行業,一年幾乎就是一光年。我沒有更新舊帖子,而是創建了一個新的預測清單,預測 2021 年軟體開發行業的重要技術趨勢。

做預測是一項有風險的任務。但是我會使用來自認證來源的數據、圖表和事實,根據過去來預測未來。如果你想要了解軟體行業在 2021 年有哪些變化,請閱讀本文。

集中式基礎設施:雲,無處不在的雲

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

像 Corona 這樣的全球性災難表明,我們不僅需要雲升級規模,也需要降低規模,例如,當我們的服務需求顯著下降時。想想旅遊和運輸行業,他們不得不維護昂貴的數據中心,儘管他們的市場下降了 90%。

Forrester 預測,全球公有雲 IT 基礎設施將在 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/

分散式基礎設施:邊緣計算將出現指數級增長

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

雖然邊緣計算是一個老概念,並且我們已經在內容交付網絡 (Content Delivery Network,CDN) 中使用邊緣計算,但近年來它正變得越來越流行。隨著互聯車輛(自動汽車、無人機)、在線遊戲、物聯網、智能設備和邊緣 AI/ML 的興起,邊緣計算將在 2021 年及以後成為一個巨大的市場。邊緣計算將在 2021 年成為關鍵的另一個原因是 5G 行動裝置的興起。

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

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 等許多服務的領導者。微軟也提供 Azure Stack Edge、Azure Edge Zone 等邊緣計算服務。谷歌也使用 Google Anthos 將它的數據中心服務轉移到終端用戶。

另一個集團是已經具備邊緣基礎設施的行業,例如電信公司、數據中心提供商、網絡提供商。如果它們能夠快速行動並利用它們的優勢(例如,現有的基礎設施),他們就有機會在這方面發揮領導作用。混合雲提供商 RedHat(IBM)憑藉其混合雲平臺 OpenShift 和 OpenStack 的參與,將成為這裡的關鍵選手。最近,三星與 IBM 合作開發邊緣計算解決方案:

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 是為邊緣計算制定開放標準,使邊緣計算供應商中立的倡議。最近 State of the Edge 成為了 Linux 基金會的一部分。與 CNCF 一樣,在 2021 年及以後,State of the Edge 也將獲得更多高光時刻。

請為 2021 年及以後邊緣計算領域的許多創新、融合、並肩戰鬥和標準化做好準備。

云:多雲會是未來

在公有雲供應商中,誰是領導者是毫無疑問的。在 2020 年第三季度,亞馬遜以 32% 的市場份額領跑公有雲市場,如下所示:

Global cloud infrastructure market Q3 2020

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

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

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

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

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

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

直到現在,亞馬遜還不願意加入多雲倡議來保護它的市場份額。但正如我們 10 年前在微軟身上看到的那樣,整個行業和社區比最大的單個公司更強大。最近,亞馬遜已經悄然加入了多雲倡議:

AWS quietly enters the multi-cloud era

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

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

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

這對整個行業來說是個好消息,正如我夢想的那樣,公司可以在多個雲上無縫部署它們的應用程式。

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

容器化是雲原生 IT 的核心技術,無論是公有雲、私有雲,甚至是邊緣計算。幾年來,Kubernetes 已經成為領先的容器編排和管理技術。就像 Linux 之前統治著數據中心一樣,Kubernetes 也統治著公有雲和私有雲。起初,谷歌是 Kubernetes 背後的主導力量,但是現在幾乎所有的巨頭科技公司都支持 Kubernetes。

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

在 2021 年,我們將看到更多對 Kubernetes 的採用,因為它是混合雲或多雲戰略的核心組件。非傳統企業應用程式,如 AI/ML、資料庫、數據平臺、無伺服器和邊緣計算應用程式也將轉移到 Kubernetes。

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

最近,Kubernetes 棄用 Docker 而支持 CRI,並計劃在 2021 年的後續 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 是容器生態系統中的巨頭,2021 年將會是 Docker 終結的開始。從好的方面看,CRI 和 OCI 在 2021 年會獲得更大的發展勢頭,尤其是基於 CRI 的容器將在 2021 年獲得巨大的爆發式增長。

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

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

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 年級數學學生,那麼量子計算就是像馬格努斯·卡爾斯(Magnus Carles)這樣的超級天才,他可以同時和 50 名普通象棋選手對弈,或者像歐拉(Euler)這樣的天才數學家。

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

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 是這個領域的兩個最大的選手。谷歌甚至推出了一個開源庫 TensorFlow Quantum (TFQ),用於製作量子機器學習模型的原型:

Google launches TensorFlow for quantum computers

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

亞馬遜也通過其 Amazon Braket 雲服務提供託管的量子計算服務。

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

區塊鏈:過山車仍將繼續

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

許多流氓實體利用比特幣 Bitcoin 的流行,製造詐騙項目來欺騙那些想在短時間內暴富的普通人。現在,區塊鏈正經歷炒作周期曲線的「幻滅低谷」。另外,政府正在幹預加密貨幣來防止詐騙。最近,中國政府查獲了一個加密貨幣詐騙「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 年發布了它的加密貨幣 Libra,但在 2020 年面臨巨大的監管壓力:

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

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

在 2021 年,區塊鏈將更多地作為一種智能合約機制使用,有望進入「啟蒙斜坡(Slope of Englishtenment)」階段。區塊鏈將在 2021 年獲得重大爆發,中國已經將它納入 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

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

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

在自然語言處理領域,GPT-3 是 2020 年 5 月取得的最大的突破。美國公司 OpenAI 創建了 GPT-3,使得使用深度學習創建類似人類的文本成為可能。僅僅過了 4 個月,當《衛報》用 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 年,自然語言處理將取得突破性進展,人工智慧將撰寫文章或編寫小型應用程式。

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

人工智慧並不是沒有偏見的,有道德的人工智慧正變得越來越有吸引力。人工智慧領域的另一個主要趨勢是可解釋的人工智慧,即人工智慧為什麼做出某種決定需要一個解釋。在 2021 年,隨著歐盟對解釋人工智慧的決定製定法規,這些領域將取得重大進展。

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

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/

人工智慧也將成為未來中國數字基礎設施的核心:

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/

預計到 2021 年,人工智慧會有許多令人振奮的創新和平民化。

深度學習庫:TensorFlow 2.0 和 PyTorch

谷歌和 Facebook 是深度學習和神經網絡領域的兩大主導者。谷歌的主要業務是搜索能力,它是自然語言處理領域的領先創新者。Facebook 的主要業務是社交網絡,它必須處理圖像、視頻和文本。在圖像處理領域,Facebook 是技術領導者,有許多創新。

出自谷歌的 TensorFlow 是深度學習領域的領先的庫,但是 2016 年 Facebook 發布了 PyTorch 後一切都發生了變化。PyTorch 使用動態圖而不是(TensorFlow 使用的)靜態圖,並且對 Python 更加友好。作為回應,谷歌在 2019 年創建了 TensorFlow 2.0,複製了 PyTorch 的很多功能(動態圖、對 Python 友好)。它還與谷歌的 Collab 完美結合(Collab 是一款非常現代且功能強大的筆記本)。從那時起,谷歌的 TensorFlow 2.0 就越來越受歡迎。目前,根據 Stack Overflow 開發者調研 2020,TensorFlow 是最流行的深度學習框架:

圖片來源:Stack Overflow Developer Survey, 2020

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

圖片來源:Stack Overflow Developer Survey, 2020

在 2021 年,TensorFlow 2.0 和 PyTorch 將成為企業和社區的「首選」庫。擁有 TensorFlow 代碼庫或者想要使用 Collab 筆記本的企業應該使用 TensorFlow 2.0。剛進入深度學習或者想要繼續使用 Juypter 筆記本的企業或個人應該選擇 PyTorch。

數據存儲:一個尺寸不能填滿所有

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

我們最近看到了所謂的全球分布式 ACID 事務資料庫或者 NewSQL 資料庫。谷歌憑藉 Google Spanner 成為這個領域的領導者,Google Spanner 是首個水平讀 / 寫可伸縮的 ACID 兼容資料庫。亞馬遜也有一個水平可擴展 ACID 兼容資料庫,Amazon Aurora,提供幾乎所有的 SQL 功能,但沒有水平寫入伸縮。除了超大規模雲提供商之外,CockroachDB 也是一個非常突出的 NewSQL 或分布式 SQL 資料庫。

在 2021 年,數據存儲生態系統將保持現在的樣子,有很多選擇。沒有一種資料庫可以滿足所有的目的。在 2021 年,選擇正確的數據也將是一個非常具有挑戰性的任務,需要仔細考慮。

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

數據密集型計算:Spark 將繼續領先

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

這一趨勢將在 2021 年繼續,Spark 將被用作數據密集型計算的首選平臺。Spark 是一個基於 JVM 的系統,需要非常大的資源,你將得到一份巨大的雲帳單。但不幸的是,目前還沒有一個資源節約型的框架能匹配 Spark 的能力和成熟度。

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

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

近年來,隨著企業拋棄傳統的 Lambda 架構,轉而使用實時流處理框架,實時流處理正變得越來越流行。

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

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

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

數據平臺:其他人將追隨 Snowflake

現代數據架構相當複雜。它包含數據源、ETL 管道、數據倉庫、數據湖、數據分析工具以及許多其它組件。下面是企業數據平臺(ABM AMRO 的數據平臺)的一個示例:

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

Snowflake 通過提供一個集中的數據源、單平臺,以及在它上面構建許多不同的工作負載,從而徹底改變了現代數據架構。在經典架構中,數據需要在不同的平臺上轉移,但在 Snowflake 中只有一個數據的「信源」。

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

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 年,我預期更多的創新將為企業案例帶來像 Snowflake 一樣的單數據平臺。這對於許多公司將是一個巨大的幫助並改變遊戲規則。

快速應用開發:低代碼 / 無代碼將擴展

快速的數位化轉型正創造巨大的軟體工程師供需缺口。儘管越來越多的新工程師加入這個行業,但仍然不夠。近年來,低代碼 / 無代碼倡議的勢頭正越來越強勁。

市場上有許多低代碼 / 無代碼平臺,主要是在 Web 開發領域,例如 Bubble。它們的成功也為 LCNC 在其它領域的開發鋪平了道路:無代碼應用程式開發、無代碼人工智慧、無代碼機器學習。LCNC 工具可以通過如下所述的好主意促進業務或人員的發展:

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

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

而且,正如我去年預測的一樣,公有雲提供商正提供 LCNC 服務。微軟提供 Power Apps,谷歌提供 AppSheet,AWS 提供 Honeycode 作為一個 LCNC 平臺來快速構建應用程式。

在 2021 年,LCNC 將成為激烈競爭的領域之一,有許多創新、合併和收購。如果你是一個擁有偉大想法的個人或企業,請關注 2021 年的 LCNC。

軟體架構:微服務、單體式、無伺服器將共存

近年來,微服務架構成為大型企業應用程式開發的首選。然而,設計微服務應用程式比設計「一刀切」單體應用程式要複雜得多。微服務架構需要一組最佳實踐,正如我在下面這篇文章中所列出的:

Effective Microservices: 10 Best Practices

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

像其它軟體架構一樣,微服務也有它擅長的用例和失敗的案例。它還需要一套設計模式,我總結如下:

Microservice Architecture and its 10 Most Important Design Patterns

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

最近,由於微服務架構的複雜性和在某些用例中的失敗,人們對它產生了強烈的反感。Kelsey Hightower 在下面的推特中總結了對微服務的批評:

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

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

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

在 2021 年,所有的軟體架構(單體架構、微服務、無伺服器)都將共存,因為它們都有各自的用例和優缺點。我建議在大型企業開發中選擇微服務架構(傳統上使用 SOA),在小型開發中使用單體架構,在事件驅動和突發負載中選擇無伺服器架構。

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

近些年,程式語言領域也經歷了重大變化。傳統的偏重的程式語言的市場份額正逐漸被更簡單且對開發人員更友好的程式語言所佔據。在 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

最後,最受歡迎的程式語言排名網站 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/

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

Python 是數據科學中排名第一的程式語言,在除了底層編程之外的幾乎所有其它領域也都是排名第二或第三的程式語言。

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

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

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

在 2021 年,主流程式語言將保持它們的地位,儘管它們會感受到來自現代程式語言的壓力。

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

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

現代的比較新的程式語言沒有過去的包袱,能夠滿足當今開發者的需求。它們大多非常關注開發人員的工效學,支持現代功能,例如類型推理、null 安全性、表達力強、簡潔。其中許多還被設計來利用現代硬體和現代基礎設施(雲、多核、GPU、TPU)。

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

Top 7 Modern programming languages to learn now

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

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

其中,隨著行業的注意,Rust 將在 2021 年取得突破。在過去 5 年中,根據 Stack Overflow 開發者調研,它是最受喜愛的程式語言:

圖片來源:Stack Overflow Developer Survey, 2020

科技巨頭終於在安全敏感的複雜項目中使用 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 已經是主流且成熟的程式語言。隨著 Go 2 release 規劃的大量改進,它將在未來獲得更多人氣。

JetBrain 的 Kotlin 已經成為 JVM 生態系統中第二流行的類型化程式語言。在 Android 應用開發中,它已經超過了 Java:

Android's commitment to Kotlin

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

微軟的 TypeScript 已經成為 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 已經取代 Objective-C,成為 macOS 和 iOS 的首選程式語言。它在其它領域也有被採用。

在科技巨頭的支持下,預計包括 Rust 在內的現代程式語言將在 2021 年獲得更多吸引力和普及使用。

客戶端 Web 框架:React 將繼續統治

大多數面向用戶的企業應用程式是 Web 應用或移動應用。在 Web 開發中,基於 JavaScript/TypeScript 的客戶端 Web 框架已經佔據主導地位很多年了。趨勢是使用 JavaScript 框架進行 UI 開發,使用服務端框架進行後端開發,其中前後端是分離的服務。

Facebook 的 React 在客戶端 Web 框架中處於領先地位。它是行業中引領潮流且應用最廣泛的框架。如果你想了解更多關於基於 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 框架:

圖片來源:NPM trends

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

圖片來源:作者

Vue.js 在中國也是頭號框架,因為 Vue.js 的創造者(尤雨溪,Evan You)是一名華人前谷歌開發者,不過Vue.js 在美國 / 歐洲的採用率比較低。

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

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

服務端 Web 框架:面向企業的 Spring 和 ASP.NET

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

基於 JVM 的 Spring 框架在企業開發領域是排名第一的服務端框架。它還提供開發小型和大型複雜應用所需的所有必需功能:控制反轉、依賴注入、雲原生開發、響應式、事件驅動應用開發、快速應用程式開發。在 2021 年,Spring 仍將保持企業的頭號後端框架。在之前的一篇文章中,我將 Spring 作為排名第一的服務端 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)無縫協作。在 2021 年,ASP.NET Core 將成為企業服務端開發的主要選手。

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

App 開發:原生 App 將繼續佔據主導地位

智慧型手機現在是我們日常生活的一部分。智慧型手機用戶已經達到 35 億,明年將達到 38 億:

圖片來源:Statista

因此,移動應用對於終端用戶越來越重要,尤其是對於年輕一代來說。

在移動應用開發領域,有 4 個主要趨勢:原生應用開發、跨平臺應用開發、混合應用開發和基於雲的應用開發。

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

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

近年來,基於雲的應用變得越來越流行,其數據和主要業務邏輯保存在雲端。特定設備的瘦客戶端被開發來連接雲端並從中獲取數據。雖然對於數據密集的應用程式是一個不錯的選擇,但對於普通應用開發來說,它還不是主流。

儘管跨平臺應用開發正迎頭趕上,原生應用開發仍然是企業普通應用開發的更好的選擇。在 2021 年,一般企業將偏愛原生應用開發,而初創企業和小公司將偏愛跨平臺應用開發。

跨平臺應用開發:React Native 將佔據主導地位,但 Flutter 將迎頭趕上

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

Facebook 的 React Native 是基於最流行的基於 JavaScript 的 Web 開發框架——React。它的口號是「一次學習,隨處編寫。」Facebook 正積極開發 React Native,用 27 億 Facebook 用戶測試其功能。如果一家企業已經用了 React 來進行 Web 開發和 React Native 來進行 App 開發,它們可以在 Web 和移動開發中共享組件和代碼庫。另外,React Native 是基於 JavaScript 的,而 JavaScript 是最流行的程式語言之一。目前,React Native 比 Flutter 流行得多,如下所示:

圖片來源:Stack Overflow Developer Survey, 2020

在 2021 年,React 將主導跨平臺應用開發,因為 React 和 React Native 的性能會有一個重大更新。

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

圖片來源:Stack Overflow Developer Survey, 2020

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

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

API: REST 面向業務應用

微服務架構和無伺服器近些年正變得越來越流行。微服務或納米服務需要通信,通常,同步通信用得比事件驅動的異步通信多。即使傳統的單體應用是通過異步通信進行通信的。

REST 是 2020 年最主要的 API 技術。REST 是一種基於 Web 技術的通信標準。它在行業中已經有相當一段時間了(20 年)。REST 和 SOAP 幾乎同時出現,但當 SOAP 幾乎被認為是遺留技術時,REST 將繼續統治。無論是大型企業還是小型初創公司,都在使用 REST。在 2021 年,REST 仍將佔據主導地位。

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

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

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

結論

這裡,我使用了當前的趨勢、數據和事實對 2021 年最重要的軟體開發趨勢進行了 21 個預測。整個軟體開發行業要大得多,我無法涵蓋所有重要的領域。

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

作者介紹:

Md Kamaruzzaman 軟體架構師 | 技術作家 | 全棧 | 雲 | 大數據

原文連結:

21 Predictions about the Software Development Trends in 2021

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

—END—

因平臺規則更改,大家有時會與推送擦肩而過。

相關焦點

  • 2021年軟體開發趨勢預測
    對於軟體開發行業來說,2020 年是意義重大的一年,許多領域都取得了重大突破。本文將基於來自認證來源的數據、圖表和事實,根據過去來預測未來。 好消息是我們馬上就會擁有疫苗,終於可以滿懷樂觀和希望迎接新的 2021 年。對於軟體開發行業來說,2020 年是意義重大的一年,在許多領域都取得了重大突破。COVID-19 顯著加快了數位化轉型,而且 2021 年的數位化轉型趨勢會更明顯。
  • 2021年JS框架預測和IT領域技術趨勢
    這裡我們不是要分出高下,而是想看看哪些技術在 2021 年最可能為你找到(或留住)一份出色的工作。我們還會探討一些更宏觀層面的技術趨勢。下面的下載趨勢中也有一些證據可以支持這個結論。調查方法:在 Indeed.com 上搜索招聘信息。為了消除誤報,我在搜索內容中加入關鍵字「軟體」,以提高相關性。我還從「Vue.js」中省略了「.js」,因為許多結果中都不包含「.js」。所有 SERPS 均按日期排序,並抽查相關性。
  • 2021年科技趨勢是什麼?戴爾科技CTO做了重要預測
    在此背景下,戴爾科技集團全球CTO John Roese日前接受了筆者的視頻採訪,就2021年的重要科技趨勢做了預測。在他看來,量子計算、異構計算、邊緣計算以及5G將會在今年得到更大的發展,同時也會影響到企業和社會的方方面面。在此過程中,也會引領我們走向下一輪的創新並發揮出更大的價值和作用。
  • Behance報告:2021年UI設計流行趨勢
    2020年即將結束,Behance為設計師們總結了一些2021年UI設計流行的趨勢,趕緊來看看吧! UI/IXD設計 1. App vs 移動端網站 在2021年,設計師們的重點仍然是「移動優先」!
  • 2021年重要的機器學習和A人工智慧的發展趨勢
    2021年重要的機器學習和A人工智慧的發展趨勢 Priya Dialani 發表於 2020-12-03 14:41:33 機器學習如今已經成為一種眾所周知的創新技術
  • 中國物流信息化市場調研與趨勢預測報告(2021-2027年)
    《中國物流信息化市場調研與趨勢預測報告(2021-2027年)》對物流信息化行業相關因素進行具體調查、研究、分析,洞察物流信息化行業的發展方向、物流信息化行業競爭格局的演變趨勢以及物流信息化技術標準、物流信息化市場規模、物流信息化行業潛在問題與物流信息化行業發展的癥結所在,
  • 2021-2027年中國五金配件市場現狀及前景趨勢預測報告
    《2021-2027年中國五金配件市場現狀及前景趨勢預測報告》主要依據國家統計局、發改委、國務院發展研究中心、國家信息中心、五金配件相關協會的基礎信息以及五金配件科研單位等提供的大量資料,對五金配件行業發展環境、五金配件產業鏈、五金配件市場規模、五金配件重點企業等進行了深入研究,並對五金配件行業市場前景及五金配件發展趨勢進行預測。
  • 2021-2027年中國霧霾治理行業調研與前景趨勢預測報告
    《2021-2027年中國霧霾治理行業調研與前景趨勢預測報告》針對當前霧霾治理行業發展面臨的機遇與威脅,提出霧霾治理行業發展投資及戰略建議。-2027年霧霾治理市場發展趨勢預測分析0    一、2021-2027年霧霾治理行業發展趨勢預測分析0      1、技術發展趨勢預測6      2、產品發展趨勢預測1
  • UX辭典說|Behance解讀2021年6大新趨勢!
    全球疫情大爆發造成了數月的隔離,這讓大家不免對2021年充滿期待。如此不安分的一年,也讓20年的設計趨勢沒有發生太大變化,延續至2021年。 3D仍會繼續扮演重要角色,出現在其他設計分支中,比如一直被平面設計所主導的UI,風格也逐漸趨同。各式免費3D軟體、插件的層出不窮也降低了其學習門檻,像Figma或Dimensions CC等軟體,都非常適合新手學習。
  • 百度研究院2021年十大科技趨勢預測:數字人、虛擬人將大批量出現...
    2020年開始,全球經濟與社會陷入諸多不確定性當中。面對嶄新的2021,讀懂未來的科技趨勢發展,可能從未像今天一般重要。1月13日,百度研究院發布2021年十大科技趨勢預測,包括人工智慧、生物計算、AI晶片、量子計算等前沿技術及相關產業,技術創新與產業應用發展緊密融合,既有技術前瞻性也具備產業指導價值。
  • 中國離合器助力器行業市場調研與前景趨勢預測報告(2021-2027年)
    《中國離合器助力器行業市場調研與前景趨勢預測報告(2021-2027年)》內容嚴謹、數據翔實,通過輔以大量直觀的圖表幫助離合器助力器行業企業準確把握離合器助力器行業發展動向、正確制定企業發展戰略和投資策略。
  • 2021-2027年中國平板電腦行業市場調研與前景趨勢預測報告
    《2021-2027年中國平板電腦行業市場調研與前景趨勢預測報告》主要研究分析了平板電腦行業市場運行態勢並對平板電腦行業發展趨勢作出預測。    三、2021-2027年中國平板電腦市場需求量預測分析  第四節 中國平板電腦價格趨勢預測    一、2016-2020年中國平板電腦市場價格趨勢預測分析    二、2021-2027年中國平板電腦市場價格走勢預測分析第七章 2016-2020年平板電腦行業經濟運行  第一節 2016-2020年中國平板電腦行業盈利能力分析
  • 解碼百度研究院2021年十大科技趨勢預測,「看透」未來的力量
    原標題:解碼百度研究院2021年十大科技趨勢預測,「看透」未來的力量 難忘的2020年已經過去,新的一年仍然有很大的不確定性,但由信息技術主導的科技革命與產業變革趨勢卻更加明顯。2021年,我們的科技將有什麼變化?這些變化又將給我們的社會經濟帶來什麼樣的影響?
  • 2021-2027年全球與中國造紙施膠劑市場現狀及趨勢預測報告
    《2021-2027年全球與中國造紙施膠劑市場現狀及趨勢預測報告》最後闡明造紙施膠劑行業的投資空間,指明投資方向,提出研究者的戰略建議,以供投資決策者參考。  《2021-2027年全球與中國造紙施膠劑市場現狀及趨勢預測報告》是相關造紙施膠劑企業、研究單位、政府等準確、全面、迅速了解造紙施膠劑行業發展動向、制定發展戰略不可或缺的專業性報告。
  • 百度研究院2021年十大科技趨勢預測:生物計算迎爆發、無監督學習...
    2020年開始,全球經濟與社會陷入諸多不確定性當中。面對嶄新的2021,讀懂未來的科技趨勢發展,可能從未像今天一般重要。1月13日,百度研究院發布2021年十大科技趨勢預測,包括人工智慧、生物計算、AI晶片、量子計算等前沿技術及相關產業,技術創新與產業應用發展緊密融合,既有技術前瞻性也具備產業指導價值。
  • IDC發布2021年中國製造業10大預測
    IDC近日發布的《IDC FutureScape:全球製造業2021年預測——中國啟示》,為製造企業的高管提供了在未來60 個月內製造業IT 及其IT 所支持的業務發展趨勢,報告標識了這些預測發生作用的未來時間和受影響的業務領域,以及相對的複雜性和成本。每個預測包括IT 對業務的影響和對於製造企業的行動指南。
  • 2021年版中國工業清洗市場調研與發展趨勢預測報告
    中國產業調研網發布的2021年版中國工業清洗市場調研與發展趨勢預測報告認為,多年來,我國工業清洗行業重引進,輕消化吸收、再創新,技術裝備研製能力不足,以至於新產品開發依然沒有擺脫對進口設備和產品的依賴局面,大型清洗裝備,特別是關鍵技術裝備,仍需從國外引進,而且重複引進現象嚴重。科研院所轉制後,行業基礎性研究和共性技術開發工作被削弱,研究力量也很分散。
  • 卡巴斯基實驗室的預測:2021年金融組織面對的網絡威脅有哪些?
    首先讓我們回顧一下2020年的關鍵事件,然後在對2021年金融組織面對的網絡威脅做出預測。通常,攻擊者利用一個或多個漏洞,然後將其轉售給具有財務動機的黑客,包括有針對性的勒索軟體運營商。針對銀行的勒索軟體攻擊:各種針對性的勒索軟體組織已經攻擊了全世界的銀行,例如哥斯大黎加、智利和塞席爾。這三個案件已被媒體報導,Maze組織對哥斯大黎加的襲擊事件負責,REvil (Sodinokibi)是智利襲擊事件的幕後主使。
  • IEEE計算機學會發布2021技術預測,計算技術未來發展趨勢是什麼?
    預計2021年的12大技術趨勢如下: Remote Workforce Technologies:用於遠程工作的工具,政策和法規將迅速發展,改善現有的遠程角色,並擴展到目前尚無理想解決方案的用例,例如教育,製造和醫療保健。
  • 2021-2027年全球與中國香料煙行業現狀及發展趨勢預測報告
    中國產業調研網發布的《2021-2027年全球與中國香料煙行業現狀及發展趨勢預測報告》數據及時全面、圖表豐富、反映直觀,在對香料煙市場發展現狀和趨勢進行深度分析和預測的基礎上,研究了香料煙行業今後的發展前景,為香料煙企業在當前激烈的市場競爭中洞察投資機會,合理調整經營策略;為香料煙戰略投資者選擇恰當的投資時機,公司領導層做戰略規劃,提供市場情報信息以及合理參考建議