12.22 2020 年軟件開發趨勢預測

再過幾周,2019年行將結束,我們將迎來新的2020年。

對於軟件開發行業來說,即將過去的2019年是個偉大的一年,因為軟件和數字化深入地影響到了每個行業。這一趨勢將延續下去,並將在2020年對全球各行各業產生更大的影響。

那麼2020年軟件發展又會呈現出怎樣的趨勢呢?

2020 年软件开发趋势预测

作者 | Md Kamaruzzaman

出品 | CSDN(ID:CSDNnews)

預測未來是困難的。預測軟件開發的未來更加具風險和挑戰性。雖然我沒有任何水晶球,但是我可以運用我的“人類學習”能力對2020年的軟件發展趨勢作一番預測。

在本文中,我將對軟件開發最重要的技術堆棧:從雲計算/服務,到字節碼(ByteCode),做出我的預測。

雲計算/雲服務、容器技術、編程語言、數據庫、深度學習、軟件架構、Web開發技術、應用程序、批處理、流處理、數據湖、字節碼(ByteCode)、無代碼(No-code)。

基礎設施:條條道路通向雲(計算)

2020 年软件开发趋势预测

圖源:Unsplash,由Patrick Tomasso拍攝

2019年對雲服務提供商來說是一個偉大的一年。不僅初創企業已經在使用雲服務,一些保守的和注重安全的行業和機構,如政府、醫療保健、採礦業、銀行、保險,甚至五角大樓都在轉向雲計算技術。這一趨勢將在2020年繼續下去,屆時所有規模和所有類型的公司都將採納,或者至少計劃採納雲計算技術。Gartner最近公佈了2020年雲計算/服務的預測數據(如下圖):

2020 年软件开发趋势预测

所以,如果你是一個決策者,還在對是否轉向雲服務舉棋不定的話,也許你應該重新考慮你的策略。如果你是一個獨立的開發人員,還沒有嘗試過雲服務,那麼2020年將是一個嘗試的最佳時機。大多數大型雲服務提供商(亞馬遜、微軟、谷歌)都提供免費使用額度,讓用戶可以體驗雲服務。谷歌在這方面最慷慨:它提供一年

300美元的免費額度。

2020 年软件开发趋势预测

谷歌雲的免費層

雲服務:AWS難以撼動,但其他人會趕上

作為第一個雲服務提供商,2019年亞馬遜AWS的統治地位仍然牢不可撼。憑藉最廣泛的服務組合,亞馬遜AWS也將在2020年繼續佔據統治地位。Canalys發佈了2019年第三季度的統計數據:大型雲服務提供商(AWS, Azure, GCP)佔據了56%的市場份額,而僅僅AWS一家就佔據了32.6%的市場份額:

2020 年软件开发趋势预测

但是其他雲服務提供商也在積極行動,力爭縮小與亞馬遜AWS之間的差距。微軟已經將目標專門對準了大型企業。最近微軟擊敗了亞馬遜,從五角大樓手中贏得了價值100億美元的雲服務項目——“絕地”。這項交易可以大大提升Azure的聲譽,並且大大削弱AWS的統治地位:

2020 年软件开发趋势预测

谷歌也正在推動雲原生計算基金會(CNCF - Cloud Native Computation Foundation)實現雲服務操作的標準化。谷歌的長期目標是讓雲遷移變得更容易,以幫助公司以後可以更方便地從AWS遷移到GCP。IBM最近以高達360億美元的價格收購了RedHat,目的是幫助它在雲服務市場搶佔一席之地:

2020 年软件开发趋势预测

2020年將有更多的收購和合並。此外,許多初創企業也將帶來新的創意和創新(例如“多雲服務”這項創新)。從雲廠商的殊死搏鬥中,只有更低的價格和更多的創新才能讓企業從中獲益。

容器化:Kubernetes將繼續火爆

在容器編排領域,Kubernetes, Docker Swarm和Mesos之間曾經發生過一場大戰。結局很明顯,Kubernetes已經成為這場戰鬥的贏家,並且只會變得更強。雲是分佈式系統,Kubernetes是它的操作系統(分佈式Linux)。在2019年北美舉辦的Kubernetes官方技術論壇Kubecon + CloudNativeCon上,有12,000名與會者參加,這一數字與2018年的同一活動相比增長了50%。下圖反映了過去四年來Kubecon+ CloudNativeCon的指數增長情況:

