21個(gè)2021年軟件開發(fā)趨勢預(yù)測
2020年是最近歷史上前所未有的一年。在過去的一百年中,人類沒有經(jīng)歷過像COVID-19這樣的全球性大流行。它影響了我們星球上的所有國家,部門和幾乎所有個(gè)人。
好消息是,我們已經(jīng)準(zhǔn)備好疫苗,終于可以充滿樂觀和希望,迎接新的一年2021年。
2020年對于軟件開發(fā)行業(yè)來說是重要的一年,在許多領(lǐng)域都取得了明顯的突破。COVID-19大大加快了數(shù)字化轉(zhuǎn)型,到2021年這種趨勢將更加明顯。
在軟件開發(fā)行業(yè),一年幾乎就像光明的一年。我沒有更新舊帖子,而是創(chuàng)建了一份新的預(yù)測列表,以預(yù)測我對2021年軟件開發(fā)行業(yè)的期望。
進(jìn)行預(yù)測是一項(xiàng)冒險(xiǎn)的任務(wù)。但是,我將使用來自身份驗(yàn)證來源的數(shù)據(jù),數(shù)據(jù)和事實(shí),并結(jié)合過去對未來做出預(yù)測。如果您想了解2021在其軟件開發(fā)行業(yè)商店中的功能,請閱讀。
1. 集中式基礎(chǔ)架構(gòu):云,無處不在的云
在COVID-19期間,盡管有少數(shù)行業(yè),但大多數(shù)行業(yè)遭受了重創(chuàng)。云計(jì)算是先驅(qū)行業(yè),在大流行期間,它實(shí)際上比以往任何時(shí)候都更加強(qiáng)大。如果在云采用方面存在任何疑問和不確定性,COVID-19消除了這一點(diǎn)。
像新冠病毒這樣的全球性災(zāi)難表明,我們不僅需要Cloud進(jìn)行高端升級,還需要Cloud進(jìn)行縮減規(guī)模,即當(dāng)我們的服務(wù)需求大幅下降時(shí)。考慮一下盡管其市場下降了90%,但必須維護(hù)昂貴的數(shù)據(jù)中心的旅游業(yè)和運(yùn)輸業(yè)。
Forrester預(yù)測,全球公共云IT基礎(chǔ)設(shè)施市場將增長到2021年的3,5%,達(dá)到1200億美元。
無論您身處哪個(gè)行業(yè)(政府,新興企業(yè),農(nóng)業(yè),醫(yī)療保健,銀行),都應(yīng)計(jì)劃云遷移,因?yàn)檎麄€(gè)世界早日遷移到云。2021年及以后,對云原生工程師的需求將大大短缺。
如果您是IT工程師,請?zhí)寥魏蜯OOC(大規(guī)模在線公開課程)以獲取您的云證書。好消息是,其中許多公司在新冠期間提供免費(fèi)的幾個(gè)月服務(wù)。此外,主要的公共云提供商都提供免費(fèi)課程。最近最大的公共云提供商亞馬遜宣布,他們將在2021年至2025年之間為2900萬人提供免費(fèi)的云計(jì)算培訓(xùn)。
2. 去中心化基礎(chǔ)架構(gòu):邊緣計(jì)算將呈指數(shù)增長
與我們希望擁有一個(gè)集中式的數(shù)據(jù)和計(jì)算能力數(shù)據(jù)中心的公共云相反,在許多情況下,我們想要相反的情況,即最終用戶附近的數(shù)據(jù)和計(jì)算能力。其中一些是非常低的延遲(5到20毫秒),高帶寬,監(jiān)管原因,實(shí)時(shí)用例,智能而強(qiáng)大的最終用戶設(shè)備等。
盡管邊緣計(jì)算是一個(gè)古老的概念,并且我們在內(nèi)容交付網(wǎng)絡(luò)(CDN)中使用邊緣計(jì)算,但近年來它越來越流行。隨著互聯(lián)汽車(無人駕駛汽車,無人機(jī)),在線游戲,物聯(lián)網(wǎng),智能設(shè)備和邊緣AI / ML的興起,邊緣計(jì)算將在2021年及以后成為一個(gè)巨大的市場。邊緣計(jì)算將在2021年成為關(guān)鍵技術(shù)的另一個(gè)關(guān)鍵原因是5G移動(dòng)設(shè)備的興起。
在2021年,兩組行業(yè)將爭奪Edge計(jì)算的市場份額。一組將是公共云提供商,例如Amazon,Microsoft,Google。
再次重申,亞馬遜是提供許多服務(wù)(例如AWS Snow系列,AWS IoT Greengrass)的領(lǐng)導(dǎo)者。Microsoft還通過Azure Stack Edge,Azure Edge Zone提供邊緣服務(wù)。Google還通過Google Anthos將其數(shù)據(jù)中心服務(wù)移交給了最終用戶。
另一類是已經(jīng)具有邊緣基礎(chǔ)架構(gòu)的行業(yè),例如電信公司,數(shù)據(jù)中心提供商,網(wǎng)絡(luò)提供商。如果他們能夠快速行動(dòng)并利用自己的優(yōu)勢(即現(xiàn)有的基礎(chǔ)架構(gòu)),那么他們將有機(jī)會(huì)在這里發(fā)揮領(lǐng)導(dǎo)作用。混合云提供商RedHat(IBM)將憑借其混合云平臺(tái)OpenShift和參與OpenStack成為主要參與者。最近,三星與IBM合作開發(fā)邊緣計(jì)算解決方案。
邊緣狀態(tài)是主動(dòng)制定邊緣計(jì)算開放標(biāo)準(zhǔn),以使邊緣計(jì)算供應(yīng)商中立。最近,《邊緣狀態(tài)》成為Linux基金會(huì)的一部分。與CNCF一樣,《邊緣狀態(tài)》也將在2021年及以后獲得更多發(fā)展。
為2021年及以后的邊緣計(jì)算中的許多創(chuàng)新,合并,并駕齊驅(qū)和標(biāo)準(zhǔn)化做準(zhǔn)備。
3. 云:AWS處于領(lǐng)先地位,但多云將是未來
在公共云供應(yīng)商中,毫無疑問誰是領(lǐng)導(dǎo)者。2020年第三季度,亞馬遜以32%的市場份額領(lǐng)先公有云市場。
微軟憑借其云產(chǎn)品又迎來了強(qiáng)勁的一年,并在2020年實(shí)現(xiàn)了48%的年增長率.2020年第三季度,微軟的市場份額為19%,而2019年第三季度的市場份額為17%。
截至目前,谷歌是第三大公共云提供商,其在2020年第三季度的市場份額為7%。
在2021年,亞馬遜和微軟將分別保持第一和第二的位置。但是,阿里巴巴將在2021年超過第三名,因?yàn)樗?020年第三季度的市場份額中僅次于Google,僅次于Google。
此外,多云計(jì)劃將在2021年獲得更大的發(fā)展勢頭。許多公司也開始采用多云戰(zhàn)略。CIA最近將其云合同授予了多個(gè)供應(yīng)商,而不是單個(gè)供應(yīng)商。
到目前為止,亞馬遜還不愿意加入多云計(jì)劃以保護(hù)其市場份額。但是,正如我們十年前在Microsoft上所看到的那樣,整個(gè)行業(yè)和社區(qū)都比最大的單個(gè)公司還大。最近,亞馬遜默默地加入了多云計(jì)劃。
云原生計(jì)算基金會(huì)(CNCF)在多云運(yùn)動(dòng)中起著關(guān)鍵作用,可以說已經(jīng)超越了Linux基金會(huì)。在2021年,我們可以看到CNCF的增長更多。此外,像HashiCorp這樣的多云服務(wù)提供商將在2021年變得更加重要。
一些出色的項(xiàng)目還提供與流行的特定于供應(yīng)商的特定Cloud Services的API兼容性,例如MinIO(提供與AWS S3兼容的Object Storage)。在2021年,將會(huì)有諸如MinIO之類的更多舉措,使我們能夠輕松提升和轉(zhuǎn)移流行的供應(yīng)商鎖服務(wù)。
對于整個(gè)行業(yè)來說,這是個(gè)好消息,因?yàn)槲覊粝胫粋€(gè)公司可以無縫地將應(yīng)用程序部署在多云中的世界。
4. 容器化:Kubernetes為王,而Docker將淡出
容器化是云本機(jī)IT的核心技術(shù),無論是公有云,私有云,還是邊緣計(jì)算。幾年來,Kubernetes已經(jīng)確立了自己作為領(lǐng)先的容器編排和管理技術(shù)的地位。就像Linux以前統(tǒng)治數(shù)據(jù)中心一樣,Kubernetes統(tǒng)治著公共云和私有云領(lǐng)域。最初,谷歌是領(lǐng)導(dǎo)Kubernetes的領(lǐng)導(dǎo)力量,但是現(xiàn)在幾乎所有的Giant Tech公司都將其力量放在Kubernetes后面。
所有主要的公共云提供商現(xiàn)在都在提供托管的Kubernetes服務(wù)(Amazon EKS,Azure AKS,Google GKE)以及托管的容器化服務(wù)。另一方面,RedHat通過OpenShift在私有云中提供托管Kubernetes服務(wù)。
在2021年,我們將看到更多采用Kubernetes的方法,因?yàn)樗腔旌显苹蚨嘣撇呗缘暮诵慕M件。AI / ML,數(shù)據(jù)庫,數(shù)據(jù)平臺(tái),無服務(wù)器和邊緣計(jì)算等非傳統(tǒng)企業(yè)應(yīng)用程序也將遷移到Kubernetes。
另一方面,Docker逐漸失去了其作為Conternization Technology的魅力。已經(jīng)有一些標(biāo)準(zhǔn)化容器格式和運(yùn)行時(shí)的計(jì)劃,其中有兩個(gè)在最近幾年受到了極大的關(guān)注。一種是Kubernetes領(lǐng)導(dǎo)的容器運(yùn)行時(shí)接口(CRI)。另一個(gè)是Linux基金會(huì)牽頭的開放容器倡議(OCI)。
最近,Kubernetes已棄用Docker,轉(zhuǎn)而支持CRI,并計(jì)劃在即將到來的Kubernetes版本(1.22)中于2021年末完全刪除Docker。
由于Kubernetes是容器化生態(tài)系統(tǒng)中重達(dá)800磅的大猩猩,因此2021年將是Docker終結(jié)的起點(diǎn)。從好的方面來看,CRI和OCI將在2021年獲得更大的發(fā)展動(dòng)力,尤其是基于CRI的集裝箱將在2021年獲得巨大的推動(dòng)力。
5. 計(jì)算:量子計(jì)算將獲得發(fā)展動(dòng)力
量子計(jì)算是此列表中最具革命性的技術(shù)。像數(shù)字計(jì)算機(jī)一樣,它具有影響每個(gè)部門的潛力。我創(chuàng)建了2030年代最熱門的技術(shù)列表,而Quantum Computing排名第一。
透視一下:如果我們將當(dāng)今最先進(jìn)的超級計(jì)算機(jī)視為普通人,例如國際象棋玩家或8年級數(shù)學(xué)學(xué)生,那么量子計(jì)算就是像Magnus Carles這樣的Supergenius,他可以玩50副平均國際象棋。一次或天才的數(shù)學(xué)家像歐拉這樣的球員。
2020年,量子計(jì)算領(lǐng)域取得了一些重大突破和進(jìn)步。霍尼韋爾在2020年6月宣稱自己創(chuàng)造了功能最強(qiáng)大的量子計(jì)算機(jī),超越了谷歌之前的記錄。
僅幾天前,來自中國科學(xué)技術(shù)大學(xué)(USTC)的一組科學(xué)家表明,量子計(jì)算機(jī)可以在特定任務(wù)(高斯玻色子采樣)上輕松擊敗最先進(jìn)的經(jīng)典超級計(jì)算機(jī)。
許多政府和技術(shù)巨頭都在探索和投資量子計(jì)算。Google和IBM是該領(lǐng)域中最大的兩家。Google甚至啟動(dòng)了一個(gè)開源庫TensorFlow Quantum(TFQ),用于對Quantum Machine學(xué)習(xí)模型進(jìn)行原型設(shè)計(jì)。
亞馬遜還通過其Amazon Braket Cloud Service提供托管量子計(jì)算服務(wù)。
考慮到巨大的興趣及其無限的可能性,2021年的《計(jì)算機(jī)量子》將有一些突破和令人jaw目結(jié)舌的發(fā)現(xiàn)。
如果您想探索量子計(jì)算,那么可以使用開源SDK qiskit,它也提供免費(fèi)課程。
6. 區(qū)塊鏈:過山車將繼續(xù)
區(qū)塊鏈(分布式賬本)也是最近開發(fā)的主要破壞性技術(shù)之一。從技術(shù)角度來看,它具有改變整個(gè)行業(yè)的潛力。盡管加密貨幣在普及該技術(shù)方面發(fā)揮了主要作用。在Gartner的"炒作周期"曲線的"通脹預(yù)期峰值"中,該技術(shù)也發(fā)揮了重要作用。
許多流氓實(shí)體利用比特幣的流行性,并創(chuàng)建了騙局項(xiàng)目,以欺騙想要在短時(shí)間內(nèi)致富的普通百姓。現(xiàn)在,區(qū)塊鏈正在經(jīng)歷炒作周期曲線的"幻滅低谷"。此外,政府正在干預(yù)加密貨幣以防止欺詐。最近,中國政府沒收了一個(gè)加密貨幣騙局" Plus Token Ponzi"。
Facebook在2019年發(fā)布了Cryptocurrency Libra,但在2020年受到了巨大的監(jiān)管壓力。
以太坊等其他開源區(qū)塊鏈正在將代碼放入?yún)^(qū)塊中,從而有可能將其用作智能合約,這是區(qū)塊鏈的未來。
到2021年,區(qū)塊鏈將更多地用作智能合約機(jī)制,并有望進(jìn)入"啟蒙運(yùn)動(dòng)"階段。隨著中國將其雄心勃勃的500萬億"新基礎(chǔ)設(shè)施"計(jì)劃納入其中,區(qū)塊鏈將在2021年獲得重大推動(dòng)。
7. 人工智能:人工智能將為所有人服務(wù)
作為近來最熱門的技術(shù)之一,人工智能在2020年也取得了許多突破。另一個(gè)有趣的趨勢是,人工智能以"人人享有AI"的口號開始慢慢進(jìn)入所有領(lǐng)域。
在自然語言處理領(lǐng)域,GPT-3是2020年5月最大的突破。美國公司OpenAI創(chuàng)建了GPT-3,這使得使用深度學(xué)習(xí)創(chuàng)建類似于人的文本成為可能。僅四個(gè)月后,使用GPT-3撰寫了以下《衛(wèi)報(bào)》文章,整個(gè)世界同時(shí)感到驚訝和震驚。
2021年,自然語言處理將取得突破,人工智能將在其中編寫文章或編寫小型軟件程序。
另一個(gè)有趣的開發(fā)是AutoML 2.0,它支持自動(dòng)化功能工程。到2021年,全周期AI自動(dòng)化將取得重大進(jìn)步,人工智能將進(jìn)一步民主化。
人工智能并非一帆風(fēng)順,道德的人工智能正變得越來越受關(guān)注。AI的另一個(gè)主要趨勢是可解釋的AI,這將需要解釋為什么AI做出了某個(gè)決定。到2021年,隨著歐盟制定法規(guī)解釋AI的決定,這些領(lǐng)域?qū)⑷〉弥卮筮M(jìn)展。
人工智能還將在2021年及以后的航空業(yè)中得到廣泛采用。就在幾天前,美國空軍使用AI作為副駕駛員駕駛飛機(jī)。
未來,人工智能還將成為中國基于數(shù)字基礎(chǔ)設(shè)施的核心。
預(yù)計(jì)2021年人工智能將有許多令人振奮的創(chuàng)新和民主化。
8. 深度學(xué)習(xí)庫:它將是TensorFlow 2.0和PyTorch
Google和Facebook是深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)領(lǐng)域的兩個(gè)主要參與者。Google的主要業(yè)務(wù)是搜索功能,并且是自然語言處理領(lǐng)域的領(lǐng)先創(chuàng)新者。Facebook的主要業(yè)務(wù)是社交網(wǎng)絡(luò),它必須處理圖像,視頻和文本。在圖像處理方面,F(xiàn)acebook是眾多創(chuàng)新技術(shù)的領(lǐng)導(dǎo)者。
谷歌的TensorFlow是深度學(xué)習(xí)領(lǐng)域的領(lǐng)先圖書館,但2016年Facebook發(fā)布PyTorch時(shí)一切都發(fā)生了變化。PyTorch使用動(dòng)態(tài)圖代替靜態(tài)圖(由TensorFlow使用),并且對Python更友好。谷歌對此做出了回應(yīng),在2019年創(chuàng)建了TensorFlow 2.0,該版本復(fù)制了許多PyTorch功能(動(dòng)態(tài)圖,Python友好性)。它還可以與Google的Collab(一款非常強(qiáng)大的現(xiàn)代筆記本電腦)完美配合。從那時(shí)起,Google享受了TensorFlow 2.0受歡迎程度的回升。根據(jù)2020年Stack Overflow開發(fā)者調(diào)查,TensorFlow目前是最受歡迎的深度學(xué)習(xí)框架:
> Source: Stack Overflow Developer Survey, 2020
另一方面,開發(fā)人員喜歡與PyTorch合作,以獲取更好的開發(fā)人員人體工程學(xué)設(shè)計(jì),因?yàn)樗荛_發(fā)人員的喜愛:
> Source: Stack Overflow Developer Survey, 2020
同樣在2021年,TensorFlow 2.0和PyTorch將成為企業(yè)和社區(qū)的"首選"庫。擁有現(xiàn)有TensorFlow代碼庫或想要使用Collab Notebook的公司應(yīng)使用TensorFlow 2.0。深度學(xué)習(xí)新手或想要繼續(xù)使用Juypter Notebook的公司或個(gè)人應(yīng)選擇PyTorch。
9. 數(shù)據(jù)存儲(chǔ):一種尺寸不會(huì)填充全部
現(xiàn)代數(shù)據(jù)庫環(huán)境充滿了選擇和廣泛的變化。我們有經(jīng)典的SQL數(shù)據(jù)庫,主要是四大數(shù)據(jù)庫:MySQL,Oracle,MS-SQL,PostgreSQL。我們還有NoSQL數(shù)據(jù)庫,它主要包括數(shù)據(jù)庫系列:文檔數(shù)據(jù)庫,鍵值數(shù)據(jù)庫,寬列數(shù)據(jù)庫,時(shí)間序列數(shù)據(jù)庫,搜索數(shù)據(jù)庫,圖形數(shù)據(jù)庫。還有許多其他類型的數(shù)據(jù)存儲(chǔ)。
最近,我們看到了所謂的全球分布式ACID事務(wù)數(shù)據(jù)庫或NewSQL數(shù)據(jù)庫的熱潮。Google憑借其Google Spanner(首個(gè)水平可讀寫ACID兼容水平數(shù)據(jù)庫)在這里處于領(lǐng)先地位。亞馬遜還具有可水平擴(kuò)展且符合ACID要求的數(shù)據(jù)庫Amazon Aurora,該數(shù)據(jù)庫提供幾乎所有SQL功能,但不提供水平寫入擴(kuò)展。在超大規(guī)模云提供商之外,CockroachDB還是一個(gè)非常杰出的NewSQL或分布式SQL數(shù)據(jù)庫。
到2021年,數(shù)據(jù)存儲(chǔ)生態(tài)系統(tǒng)將保持不變,并具有許多選擇。不會(huì)有可以滿足所有目的的Master數(shù)據(jù)庫。同樣在2021年,經(jīng)過仔細(xì)考慮,選擇正確的數(shù)據(jù)庫將是一項(xiàng)非常具有挑戰(zhàn)性的任務(wù)。
許多流行的數(shù)據(jù)庫已更改其許可證(MongoDB,Cassandra,Redis,Kafka),因?yàn)槌笠?guī)模云提供商(尤其是亞馬遜)濫用了其創(chuàng)新技術(shù)并賺了錢而沒有償還。這一趨勢將在2021年持續(xù)下去,其他初創(chuàng)公司或創(chuàng)新型公司將使用限制性更強(qiáng)的許可證來保護(hù)自己免受惡意云提供商的侵害。
10. 數(shù)據(jù)密集型計(jì)算:Spark將繼續(xù)保持領(lǐng)先地位
僅在幾年前,Hadoop是數(shù)據(jù)密集型計(jì)算或分布式批處理作業(yè)的默認(rèn)選擇。Apache Spark當(dāng)前是首選的供應(yīng)商中性分布式批處理作業(yè)平臺(tái),在大多數(shù)情況下幾乎替代了Hadoop。
這一趨勢將在2021年持續(xù)下去,Spark將被用作數(shù)據(jù)密集型計(jì)算的首選平臺(tái)。Spark是一個(gè)基于JVM的系統(tǒng),占用大量資源,您將獲得巨額的Cloud費(fèi)用。但不幸的是,目前還沒有資源節(jié)約型的Spark強(qiáng)大和成熟的框架。
所有主要的云提供商都擁有自己的Cloud Native解決方案,以進(jìn)行數(shù)據(jù)密集型計(jì)算。我的兩分錢建議是在2021年使用Spark over Cloud特定解決方案,以避免供應(yīng)商鎖定。
11. 實(shí)時(shí)流:Flink將是顯而易見的選擇
近年來,隨著企業(yè)拋棄傳統(tǒng)的Lambda體系結(jié)構(gòu),轉(zhuǎn)而支持實(shí)時(shí)流處理框架,實(shí)時(shí)流變得越來越流行。
另外,這里存在兩種類型的框架。一個(gè)是由Spark Streaming領(lǐng)導(dǎo)的基于Micro-Batch的平臺(tái)。另一個(gè)是由Apache Flink領(lǐng)導(dǎo)的低延遲流處理平臺(tái)。
對于需要實(shí)時(shí)流傳輸?shù)膱鼍?欺詐檢測,異常檢測,基于規(guī)則的警報(bào),實(shí)時(shí)數(shù)據(jù)的臨時(shí)分析),Apache Flink排除了Spark Streaming。
所有Hyperscale云提供商都提供自己的解決方案。我建議您在2021年選擇基于Spark的Flink或?qū)S械脑平鉀Q方案,因?yàn)樗趯?shí)時(shí)流處理方面具有無與倫比的功能。
12. 數(shù)據(jù)平臺(tái):其他玩家將跟隨Snowflake
現(xiàn)代數(shù)據(jù)架構(gòu)非常復(fù)雜。它包含數(shù)據(jù)源,ETL管道,數(shù)據(jù)倉庫,數(shù)據(jù)湖,數(shù)據(jù)分析工具以及許多其他組件。這是企業(yè)數(shù)據(jù)平臺(tái)(ABM AMRO的數(shù)據(jù)平臺(tái))的示例使用案例:

Snowflake通過提供一個(gè)集中式數(shù)據(jù)源,一個(gè)平臺(tái)并在其上構(gòu)建許多不同的工作負(fù)載,徹底改變了現(xiàn)代數(shù)據(jù)體系結(jié)構(gòu)。在經(jīng)典體系結(jié)構(gòu)中,數(shù)據(jù)需要在不同的階段移動(dòng),但是Snowflake中只有一個(gè)"數(shù)據(jù)的真實(shí)來源"。
對于所有人來說,這都不是完美的用例。但是,對于許多人來說,它將使數(shù)據(jù)平臺(tái)和數(shù)據(jù)倉庫民主化并增強(qiáng)其功能。甲骨文首席執(zhí)行官拉里·埃里森(Larry Ellison)分享了它已經(jīng)動(dòng)搖了數(shù)據(jù)倉庫市場。
我希望在2021年能有更多的創(chuàng)新,使Snowflake像一個(gè)單一的企業(yè)級數(shù)據(jù)平臺(tái)一樣。對于許多公司來說,這將是一個(gè)巨大的幫助和改變游戲規(guī)則。
13. 快速的應(yīng)用開發(fā):低代碼/無代碼將擴(kuò)展
快速的數(shù)字化轉(zhuǎn)型在軟件工程師的供需方面造成了巨大的差距。盡管越來越多的新開發(fā)人員加入該行業(yè),但這還遠(yuǎn)遠(yuǎn)不夠。近年來,"低代碼/無代碼"計(jì)劃正在獲得發(fā)展。
市場上有許多低代碼/無代碼平臺(tái),主要是在Web開發(fā)中,如Bubble。他們的成功也為其他領(lǐng)域的LCNC開發(fā)鋪平了道路:無代碼應(yīng)用程序開發(fā),無代碼AI,無代碼機(jī)器學(xué)習(xí)。LCNC工具可以促進(jìn)業(yè)務(wù)或具有出色創(chuàng)意的人。
而且,正如我去年所預(yù)測的,公共云提供商正在提供LCNC服務(wù)。微軟提供Power Apps,谷歌提供AppSheet,AWS提供Honeycode作為LCNC平臺(tái),以快速構(gòu)建應(yīng)用。
在2021年,LCNC將成為眾多創(chuàng)新,合并和收購的熱門領(lǐng)域之一。如果您是個(gè)有創(chuàng)意的個(gè)人或企業(yè),請注意2021年的LCNC。
14. 軟件架構(gòu):微服務(wù),巨石架構(gòu),無服務(wù)器將共存
近年來,微服務(wù)架構(gòu)已成為大規(guī)模企業(yè)應(yīng)用程序開發(fā)中的首選。但是,設(shè)計(jì)微服務(wù)應(yīng)用程序比"一種尺寸適合所有人"的整體應(yīng)用程序要復(fù)雜得多。正如我在以下文章中列出的那樣,微服務(wù)架構(gòu)需要一套最佳實(shí)踐。
像任何其他軟件體系結(jié)構(gòu)一樣,微服務(wù)也有其出色的用例和失敗的極端案例。正如我在這里總結(jié)的,它還需要一組設(shè)計(jì)模式。
近年來,由于微服務(wù)架構(gòu)的復(fù)雜性和在某些用例中的失敗,人們對此表示強(qiáng)烈反對。偉大的Kelsey Hightower在以下Tweet中總結(jié)了對微服務(wù)的批評:
它與我們幾年前看到的整體建筑受到批評并被認(rèn)為是過時(shí)的趨勢形成鮮明對比。實(shí)際上,Monolithic Architecture也是一種很棒的體系結(jié)構(gòu),正如我在以下文章中所述,它最適合其中。
近年來,另一種備受關(guān)注的軟件架構(gòu)是無服務(wù)器架構(gòu)。亞馬遜通過其突破性的AWS Lambda服務(wù)開創(chuàng)了無服務(wù)器計(jì)算服務(wù)的先河,該服務(wù)由開發(fā)人員僅編寫代碼,而服務(wù)提供商則管理服務(wù)器。它也是一種被某些人大肆宣傳而又被其他人批評的架構(gòu)。像Monoliths和Microservices一樣,Serverless也不是Silver Bullet,應(yīng)該在適合的地方使用(例如,事件驅(qū)動(dòng)和突發(fā)負(fù)載)。
在2021年,所有軟件體系結(jié)構(gòu)(Monolith,微服務(wù),無服務(wù)器)將共存,因?yàn)樗鼈兌加凶约旱挠美瑑?yōu)點(diǎn)和缺點(diǎn)。我建議選擇微服務(wù)來進(jìn)行大規(guī)模企業(yè)開發(fā)(傳統(tǒng)上使用SOA),使用Monoliths進(jìn)行小規(guī)模開發(fā),選擇無服務(wù)器來進(jìn)行事件驅(qū)動(dòng)和突發(fā)負(fù)載。
15. 編程(主流):Python和JavaScript將引領(lǐng)潮流
近年來,編程語言格局也正在發(fā)生重大變化。傳統(tǒng)的重量級編程語言正在將市場份額轉(zhuǎn)移到更簡單且對開發(fā)人員友好的編程語言上。2020年1月,我對需求型語言進(jìn)行了廣泛的分析,并將Python和JavaScript分別放在第一和第二位。
最后,最受歡迎的編程語言排名網(wǎng)站TIOBE承認(rèn)了這一變化,并將Python置于Java之上。
隨著軟件開發(fā)行業(yè)的蓬勃發(fā)展以及大量新開發(fā)人員的加入,更簡單,對開發(fā)人員友好的編程語言將在2021年變得更加流行。
Python是數(shù)據(jù)科學(xué)中排名第一的編程語言,幾乎是除底層編程之外的所有其他領(lǐng)域中的排名第二或第三的語言。
JavaScript是Web開發(fā)中無可爭議的第一語言,并且在包括后端開發(fā)在內(nèi)的其他領(lǐng)域也越來越流行。對于初學(xué)者來說,這也是一種完美的語言。
Java正在逐漸失去其作為最流行的編程語言的流行性。但是,憑借其傳奇性的向后兼容性和可喜的變化(6個(gè)月的發(fā)布周期,polyglot虛擬機(jī)GraalVM),它將繼續(xù)成為企業(yè)軟件開發(fā)中的第一選擇。
C ++是另一種主流編程語言,近年來正在發(fā)生重大變化。C ++ 20僅在幾天前發(fā)布,它將徹底改變C ++的編程方式。它是近年來最具破壞性的C ++發(fā)行版之一,并可能在2021年及以后對它的普及產(chǎn)生巨大影響。
到2021年,主流編程語言將保持自己的地位,盡管它們會(huì)受到現(xiàn)代編程語言的壓力。
16. 編程(現(xiàn)代):Rust終于到來
過去幾年中,編程語言領(lǐng)域的另一個(gè)有趣趨勢是現(xiàn)代編程語言的興起。較舊的語言已經(jīng)不堪重負(fù),無法通過添加越來越多的功能(C ++)來快速移動(dòng)(Java)或變得更加臃腫和令人生畏。
現(xiàn)代和較新的語言不再需要繁重的工作,可以滿足當(dāng)今開發(fā)人員的需求。他們中的大多數(shù)人專注于開發(fā)人員的人機(jī)工程學(xué),并支持現(xiàn)代功能,例如類型推斷,無效安全性,表達(dá)性和簡潔性。他們中的許多人還旨在利用現(xiàn)代硬件和現(xiàn)代基礎(chǔ)架構(gòu)(云,多核,GPU,TPU)。
正如我在以下文章中所預(yù)測的那樣,由Rust,Go,Kotlin,Swift,TypeScript領(lǐng)導(dǎo)的現(xiàn)代編程語言日漸流行。
由于它們是增長最快的語言之一,這種趨勢也將在2021年繼續(xù)。
其中,Rust將在2021年取得突破,因?yàn)樵撔袠I(yè)終于注意到了這一點(diǎn)。根據(jù)Stack Overflow開發(fā)人員調(diào)查,在過去的五年中,它是最受歡迎的編程語言:
> Source: Stack Overflow Developer Survey, 2020
對于安全性敏感和復(fù)雜的項(xiàng)目,Tech Giants最終使用Rust而不是C / C ++。微軟最近宣布,他們將使用Rust修復(fù)安全錯(cuò)誤。
就在幾周前,亞馬遜宣布對Rust進(jìn)行大量投資,并在此說明了理由。
Google的Go語言已經(jīng)成為主流和公認(rèn)的編程語言。Go 2版本計(jì)劃進(jìn)行許多改進(jìn),將來它將變得更加流行。
JetBrain的Kotlin已經(jīng)將自己確立為JVM生態(tài)系統(tǒng)中第二流行的類型化編程語言。在Android App開發(fā)中,它已經(jīng)超越了Java。
微軟的TypeScript已將自己牢固地確立為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年獲得更多的關(guān)注,普及和使用。
17. 客戶端Web框架:React將繼續(xù)領(lǐng)跑
大多數(shù)面向用戶的企業(yè)應(yīng)用程序是Web或移動(dòng)應(yīng)用程序。在Web開發(fā)中,基于JavaScript / TypeScript的客戶端Web框架已經(jīng)占據(jù)了主導(dǎo)地位。趨勢是將JavaScript框架用于UI開發(fā),將服務(wù)器端框架用于后端開發(fā),其中前端和后端是獨(dú)立的服務(wù)。
Facebook的React是客戶端網(wǎng)絡(luò)框架中的領(lǐng)導(dǎo)者。它是行業(yè)中引領(lǐng)潮流和使用最廣泛的框架。如果您想進(jìn)一步了解基于JavaScript的客戶端框架,則可以閱讀以下文章。
到目前為止,React是下載次數(shù)最多的客戶端JavaScript框架,如下所示:
> Source: NPM trends
盡管React不是最受歡迎的Web框架,但該榮譽(yù)又歸功于另一個(gè)基于JavaScript的Web框架Vue.js:
> Source by Author
它也是中國排名第一的框架,因?yàn)閂ue.js(Evan You)的創(chuàng)建者是中國前Google開發(fā)人員。不幸的是,Vue.js在美國/歐洲的采用率相對較低。
Google的Angular落后于React和Vue.js,但仍然是一個(gè)可靠的框架。但是,最近最革命的Web框架是Svelte。與其他框架不同,Svelte是一個(gè)非運(yùn)行時(shí)框架,專注于編譯步驟。
在2021年,所有主要的基于JavaScript的框架都將相互學(xué)習(xí),并從其他框架中適應(yīng)功能。他們將在2021年進(jìn)一步融合。
18. 服務(wù)器端Web框架:適用于企業(yè)的Spring和ASP.NET Core
服務(wù)器端框架是提供端到端Web開發(fā)的端到端框架,包括通過服務(wù)器端渲染的視圖層。但是,正如已經(jīng)提到的,現(xiàn)代的趨勢是僅將它們用于后端。
基于JVM的Spring框架是企業(yè)開發(fā)中排名第一的服務(wù)器端框架。它還提供了開發(fā)大型和復(fù)雜應(yīng)用程序的所有必要功能:控制反轉(zhuǎn),依賴注入,云原生開發(fā),響應(yīng)式和事件驅(qū)動(dòng)的應(yīng)用程序開發(fā),快速應(yīng)用程序開發(fā)。同樣在2021年,Spring將仍然是企業(yè)的第一后端框架。在上一篇文章中,我將Spring作為服務(wù)器端Web框架的第一名。
微軟的ASP.NET Core是另一個(gè)引人注目的多語言Web框架,可與流行的JavaScript框架(React,Vue.js和Angular)無縫協(xié)作。在2021年,ASP.NET Core將成為企業(yè)服務(wù)器端開發(fā)的主要參與者。
許多初創(chuàng)公司和小型公司希望擁有一個(gè)包括View層在內(nèi)的端到端框架,以進(jìn)行快速的應(yīng)用程序開發(fā)。基于Python的Django,PHP Laravel和Ruby on Rails在2021年將是它們的絕佳選擇。
19. 應(yīng)用程序開發(fā):本機(jī)應(yīng)用程序?qū)⒗^續(xù)占主導(dǎo)地位
智能手機(jī)現(xiàn)已成為我們?nèi)粘I畹囊徊糠帧V悄苁謾C(jī)用戶數(shù)量已經(jīng)是35億,明年將達(dá)到38億:
> Source: Statista
因此,移動(dòng)應(yīng)用程序?qū)τ谧罱K用戶,特別是對年輕一代而言,變得越來越重要。
在移動(dòng)應(yīng)用程序開發(fā)中,有四個(gè)主要趨勢:本機(jī)應(yīng)用程序開發(fā),跨平臺(tái)應(yīng)用程序開發(fā),混合應(yīng)用程序開發(fā)和基于云的應(yīng)用程序開發(fā)。
本機(jī)應(yīng)用程序開發(fā)可提供最高的靈活性,并具有最佳的性能和用戶體驗(yàn)。但是開發(fā)成本最高,因?yàn)槠髽I(yè)需要保留兩個(gè)獨(dú)立的團(tuán)隊(duì)。
跨平臺(tái)App開發(fā)正變得越來越流行,因?yàn)閹缀跸嗤拇a庫可用于iOS和Android App開發(fā)。盡管開發(fā)成本很低,但它的靈活性較差,性能不如Native應(yīng)用程序。
近年來,基于云的應(yīng)用程序變得越來越流行,其中數(shù)據(jù)和主要業(yè)務(wù)邏輯仍保留在云中。開發(fā)了特定于設(shè)備的瘦客戶端,該客戶端連接并從云中獲取數(shù)據(jù)。雖然對于精通數(shù)據(jù)的應(yīng)用程序來說是更好的選擇,但對于常規(guī)App開發(fā)而言,它并不是主流。
盡管跨平臺(tái)應(yīng)用程序開發(fā)正在趕上,但本機(jī)應(yīng)用程序開發(fā)仍然是企業(yè)進(jìn)行常規(guī)應(yīng)用程序開發(fā)的更好選擇。在2021年,企業(yè)將更喜歡本機(jī)應(yīng)用程序開發(fā),而初創(chuàng)公司和小型公司將更喜歡跨平臺(tái)應(yīng)用程序開發(fā)。
20. 跨平臺(tái)應(yīng)用程序開發(fā):React Native將占主導(dǎo)地位,但Flutter將趕上
跨平臺(tái)應(yīng)用程序開發(fā)由于價(jià)格便宜而變得越來越流行。市場上有許多跨平臺(tái)應(yīng)用程序開發(fā)平臺(tái),但Flutter和React Native是領(lǐng)導(dǎo)者:
Facebook的React Native基于最流行的基于JavaScript的Web開發(fā)框架React。它的口號是"學(xué)習(xí)一次,隨處寫"。Facebook正在積極開發(fā)React Native,他們正在與27億Facebook用戶一起測試其功能。如果公司已經(jīng)具有用于Web開發(fā)的React和用于應(yīng)用程序開發(fā)的React Native,則他們可以在Web和移動(dòng)開發(fā)之間共享組件和代碼庫。另外,React Native基于JavaScript,JavaScript是最流行的編程語言之一。當(dāng)前,React Native比Flutter更為流行,如下所示:
> Source: Stack Overflow Developer Survey, 2020
在2021年,React將主導(dǎo)跨平臺(tái)應(yīng)用程序開發(fā),因?yàn)镽eact和React Native性能將有重大更新。
Google的Flutter是一個(gè)相對較新的框架,但近年來變得非常流行。它提供了功能強(qiáng)大的UI工具包,可通過一個(gè)代碼庫構(gòu)建漂亮的,本機(jī)編譯的移動(dòng),桌面和Web應(yīng)用程序。但是,F(xiàn)lutter還不是像React這樣的Web開發(fā)中的主要框架。Flutter使用了現(xiàn)代的編程語言Dart,它是增長最快且生產(chǎn)力最高的編程語言之一。在性能方面,F(xiàn)lutter優(yōu)于React Native。它還提供了更好的開發(fā)人員人體工程學(xué),并且開發(fā)人員喜歡使用Flutter:
> Source: Stack Overflow Developer Survey, 2020
與Facebook相比,Google將所有精力都放在React Native上,而Google在Web和App開發(fā)中擁有許多框架(例如Angular for Web),而不是將所有精力都放在Flutter和Dart上。
綜合考慮所有因素,我預(yù)測React Native將在2021年超越Flutter,因?yàn)镕acebook計(jì)劃在React生態(tài)系統(tǒng)(Achille's Hill for React Native)中進(jìn)行重大性能改進(jìn)。
21. API:用于業(yè)務(wù)應(yīng)用程序的REST
近年來,微服務(wù)架構(gòu)和無服務(wù)器變得越來越流行。微服務(wù)或納米服務(wù)需要進(jìn)行通信,通常,在事件驅(qū)動(dòng)的異步通信上使用同步通信。甚至傳統(tǒng)的Monoliths也通過同步通信進(jìn)行通信。
REST是2020年最主要的API技術(shù)。REST是基于Web技術(shù)的通信標(biāo)準(zhǔn)。現(xiàn)在已經(jīng)有相當(dāng)一段時(shí)間了(20年)。REST和SOAP幾乎同時(shí)出現(xiàn),但是在SOAP被視為傳統(tǒng)技術(shù)的情況下,REST仍然占統(tǒng)治地位。無論是大型企業(yè)還是小型初創(chuàng)企業(yè),REST無處不在。同樣在2021年,REST將繼續(xù)占據(jù)主導(dǎo)地位。
API領(lǐng)域也有一些優(yōu)秀的候選人。最突出的是Google的gRPC。與REST不同,gRPC是RPC協(xié)議,例如SOAP。Google從較早的RPC協(xié)議中吸取了教訓(xùn),并創(chuàng)建了適合現(xiàn)代軟件開發(fā)需求的gRPC。gRPC代替JSON,使用高性能的消息傳遞格式協(xié)議緩沖區(qū)(也由Google開發(fā))。結(jié)果,與REST相比,gRPC的性能更高,可讀性更差。在機(jī)器對機(jī)器通信中,這是顯而易見的選擇。
Facebook的GraphQL是另一種越來越受歡迎的API技術(shù),尤其是對于UI開發(fā)人員而言,它很受歡迎。UI通常需要對后端進(jìn)行大量API調(diào)用,以獲取其所需的所有數(shù)據(jù)。GraphQL允許聚合API以減少UI和后端之間的聊天通信。GraphQL的一個(gè)主要缺點(diǎn)是它不適用于高安全性問題開發(fā)。
這三者實(shí)際上有各自獨(dú)立的用例,并且可以相互補(bǔ)充,并且這種趨勢將在2021年繼續(xù)。
結(jié)論
在這里,我使用當(dāng)前的趨勢,數(shù)據(jù)和事實(shí)對2021年最重要的軟件開發(fā)趨勢進(jìn)行了21個(gè)預(yù)測。整個(gè)軟件開發(fā)行業(yè)規(guī)模更大,而且我無法涵蓋許多重要領(lǐng)域。
另外,我已經(jīng)簡要討論了一些主題,例如,數(shù)據(jù)存儲(chǔ),這需要單獨(dú)的文章。另一方面,我已經(jīng)對某些主題進(jìn)行了更詳細(xì)的介紹。另一個(gè)有趣的事實(shí)是四個(gè)技術(shù)巨頭:谷歌,F(xiàn)acebook,亞馬遜和微軟如何在軟件開發(fā)的幾乎所有領(lǐng)域占據(jù)主導(dǎo)地位。我希望本文能對您在2021年之前的軟件開發(fā)趨勢提供360度的概述。
posted on 2021-01-05 09:56 paulwong 閱讀(363) 評論(0) 編輯 收藏 所屬分類: 每年預(yù)言