2020 年软件开发趋势预测,Java 将占主导,Python 将要吞噬世界
簡介: 全面云計(jì)算時(shí)代宣告來臨,微服務(wù)已成軟件架構(gòu)主流,Kubernetes 將會變得更酷,2020 年還有哪些技術(shù)趨勢值得觀察?
?
基礎(chǔ)設(shè)施:條條道路通云端
對于云廠商來說,2019 年是碩果累累的一年。不僅初創(chuàng)公司在使用云計(jì)算,那些很注重安全的“保守派”公司(如政府機(jī)構(gòu)、醫(yī)療保健機(jī)構(gòu)、銀行、保險(xiǎn)公司,甚至是美國五角大樓)也在遷移到云端。這種趨勢在 2020 年將會繼續(xù),大大小小的公司都將(或者至少有計(jì)劃)遷移到云端。Gartner 公司最近發(fā)布了一個(gè)數(shù)字:
如果你是一個(gè)還在考慮要不要遷移到云端的決策者,不妨重新審視一下你的策略。如果你是一個(gè)獨(dú)立開發(fā)者,并且還沒使用過云基礎(chǔ)設(shè)施,那么完全可以在 2020 年嘗試一下。很多大型的云廠商(如亞馬遜、微軟、谷歌)都提供了免費(fèi)的體驗(yàn)機(jī)會。谷歌在這方面做得特別大方,它提供了價(jià)值 300 美元的一年免費(fèi)服務(wù)。
策劃注:阿里、騰訊、華為等國內(nèi)云廠商同樣有免費(fèi)云服務(wù)試用產(chǎn)品。 ### 云平臺:亞馬遜領(lǐng)頭,其他跟上
作為第一大云廠商,亞馬遜在 2019 年可謂風(fēng)生水起。憑借其豐富的產(chǎn)品組合,亞馬遜將把它的優(yōu)勢延續(xù)到 2020 年。Canalys 發(fā)布的 2019 年第三季度報(bào)告指出,大型云廠商(AWS、Azure、GCP)占據(jù) 56% 的市場份額,其中 AWS 獨(dú)享 32.6%。
其他云廠商也在努力縮短與 AWS 之間的差距。微軟把主要目標(biāo)轉(zhuǎn)向了大型企業(yè)。最近,微軟打敗了亞馬遜,從美國五角大樓拿到了一個(gè) 100 億美元的大單子。這個(gè)單子將提升 Azure 的聲譽(yù),同時(shí)削弱 AWS 的士氣。
谷歌一直在推動 CNCF,實(shí)現(xiàn)云計(jì)算運(yùn)維的標(biāo)準(zhǔn)化。谷歌的長期目標(biāo)是讓云遷移變得更容易,方便企業(yè)從 AWS 遷移到 GCP。IBM 之前斥資 360 億美元收購了 RedHat,也想要在云計(jì)算市場占有一席之地。
在亞太地區(qū),阿里云市場規(guī)模超過了 AWS、Azure 的總和,全球排名第三。中國國內(nèi)騰訊云等企業(yè)的增長勢頭也十分迅猛。 2020 年將出現(xiàn)更多的并購。當(dāng)然,很多初創(chuàng)公司將會帶來新的想法和創(chuàng)新,例如多云服務(wù)。因?yàn)楦偁幖ち?#xff0c;這些公司只能從降價(jià)和推出更多的創(chuàng)新產(chǎn)品來獲取利潤。
?
容器化:Kubernetes 將會更酷
在容器編排領(lǐng)域,雖然一度出現(xiàn)了“三足鼎立”(Kubernetes、Docker Swarm 和 Mesos),但 Kubernetes 最終脫穎而出,成為絕對的贏家。云是一個(gè)分布式系統(tǒng),而 Kubernetes 是它的 OS(分布式的 Linux)。2019 年北美 KubeCon+CloudNativeCon 大會的參會者達(dá)到了 12000 名,比 2018 年增長了 50%。以下是過去 4 年參會人數(shù)的增長情況。
在 2020 年,Kubernetes 不僅不會后退,只會變得越來越強(qiáng),你完全可以把賭注壓在 Kubernetes 身上。另外值得一提的是,Migrantis 最近收購了 Docker Enterprise,不過收購數(shù)額不詳。
幾年前,人們張口閉口說的都是 Docker,而現(xiàn)在換成了 Kubernetes。Docker 在它的全盛時(shí)期未能盈利,反而在優(yōu)勢漸退幾年之后才嘗試變現(xiàn)。這再次說明,在現(xiàn)代技術(shù)世界,時(shí)機(jī)就是一切。 ### 軟件架構(gòu):微服務(wù)將成為主流
谷歌趨勢表明,微服務(wù)架構(gòu)范式在 2019 年持續(xù)增長了一整年。
隨著軟件行業(yè)整體逐步遷移到云端,微服務(wù)也將成為占主導(dǎo)地位的架構(gòu)范式。微服務(wù)架構(gòu)崛起的一個(gè)主要原因是它與云原生完美契合,可以實(shí)現(xiàn)快速的軟件開發(fā)。我在之前的一篇博文中解釋了微服務(wù)架構(gòu)的基本原則及其優(yōu)勢和劣勢。
我假設(shè)現(xiàn)在也存在一種回歸到單體架構(gòu)的趨勢,因?yàn)樵诤芏嗲闆r下,微服務(wù)架構(gòu)有點(diǎn)過頭了,而且做好微服務(wù)架構(gòu)設(shè)計(jì)其實(shí)很難。微服務(wù)架構(gòu)有哪些好的實(shí)踐?在之前的另一篇博文中,我也給出了一些大概,希望對讀者有用。
編程語言(整體):Python 將吞噬世界
機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、數(shù)據(jù)處理、Web 開發(fā)、企業(yè)軟件開發(fā),甚至是拼接黑洞照片,Python 的影子無處不在。 在著名的編程語言排行榜網(wǎng)站 TIOBE 上,Python 位居最流行編程語言第三位,僅次于 Java 和 C 語言。
更有意思的是,在 2019 年,Python 的流行度翻了一番(從 5% 到 10%)。 Python 的崛起將在 2020 年延續(xù),并縮短與 Java 和 C 語言之間的差距。另一門無所不在的編程語言 JavaScript 正面臨下行的風(fēng)險(xiǎn)。為什么 Python 的勢頭會如此強(qiáng)勁?因?yàn)樗娜胧珠T檻低,有一個(gè)優(yōu)秀的社區(qū)在支持,并受到數(shù)據(jù)科學(xué)家和新生代開發(fā)者的喜愛。
?
編程語言(企業(yè)方面):Java 將占主導(dǎo)
之前的 TIOBE 網(wǎng)站截圖顯示,Java 仍然是一門占主導(dǎo)地位的編程語言,并將在 2020 年繼續(xù)保持這種地位。JVM 是 Java 的基石,其他編程語言(如 Kotlin、Scala、Clojure、Groovy)也將 JVM 作為運(yùn)行時(shí)。最近,Oracle 修改了 JVM 的許可協(xié)議。
新的許可協(xié)議意味著使用 Java、Kotlin、Scala 或其他 JVM 編程語言的公司需要向 Oracle 支付大額費(fèi)用。所幸的是,OpenJDK 讓 JVM 繼續(xù)免費(fèi)。另外,還有其他一些公司為 JVM 提供企業(yè)支持。
因?yàn)轶w積和速度方面的問題,基于 JVM 的編程語言并不適合用在今天的無服務(wù)器環(huán)境中。Oracle 正在推動 GraalVM 計(jì)劃,旨在讓 Java 變得更加敏捷和快速,讓它更適合用在無服務(wù)器環(huán)境中。因?yàn)槌?Java,沒有其他編程語言可以提供企業(yè)級的穩(wěn)定性和可靠性,所以 Java 將在 2020 年繼續(xù)占主導(dǎo)地位。
?
企業(yè)版 Java:Spring 繼續(xù)發(fā)力
曾幾何時(shí),在企業(yè)開發(fā)領(lǐng)域,Spring 和 JavaEE 之間存在著白熱化的競爭。但因?yàn)?Oracle 在 JavaEE 方面沒有作為,在競爭中慘敗,這導(dǎo)致了“MicroProfile”計(jì)劃的形成,并最終促成了 JakartaEE。 雖然所有的政策和活動都是圍繞 JavaEE 展開,但 Spring 事實(shí)上已經(jīng)贏得了這場企業(yè) JVM 之爭。2020 年,Spring 將成為 JVM 生態(tài)系統(tǒng)的頭牌。 有兩個(gè)正在進(jìn)展中的項(xiàng)目,它們旨在減小 Java 的體積,讓它更適合用在無服務(wù)器環(huán)境中。 其中一個(gè)是 Micronaut(https://micronaut.io/)。
另一個(gè)是 Quarkus(https://quarkus.io/)。
這兩個(gè)項(xiàng)目都使用了 GraalVM,它們在 2020 年將會得到 Java 社區(qū)更多的關(guān)注。 ### 編程語言:后起之秀的突破
2000 年代,編程語言的發(fā)展出現(xiàn)了停滯。大多數(shù)人認(rèn)為沒有必要再去開發(fā)新的編程語言,Java、C 語言、C++、JavaScript 和 Python 已經(jīng)可以滿足所有的需求。但是,谷歌的 Go 語言為新編程語言大門打開了一扇大門。在過去十年出現(xiàn)了很多有趣的編程語言,比如 Rust、Swift、Kotlin、TypeScript。導(dǎo)致這種情況的一個(gè)主要原因是已有的編程語言無法充分利用硬件優(yōu)勢(例如多核、更快的網(wǎng)絡(luò)、云)。另一個(gè)原因是現(xiàn)代編程語言更加關(guān)注開發(fā)者經(jīng)濟(jì),即實(shí)現(xiàn)更快速更容易的開發(fā)。在 Stackoverflow 提供的一份開發(fā)者報(bào)告中,排名靠前的現(xiàn)代編程語言如下所示(Rust 連續(xù) 4 年名列第一)。
在之前的一篇博文中,我深入探討了現(xiàn)代編程語言,對比 Rust 和 Go 語言,并說明了為什么現(xiàn)在是采用這些語言的好時(shí)機(jī)。
最近,微軟宣布他們在探索使用 Rust 來開發(fā)更安全的軟件。
亞馬遜最近也宣布要贊助 Rust。
谷歌宣布將 Kotlin 作為 Android 官方開發(fā)語言,所以,在 JVM 領(lǐng)域,Kotlin 成了 Java 的主要競爭對手。
Angular 使用 TypeScript 代替 JavaScript,將其作為主要的編程語言,其他 JavaScript 框架(如 React 和 Vue)也開始為 TypeScript 提供更多的支持。 這種趨勢將在 2020 年延續(xù)下去,很多巨頭公司將會深入了解新一代編程語言(如 Rust、Swift、TypeScript、Kotlin),它們會站出來公開表示支持。
### Web:JavaScript 繼續(xù)占主導(dǎo)地位
曾幾何時(shí),JavaScript 并不被認(rèn)為是一門強(qiáng)大的編程語言。在當(dāng)時(shí),前端內(nèi)容主要通過后端框架在服務(wù)器端進(jìn)行渲染。2014 年,AngularJS 的出現(xiàn)改變了這種局面。從那個(gè)時(shí)候開始,更多的 JavaScript 框架開始涌現(xiàn)(Angular 2+、React、Vue、Meteor),JavaScript 已然成為主流的 Web 開發(fā)語言。隨著 JavaScript 框架不斷創(chuàng)新以及微服務(wù)架構(gòu)的崛起,JavaScript 框架在 2020 年將繼續(xù)主導(dǎo)前端開發(fā)。
?
JavaScript 框架:React 閃耀
雖然 React 是在 AngularJS 之后出現(xiàn)的,但在過去十年對 Web 開發(fā)產(chǎn)生了巨大的影響,這也讓 Facebook 在與 Google+ 的競爭中打了一場勝戰(zhàn)。React 為前端開發(fā)帶來了一些新的想法,比如事件溯源、虛擬 DOM、單向數(shù)據(jù)綁定、基于組件的開發(fā),等等。它對開發(fā)者社區(qū)產(chǎn)生了重大影響,以至于谷歌放棄了 AngularJS,并借鑒 React 的想法推出了徹底重寫的 Angular 2+。React 是目前為止最為流行的 JavaScript 框架,下圖顯示了相關(guān)的 NPM 下載統(tǒng)計(jì)信息。
為了獲得更好的并發(fā)和用戶體驗(yàn),Facebook 宣布完全重寫 React 的核心算法,推出了 React-Fiber 項(xiàng)目。
2020 年,React 仍然是你開發(fā)新項(xiàng)目的首選 Web 框架。其他框架(如 Angular/Angular 2+ 或 Vue)呢?Angular 仍然是一個(gè)不錯(cuò)的 Web 開發(fā)框架,特別適合企業(yè)開發(fā)。我敢肯定谷歌在未來幾年會在 Angular 上加大投入。Vue 是另一個(gè)非常流行的 Web 框架,由中國的巨頭公司阿里巴巴提供支持。如果你已經(jīng)在使用 Angular 或 Vue,就沒必要再遷移到 React 了。
?
App 開發(fā):原生應(yīng)用
在移動 App 開發(fā)方面,有關(guān)混合應(yīng)用開發(fā)的炒作有所消停。混合開發(fā)提供了更快的開發(fā)速度,因?yàn)橹恍枰粋€(gè)開發(fā)團(tuán)隊(duì),而不是多個(gè)。但原生應(yīng)用提供了更好的用戶體驗(yàn)和性能。另外,混合應(yīng)用需要經(jīng)過調(diào)整才能使用一些高級特性。對于企業(yè)來說,原生應(yīng)用仍然是首選的解決方案,這種趨勢將在 2020 年延續(xù)。Airbnb 在一篇博文中非常詳細(xì)地說明了為什么他們要放棄混合應(yīng)用開發(fā)平臺 React Native。
盡管 Facebook 嘗試改進(jìn) React Native,谷歌也非常努力地推動混合 App 開發(fā)平臺 Flutter,但它們?nèi)匀恢贿m合用于原型、POC、MVP 或輕量級應(yīng)用的開發(fā)。所以,原生應(yīng)用在 2020 年仍將繼續(xù)占主導(dǎo)地位。 在原生應(yīng)用開發(fā)方面,谷歌和蘋果分別將 Kotlin 和 Swift 作為各自平臺主要的編程語言。谷歌最近再次重申了對 Kotlin 的支持,這對于 Kotlin 用戶來說無疑是個(gè)好消息。
?
混合應(yīng)用開發(fā):React Native
在很多情況下,混合應(yīng)用是個(gè)不錯(cuò)的選擇。在這方面也有很多選擇:Xamarin、Inoic、React Native 和 Flutter。Facebook 基于成熟的 React 框架推出了 React Native。就像 React 在 Web 框架領(lǐng)域占據(jù)主導(dǎo)地位一樣,React Native 在混合應(yīng)用領(lǐng)域也占據(jù)著主導(dǎo)地位,如下圖所示。
React Native 和 React 有共同的基因,都提供了高度的代碼重用性以及“一次開發(fā),到處運(yùn)行”的能力。React Native 的另一個(gè)優(yōu)勢是 Facebook 本身也用它來開發(fā)移動應(yīng)用。谷歌在這個(gè)領(lǐng)域起步較晚,但在去年,谷歌的混合應(yīng)用開發(fā)框架 Flutter 獲得了不少關(guān)注。Flutter 提供了更好的性能,但需要使用另一門不是那么流行的編程語言 Dart。React Native 在 2020 年將繼續(xù)占主導(dǎo)地位。
?
API:REST 將占主導(dǎo)地位
REST 是 API 領(lǐng)域事實(shí)上的標(biāo)準(zhǔn),被廣泛用在基于 API 的服務(wù)間通信上。當(dāng)然,除了 REST,我們還有其他選擇,比如來自谷歌的 gRPC 和來自 Facebook 的 GraphQL。 它們提供了不同的能力。谷歌開發(fā)的 gRPC 作為遠(yuǎn)程過程調(diào)用(如 SOAP)的化身,使用 Protobuf 代替 JSON 作為消息格式。Facebook 開發(fā)的 GraphQL 作為一個(gè)集成層,避免頻繁的 REST 調(diào)用。gRPC 和 GraphQL 都在各自的領(lǐng)域取得了成功。2020 年,REST 仍然是占主導(dǎo)地位的 API 技術(shù),而 GraphQL 和 gRPC 將作為補(bǔ)充技術(shù)。
?
人工智能:Tensorflow 2.0 將占主導(dǎo)地位
谷歌和 Facebook 也是深度學(xué)習(xí) / 神經(jīng)網(wǎng)絡(luò)領(lǐng)域的主要玩家。谷歌基于深度學(xué)習(xí)框架 Theano 推出了 TensorFlow,它很快就成為深度學(xué)習(xí) / 神經(jīng)網(wǎng)絡(luò)的主要開發(fā)庫。谷歌還推出了特別設(shè)計(jì)的 GPU(TPU)來加速 TensorFlow 的計(jì)算。 Facebook 在深度學(xué)習(xí)領(lǐng)域也不甘落后,他們擁有世界上最大的圖像和視頻數(shù)據(jù)集合。Facebook 基于另一個(gè)深度學(xué)習(xí)庫 Torch 推出了深度學(xué)習(xí)庫 PyTorch。TensorFlow 和 PyTorch 之間有一些區(qū)別,前者使用的是靜態(tài)圖進(jìn)行計(jì)算,而 PyTorch 使用的是動態(tài)圖。使用動態(tài)圖的好處是可以在運(yùn)行時(shí)糾正自己。另外,PyTorch 對 Python 支持更好,而 Python 是數(shù)據(jù)科學(xué)領(lǐng)域的一門主要編程語言。 隨著 PyTorch 變得越來越流行,谷歌也趕緊在 2019 年 10 月推出了 TensorFlow 2.0,也使用了動態(tài)圖,對 Python 的支持也更好。
2020 年,TensorFlow 2.0 和 PyTorch 將齊頭并進(jìn)。考慮到 TensorFlow 擁有更大的社區(qū),我估計(jì) TensorFlow 2.0 將成為占主導(dǎo)地位的深度學(xué)習(xí)庫。 ### 數(shù)據(jù)庫:SQL是王者,分布式SQL是王后
在炒作 NoSQL 的日子里,人們嘲笑 SQL,還指出了 SQL 的種種不足。有很多文章說 NoSQL 有多么的好,并將要取代 SQL。但等到炒作的潮水褪去,人們很快就意識到,我們的世界不能沒有 SQL。以下是最流行的數(shù)據(jù)庫的排名。
可以看到,SQL 數(shù)據(jù)庫占據(jù)了前四名。SQL 之所以占主導(dǎo)地位,是因?yàn)樗峁┝?ACID 事務(wù)保證,而 ACID 是業(yè)務(wù)系統(tǒng)最潛在的需求。NoSQL 數(shù)據(jù)庫提供了橫向伸縮能力,但代價(jià)是不提供 ACID 保證。 互聯(lián)網(wǎng)公司一直在尋找“大師級數(shù)據(jù)庫”,也就是既能提供 ACID 保證又能像 NoSQL 那樣可橫向伸縮的數(shù)據(jù)庫。目前有兩個(gè)解決方案可以部分滿足對“大師級數(shù)據(jù)庫”的要求,一個(gè)是亞馬遜的 Aurora,一個(gè)是谷歌的 Spanner。Aurora 提供了幾乎所有的 SQL 功能,但不支持橫向?qū)懮炜s,而 Spanner 提供了橫向?qū)懮炜s能力,但對 SQL 支持得不好。 2020 年,但愿這兩個(gè)數(shù)據(jù)庫能夠越走越近,或者有人會帶來一個(gè)“分布式 SQL”數(shù)據(jù)庫。如果真有人做到了,那一定要給他頒發(fā)圖靈獎(jiǎng)。
?
數(shù)據(jù)湖:MinIO 將要崛起
現(xiàn)代數(shù)據(jù)平臺非常的復(fù)雜。企業(yè)一般都會有支持 ACID 事務(wù)的 OLTP 數(shù)據(jù)庫(SQL),也會有用于數(shù)據(jù)分析的 OLAP 數(shù)據(jù)庫(NoSQL)。除此之外,它們還有其他各種數(shù)據(jù)存儲系統(tǒng),比如用于搜索的 Solr、ElasticSearch,用于計(jì)算的 Spark。企業(yè)基于數(shù)據(jù)庫構(gòu)建自己的數(shù)據(jù)平臺,將 OLTP 數(shù)據(jù)庫的數(shù)據(jù)拷貝到數(shù)據(jù)湖中。各種類型的數(shù)據(jù)應(yīng)用程序(比如 OLAP、搜索)將數(shù)據(jù)湖作為它們的事實(shí)來源。 HDFS 原本是事實(shí)上的數(shù)據(jù)湖,直到亞馬遜推出了對象存儲 S3。S3 可伸縮,價(jià)格便宜,很快就成為很多公司事實(shí)上的數(shù)據(jù)湖。使用 S3 唯一的問題是數(shù)據(jù)平臺被緊緊地綁定在亞馬遜的 AWS 云平臺上。雖然微軟 Azure 推出了 Blob Storage,谷歌也有類似的對象存儲,但都不是 S3 的對手。 對于很多公司來說,MinIO 或許是它們的救星。MinIO 是一個(gè)開源的對象存儲,與 S3 兼容,提供了企業(yè)級的支持,并專門為云原生環(huán)境而構(gòu)建,提供了與云無關(guān)的數(shù)據(jù)湖。
微軟在 Azure Marketplace 是這么描述 MinIO 的:“為 Azure Blog Storage 服務(wù)提供與亞馬遜 S3 API 兼容的數(shù)據(jù)訪問”。如果谷歌 GCP 和其他云廠商也提供 MinIO,那么我們將會向多云邁出一大步。
?
大數(shù)據(jù)批處理:Spark 將繼續(xù)閃耀
現(xiàn)如今,企業(yè)通常需要基于大規(guī)模數(shù)據(jù)執(zhí)行計(jì)算,所以需要分布式的批處理作業(yè)。Hadoop 的 Map-Reduce 是第一個(gè)分布式批處理平臺,后來 Spark 取代了 Hadoop 的地位,成為真正的批處理之王。Spark 是怎樣提供了比 Hadoop 更好的性能的?我之前寫了另一篇文章,對現(xiàn)代數(shù)據(jù)平臺進(jìn)行了深入分析。
Spark 解決了 Hadoop Map-Reduce 的痛點(diǎn),它將所有東西放在內(nèi)存中,而不是在完成每一個(gè)昂貴的操作之后把數(shù)據(jù)保存在存儲系統(tǒng)中。盡管 Spark 重度使用 CPU 和 JVM 來執(zhí)行批處理作業(yè),但這并不妨礙它成為 2020 年批處理框架之王。我希望有人能夠使用 Rust 開發(fā)出一個(gè)更加高效的批處理框架,取代 Spark,并為企業(yè)省下大量的云資源費(fèi)用。
### 大數(shù)據(jù)流式處理:Flink 是未來
幾年前,實(shí)現(xiàn)實(shí)時(shí)的流式處理幾乎是不可能的事情。一些微批次處理框架(比如 Spark Streaming)可以提供“幾近”實(shí)時(shí)的流式處理能力。不過,Flink 改變了這一狀況,它提供了實(shí)時(shí)的流式處理能力。 2019 年之前,Flink 未能得到足夠的關(guān)注,因?yàn)樗鼰o法撼動 Spark。直到 2019 年 1 月份,中國巨頭公司阿里巴巴收購了 Data Artisan(Flink 背后的公司)。
在 2020 年,企業(yè)如果想要進(jìn)行實(shí)時(shí)流式處理,Flink 應(yīng)該是不二之選。不過,跟 Spark 一樣,Flink 同樣重度依賴 CPU 和 JVM,并且需要使用大量的云資源。
?
字節(jié)碼:WebAssembly將被廣泛采用
我從 JavaScript 作者 Brandon Eich 的一次訪談中知道了 WebAssembly 這個(gè)東西。現(xiàn)代 JavaScript(ES5 之后的版本)是一門優(yōu)秀的編程語言,但與其他編程語言一樣,都有自己的局限性。最大的局限性是 JavaScript 引擎在執(zhí)行 JavaScript 時(shí)需要讀取、解析和處理“抽象語法樹”。另一個(gè)問題是 JavaScript 的單線程模型無法充分利用現(xiàn)代硬件(如多核 CPU 或 GPU)。正因?yàn)檫@些原因,很多計(jì)算密集型的應(yīng)用程序(如游戲、3D 圖像)無法運(yùn)行在瀏覽器中。 一些公司(由 Mozilla 帶領(lǐng))開發(fā)了 WebAssembly,一種底層字節(jié)碼格式,讓任何一門編程語言都可以在瀏覽器中運(yùn)行。目前發(fā)布的 WebAssembly 版本可以支持 C++、Rust 等。
WebAssembly 讓計(jì)算密集型應(yīng)用程序(比如游戲和 AutoCAD)可以在瀏覽器中運(yùn)行。不過,WebAssembly 的目標(biāo)不僅限于此,它還要讓應(yīng)用程序可以在瀏覽器之外運(yùn)行。WebAssembly 可以被用在以下這些“瀏覽器外”的場景中。
移動設(shè)備上的混合原生應(yīng)用。
沒有冷啟動問題的無服務(wù)器計(jì)算。
在服務(wù)器端執(zhí)行不受信任的代碼。
我預(yù)測,2020 年將是 WebAssembly 取得突破的一年,很多巨頭公司(包括云廠商)和社區(qū)將會擁抱 WebAssembly。
### 代碼:低代碼 / 無代碼將更進(jìn)一步
快速的數(shù)字化和工業(yè) 4.0 革命意味著軟件開發(fā)者的供需缺口巨大。由于缺乏開發(fā)人員,很多企業(yè)無法實(shí)現(xiàn)它們的想法。為了降低進(jìn)入軟件開發(fā)的門檻,可以嘗試無代碼(No Code)或低代碼(Low Code)軟件開發(fā),也就是所謂的 LCNC(Low-Code No-Code)。它已經(jīng)在 2019 年取得了一些成功。
LCNC 的目標(biāo)是讓沒有編程經(jīng)驗(yàn)的人也能開發(fā)軟件,只要他們想要實(shí)現(xiàn)自己的想法。 雖然我對在正式環(huán)境中使用 LCNC 框架仍然心存疑慮,但它為其他公司奠定了良好的基礎(chǔ),像亞馬遜和谷歌這樣的公司可以基于這個(gè)基礎(chǔ)構(gòu)建出有用的產(chǎn)品,就像 AWS Lambda 的蓬勃發(fā)展是以谷歌 App Engine 為基礎(chǔ)。 2020 年,LCNC 將會獲得更多關(guān)注。
————————————————
版權(quán)聲明:本文為CSDN博主「阿里技術(shù)官方號」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/alitech2017/article/details/103858311
總結(jié)
以上是生活随笔為你收集整理的2020 年软件开发趋势预测,Java 将占主导,Python 将要吞噬世界的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设置Network id: 5
- 下一篇: Hyperledger Fabric 1