2020 年软件开发趋势预测

資料來源:雲原生計算基金會(CNCF)/Linux 基金會

可以預見,在不久的將來,Kubernetes的增長速度不會放緩,而且在2020年它只會變得更強。你可以放心地打賭,2020年,Kubernetes將成為雲原生計算運動的中堅力量。順便說一句,Docker Enterprise最近被賣給了Migrantis,金額不詳:

2020 年软件开发趋势预测

而就在幾年前,一切還都是關於Docker的,但現在變成都是關於Kubernetes的了。Docker在其鼎盛時期未能實現貨幣化,幾年後,當這個行業已經離開時,他試圖賺錢,但是為時已晚。這個例子又一次證明:在現代科技界,時間就是一切。

2020 年软件开发趋势预测

軟件架構:微服務將成為主流

在軟件架構範式中,向微服務架構的轉變在2019年一直繼續,正如如下的谷歌趨勢(Google Trends)所顯示的:

2020 年软件开发趋势预测

谷歌趨勢:微服務

隨著該行業在2020年及以後繼續朝著雲計算的方向發展,微服務架構將佔據更大的主導地位。微服務架構興起的一個主要原因是,它是和雲計算完全契合的、快速的軟件開發方式。在之前的一篇博文中(https://towardsdatascience.com

/microservice-architecture-a-brief-overview-and-why-you-should-use-it-in-your-next-project-a17b6e19adfd),我解釋了微服務架構的基本原理及其優缺點。

我認為也會有一個趨勢,那就是迴歸到一體化軟件架構。因為對於許多用例,微服務架構有些過猶不及了,而且設計微服務架構也非常具有挑戰性。什麼是設計微服務架構的最佳實踐呢?我之前寫過一篇總結性的博文(https://towardsdatascience.com/effective-microservices-10-best-practices-c6e4ba0c6ee2),可能它對回答這個問題有所幫助。

編程(普通的):Python將繼續崛起

無論是機器學習、數據分析、數據處理、Web開發、企業軟件開發,還是拍攝黑洞:Python無處不在。

此外,流行編程語言排名網站TIOBE已經將Python列為僅次於Java和C的第三大流行編程語言:

2020 年软件开发趋势预测

更有趣的是,Python在2019年的受歡迎程度翻了一番(從5%增至10%)。我知道TIOBE的統計有很多侷限性和缺陷,但它是現在最被廣泛接受的編程語言排名。

Python的崛起將在2020年繼續下去,它將縮小與Java和C之間的差距。另一種無所不在的編程語言JavaScript正面臨下降趨勢(JavaScript框架疲勞疹?)。為什麼Python會出現這樣的熱潮?因為它降低了編程領域的門檻,同時它擁有一個優秀的,深受數據科學家和新一代開發人員喜愛的社區。

編程(企業級的):Java和JVM仍然佔據主導地位

如前一節的TIOBE排名所示,Java仍然是這個星球上最主要的編程語言,並將在2020年繼續佔據主導地位。JAVA的運行時JVM是最好的軟件工程之一,它為Java提供了堅實的基礎。許多流行語言如Kotlin、Scala、Clojure、Groovy都使用JVM作為運行時。最近,甲骨文公司更新了JVM的許可證:

2020 年软件开发趋势预测

許可證的更新意味著所有使用Java、Kotlin、Scala或任何其他JVM語言的公司都將受到影響,需要支付鉅額的訂閱費。幸運的是,OpenJDK計劃仍將使JVM免費。一些公司將為JVM提供企業支持:

2020 年软件开发趋势预测

資料來源:Java Code Geeks

由於其像“大貨船”般的龐大而且速度慢,JVM語言已經不能最好地適合當今的無服務器計算。甲骨文正在推動“GraalVM”計劃,旨在使Java能夠靈活、快速、更好地適應無服務器世界。但是,由於除了Java之外,沒有其他的選擇能夠提供企業級的穩定性和可靠性,因此,在2020年及以後,Java仍將繼續統治世界。

Java企業應用: Spring成為頭號框架

2020 年软件开发趋势预测

曾幾何時,Spring框架和Java企業版(JavaEE)在企業軟件開發方面存在著激烈的競爭。但甲骨文在JavaEE中的不活躍使它在競爭中處於劣勢。這導致了“Micro Profile”平臺的產生,並最終形成了JakartaEE,甲骨文在JakartaEE中開源了Java EE源代碼。

當所有的政治和運動都圍繞著JavaEE發生時,Spring框架已經贏得了JVM企業框架戰爭的勝利,它的開發非常活躍,並且能夠快速地應對不斷變化的環境,例如雲原生支持。到2020年,Spring框架將成為JVM生態系統中的頭號框架。

目前,有兩個非常有吸引力的項目正在開發中,旨在使得Java變得更小、更靈活,從而成為無服務器計算的良好選擇。

一個項目是Micronaut框架(如下):

2020 年软件开发趋势预测

另外一個項目是Quarkus框架(如下):

2020 年软件开发趋势预测

Micronaut和Quarkus的目標都是使用GraalVM,並將在2020年吸引更多的Java社區。

編程:Rust,Swift,Kotlin,TypeScript將取得突破

21世紀頭10年,編程語言領域出現了停滯。大多數人認為不再需要一種新的編程語言了,因為Java、C、C++、JavaScript和Python已經滿足了所有的需求。谷歌通過創建Go語言打開了新編程語言的大門。在過去的十年裡,許多有趣的編程語言出現了,如Rust, Swift, Kotlin, TypeScript。這種發展的一個原因是現有的編程語言往往不能利用硬件的最新變化(例如多核、更快的網絡、雲計算)的優勢。另一個因素是現代語言特別注重旨在使開發人員能夠更快更容易開發的人機工程學。在Stackoverflow開發者調查中,大多數現代語言佔據了前幾位(Rust連續4年排名第一):

2020 年软件开发趋势预测

資料來源:Stackoverflow

在之前的一篇博文中(https://towardsdatascience.com/effective-microservices-10-best-practices-c6e4ba0c6ee2),我已經在技術上對一些編程語言,特別是close-to-Metal類的編程語言,如Rust, Go,進行了深入的研究,並且論證了現在為什麼是採用這些新一代語言的時候了。

最近,微軟宣佈他們正在深入研究Rust編程語言,以幫助其開發安全的軟件(如下文所示):

2020 年软件开发趋势预测

此外,亞馬遜最近也宣佈,他們正在贊助Rust:

2020 年软件开发趋势预测

隨著谷歌宣佈在安卓系統中正式支持Kotlin編程語言, Kotlin也成為了Java在JVM領域的主要競爭對手之一:

2020 年软件开发趋势预测

Angular支持將TypeScript作為主要編程語言,而不是使用普通的JavaScript。其他JavaScript框架,例如React和Vue也開始提供對TypeScript的更多支持。

這一趨勢在2020年將會繼續下去,許多其他的大公司可能已經近距離深入研究了新一代編程語言(如Rust、Swift、TypeScript、Kotlin),他們在2020年會站出來公開宣佈他們的支持。

Web前端開發:JavaScript將繼續佔據主導地位

2020 年软件开发趋势预测

圖源:Unsplash,由Pankaj Patel拍攝

很久以前,JavaScript還不是一門足夠強大的編程語言,前端開發主要使用JSF、Ruby on Rails、Django、Laravel等後端框架開發,並在服務器端渲染。2014年AngularJS一面世,情況就永遠改變了。從那時起,更多的JavaScript Web框架(如Angular 2+, React, Vue.js, Meteor.js等)湧現出來,使得JavaScript變成了現代主流的Web開發框架。隨著JavaScript框架的不斷創新和微服務架構的興起,JavaScript框架將繼續在2020年主導前端開發。

2020 年软件开发趋势预测

JavaScript Web框架:React穩如磐石

儘管React是在AngularJS之後推出的,但它在過去十年中對Web開發的影響最大,並在與Google+的競爭中拯救了Facebook。React在前端開發中帶來了一些新穎的創新思想,如事件溯源(Event Sourcing)、虛擬Dom、單向數據綁定、基於組件開發等等。它對社區的影響如此之大,以至於谷歌放棄了AngularJS,並通過借鑑React的思想完全重寫了Angular2+。React是迄今為止最主要和最穩定的JavaScript Web框架,這一點從下面的NPM下載統計數據可以看出:

2020 年软件开发趋势预测

最近,Facebook宣佈了React-Fiber項目,將徹底重寫React核心算法,以獲得更好的併發性和用戶體驗:

2020 年软件开发趋势预测

2020年,React也將成為新項目的必選Web框架。其他前端Web框架,如Angular (Angular2+)和Vue會怎麼樣呢?Angular也是一個可靠的Web開發框架,特別適合於企業應用開發。我相信谷歌在未來幾年會在Angular上投入巨資。Vue是另一個非常流行的Web框架,它得到了社區和幾家中國大公司的支持。如果你已經在使用Angular或Vue,則無需在2020年遷移到React。

2020 年软件开发趋势预测

應用程序(APP)開發:原生應用受企業青睞

在移動應用程序開發方面,圍繞混合應用程序(Hybrid App)開發的炒作有所放緩。混合應用程序開發提供了更快的開發速度,因為你只需要一個團隊而不是兩個團隊。但是原生應用程序提供了更好的用戶體驗和更好的性能。同樣在混合應用程序開發中,應用程序總是需要經過調整才能獲得高級功能。對於企業來說,原生應用程序開發仍然是首選解決方案,這一趨勢將在2020年繼續。愛彼迎(Airbnb)最近發表了一篇詳細的博客文章(https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a),解釋了他們為何放棄領先的混合應用開發平臺“React Native”。

儘管Facebook正在努力改進React Native,谷歌也在大力推動自己的混合應用開發平臺Flutter,但它們主要適用於Prototype(原型)、POC(概念驗證)、MVP(最小可用產品)或特色輕應用的開發,而原生應用程序的開發將在2020年繼續佔據主導地位。

原生應用程序開發中一個有趣的事實是,谷歌正在推廣Kotlin,而蘋果正在推廣Swift作為主要編程語言,這是因為這兩種開發語言具有對開發人員友好的現代特性。谷歌最近重申了對Kotlin的支持,這對Kotlin的採用者來說是個好消息:

2020 年软件开发趋势预测2020 年软件开发趋势预测

混合應用程序開發:React Native繼續主導

混合應用程序對很多應用場景是一種比較實用的選擇。這個領域存在著很多選擇:早已存在的Xamarin和Ionic,以及新生的React Native和Flutter。Facebook在極其成功的和高度成熟的Web框架React的基礎上構建了React Native。與它的Web開發領域的對等物一樣,React Native也佔據了混合應用程序開發框架的主導地位(詳情見如下統計結果):

2020 年软件开发趋势预测

由於React Native和React共享相同的基礎代碼庫,它們提供了代碼的高可重用性,並保證了“編寫一次,到處運行”。使用React Native(或其他Facebook框架)的另一個附加優勢是Facebook自己的移動應用程序也是使用React Native開發的。谷歌在這一領域起步較晚,但去年憑藉自己的混合應用程序框架Flutter獲得了巨大的吸引力。Flutter提供了更好的性能,但需要另一種不那麼流行的編程語言Dirt的配合。考慮到React生態系統中發生的所有變化,React Native也將在2020年繼續在該領域佔據主導地位。

2020 年软件开发趋势预测

API:Rest風平浪靜

REST就像API領域中的800磅的大猩猩。它是事實上的基於API的服務間通信中最廣泛使用的技術。在這個領域還有其他一些選擇。如果你仔細閱讀了這篇文章,你可能已經猜到了:谷歌的gRPC和Facebook的GraphQL。

這兩種技術都有過人之處,但是提供了不同的功能。谷歌已經開發了gRPC,作為遠程過程調用(RPC)技術(例如SOAP)的一個替代品,但是它還處於初級階段。它使用Protobuf而不是JSON作為消息格式。另一方面,Facebook開發了GraphQL作為一個聚合層,以避免隨意的和頻繁的REST調用。gRPC和GraphQL都取得了成功,並在應用的地方表現出色。2020年,REST仍然將是最主要的API技術,而GraphQL和gRPC將作為一種補充技術。

2020 年软件开发趋势预测

人工智能:Tensorflow 2.0將佔據主導地位

在深度學習/神經網絡領域,谷歌和Facebook也是主要參與者。谷歌推出了深度學習框架TensorFlow,它是基於一個流行的深度學習框架Theano開發的。它很快成為深度學習/神經網絡計算的主要算法庫。谷歌甚至提供了一個專門設計的GPU(TPU)來加速TensorFlow的計算。

Facebook在深度學習領域並不落後,因為他們可能擁有最多的圖片和視頻收藏。Facebook推出了一個深度學習框架PyTorch,它是基於另一個流行的深度學習庫Torch開發的。兩個框架的工作方式有細微的不同。TensorFlow使用靜態圖進行計算,而PyTorch使用動態圖進行計算。使用動態圖的優點是它可以在運行時進行自我校正。另外,PyTorch對Python更加友好,而後者是數據科學使用的主要編程語言。

隨著PyTorch越來越受歡迎,谷歌在2019年10月發佈了TensorFlow 2.0,這個版本使用了動態圖表和更加友好的Python:

2020 年软件开发趋势预测

2020年,TensorFlow 2和PyTorch將並駕齊驅。考慮到TensorFlow的社區更大,我預測TensorFlow 2在2020年將會成為占主導地位的深度學習庫。

2020 年软件开发趋势预测

數據庫:SQL無人能及,但分佈式SQL將會是聖盃

在NoSQL大肆炒作的日子裡,許多人嘲笑SQL並指出它的侷限性。許多文章都在解釋NoSQL如何更好,並將取代SQL。然而,一旦炒作結束,人們很快意識到,沒有SQL數據庫,世界就無法生存。以下是最受歡迎的數據庫排名:

2020 年软件开发趋势预测

如上圖所示,SQL數據庫仍然佔據了前4位。SQL數據庫之所以占主導地位,是因為它提供了持久的ACID事務保證,這是業務應用程序最基本的需求。NoSQL數據庫提供了水平擴展,但代價是犧牲了ACID事務保證。

互聯網巨型公司正在尋找這樣的“Master數據庫”,即一個數據庫,它既能提供像SQL數據庫一樣的ACID事務保證,同時也能提供像NoSQL數據庫一樣的水平擴展。目前,有兩個解決方案能部分地滿足這樣的“Master數據庫”的要求:微軟的Aurora和谷歌的Spanner。Aurora提供了幾乎所有的SQL特性,但不提供水平寫擴展,而Spanner提供了水平寫擴展,但不支持許多SQL特性。

到2020年,這兩個數據庫有望更接近“Master數據庫”的要求,或者會有人提出“分佈式SQL”的構想。如果真能實現的話,那他很可能會獲得圖靈獎。

2020 年软件开发趋势预测

數據湖:MinIO將嶄露頭角

如前一節所述,現代數據平臺是複雜的。企業通常使用OLTP數據庫(SQL)來支持ACID事務,並使用OLAP數據庫(NoSQL)進行數據分析。此外,企業還有其他類型的數據存儲,例如用於搜索(Solr、彈性搜索)或計算(Apache Spark)。企業基於數據湖(data Lake)來構建數據平臺,即數據從OLTP數據庫複製到數據湖。所有其他類型的數據應用程序(如OLAP、搜索)都使用數據湖作為它們的黃金來源。

Hadoop分佈式文件系統(HDFS)是事實上的數據湖,直到Amazon推出了對象存儲S3。S3的可擴展性和廉價性很快使它成為了許多公司事實上的數據湖。唯一的問題是使用S3需要將數據平臺與Amazon AWS雲平臺緊密綁定。儘管微軟的Azure有Blob存儲,谷歌也有類似的對象存儲,但它們與AWS S3並不兼容。

一個新的開源的,兼容S3的對象存儲MinIO可能會成為許多公司的救星。藉助企業級支持和針對雲原生環境的構建,MinIO提供了一種獨立於雲平臺的數據湖:

2020 年软件开发趋势预测

微軟最近在Azure 雲應用商店上發佈了MinIO,其口號為:“為Azure Blob存儲服務提供與Amazon S3 API兼容的數據訪問”。如果谷歌 GCP和其他公司也提供MinIO,那麼這將是促進多雲計算的一大步。

2020 年软件开发趋势预测

大數據計算:Spark將繼續稱王

現代企業通常需要在大規模的數據集上進行計算,這就需要分佈式的批量作業。Hadoop Map-Reduce是第一個分佈式批處理平臺。最近,Apache Spark取代Hadoop成為批量計算之王。Apache Spark如何提供比Hadoop更好的性能呢?我之前曾寫過一篇博文(https://towardsdatascience.com

/programming-language-that-rules-the-data-intensive-big-data-fast-data-frameworks-6cd7d5f754b0),對現代數據平臺作了一番深入分析。

Spark特別針對Hadoop Map-Reduce的侷限性提出的解決方案,即在每次代價高昂的操作之後,都要處理內存中的所有內容,而不是將數據保存在存儲中。儘管Spark使用了CPU和內存飢渴模式的JVM進行批處理,但它將在2020年及以後繼續佔據批處理框架的統治地位。我希望有人能用Rust開發一個更高效的批量處理框架,它可以取代Spark,並節省公司巨大的雲服務賬單。

2020 年软件开发趋势预测

大數據流:Apache Flink是未來希望

幾年前,實時流處理還是不可能的事情。通常的做法是採用Spark Streaming等微批處理框架,來實現“近似的”實時流處理。然而,Apache Flink橫穿出世,它通過提供實時流處理功能改變了現狀。

在2019年之前,Apache Flink無法獲得足夠的吸引力,因為它無法與Spark的營銷競爭。但是當中國科技巨頭阿里巴巴在2019年1月收購了Data Artisan(Apache Flink背後的公司)之後,情況就發生了變化:

2020 年软件开发趋势预测

資料來湖:TechCrunch

如果公司希望在2020年及以後能夠實現實時流處理,Apache Flink應該是首選。儘管Apache Flink也遭受了與Spark同樣的痛苦,它使用了需要高CPU的重量級的JVM,並且用戶需要支付一筆高昂的雲服務平臺賬單。

2020 年软件开发趋势预测

字節碼(ByteCode):WebAssembly將被大量採用

我是從JavaScript的創建者Brandon Eich的一次採訪中瞭解到WebAssembly的。現代JavaScript(es5之後)是一種優秀的編程語言。但它和其他編程語言一樣,它也有侷限性。JavaScript最大的侷限是它的速度慢,因為JavaScript引擎需要讀取、解析和處理JavaScript文本的“抽象語法樹”。JavaScript的另一個問題是它是單線程的,不能利用現代硬件(如多核、GPU)的特性。因此,許多計算密集型應用程序(如遊戲、三維圖形)無法在瀏覽器上運行。

一些公司(以Mozilla為首)開發了WebAssembly(瀏覽器的低級字節碼格式),以便在Web中運行任何受支持的編程語言。WebAssembly的MVP版本已經發布,它支持所有close-to-Meta編程語言(例如C++, Rust):

2020 年软件开发趋势预测

WebAssembly使得遊戲和Autocad等計算密集型應用程序能夠在瀏覽器上運行。WebAssembly的目標甚至更大,它希望在瀏覽器之外也能夠運行。因為它的Web支持,WebAssembly還能夠提供固有的安全性和沙箱。這也意味著WebAssembly可以用於以下“瀏覽器外”的場景:

  • 移動設備上的混合原生應用程序。

  • 無冷啟動問題的無服務器計算((雲計算)。

  • 不可信代碼的服務器端計算(CDN)。

在我的預測中,2020年對WebAssembly來說可能是一個突破性的一年,許多大公司(包括雲服務提供商)和社區都將接受它。

2020 年软件开发趋势预测

編碼:低代碼(Low-Code)、無代碼(No-Code)將獲得動力

快速的數字化和工業4.0革命意味著軟件開發人員的供需缺口巨大。由於缺乏開發人員,許多人或公司無法實現他們的想法。為了降低進入軟件開發的門檻,有人試圖讓軟件開發工作變得不需要編寫代碼(No-Code)或只需要編寫少量代碼(Low-Code)。這項工作被稱為LCNC(Low-Code No-Code),並且在2019年取得了一些成功:

2020 年软件开发趋势预测

這項工作的目標是任何人都可以開發軟件,只要他/她有一個很酷的想法即可,不需要任何編碼經驗。

雖然我仍然懷疑在生產中使用LCNC框架的可行性,但這項工作可以為其他人奠定基礎。像亞馬遜、谷歌這樣的公司可以在這個基礎上構建一個可靠堅實的產品(就像AWS LAMBDA在谷歌

App Engine的基礎上蓬勃發展一樣)。

值得一看的是,LCNC運動是否將在2020年獲得更大的動力?

謝謝你的閱讀!

原文:https://towardsdatascience.com/20-predictions-about-software-development-trends-in-2020-afb8b110d9a0

本文為 CSDN 翻譯,轉載請註明來源出處。

【End】


分享到:


相關文章: