2020 年软件开发趋势预测有哪些?

企业上云已成不可逆的趋势,全面云计算时代宣告来临,微服务已成软件架构主流,Kubernetes 将会变得更酷,2020 年还有哪些技术趋势值得观察?

作者 | Md Kamaruzzaman 译者 | 无明 策划 | 小智

基础设施:条条道路通云端

对于云厂商来说,2019 年是硕果累累的一年。不仅初创公司在使用云计算,那些很注重安全的“保守派”公司(如政府机构、医疗保健机构、银行、保险公司,甚至是美国五角大楼)也在迁移到云端。这种趋势在 2020 年将会继续,大大小小的公司都将(或者至少有计划)迁移到云端。Gartner 公司最近发布了一个数字:

如果你是一个还在考虑要不要迁移到云端的决策者,不妨重新审视一下你的策略。如果你是一个独立开发者,并且还没使用过云基础设施,那么完全可以在 2020 年尝试一下。很多大型的云厂商(如亚马逊、微软、谷歌)都提供了免费的体验机会。谷歌在这方面做得特别大方,它提供了价值 300 美元的一年免费服务。

策划注:阿里、腾讯、华为等国内云厂商同样有免费云服务试用产品。

云平台:亚马逊领头,其他跟上

作为第一大云厂商,亚马逊在 2019 年可谓风生水起。凭借其丰富的产品组合,亚马逊将把它的优势延续到 2020 年。Canalys 发布的 2019 年第三季度报告指出,大型云厂商(AWS、Azure、GCP)占据 56% 的市场份额,其中 AWS 独享 32.6%。

其他云厂商也在努力缩短与 AWS 之间的差距。微软把主要目标转向了大型企业。最近,微软打败了亚马逊,从美国五角大楼拿到了一个 100 亿美元的大单子。这个单子将提升 Azure 的声誉,同时削弱 AWS 的士气。

谷歌一直在推动 CNCF,实现云计算运维的标准化。谷歌的长期目标是让云迁移变得更容易,方便企业从 AWS 迁移到 GCP。IBM 之前斥资 360 亿美元收购了 RedHat,也想要在云计算市场占有一席之地。

在亚太地区,阿里云市场规模超过了 AWS、Azure 的总和,全球排名第三。中国国内腾讯云等企业的增长势头也十分迅猛。

2020 年将出现更多的并购。当然,很多初创公司将会带来新的想法和创新,例如多云服务。因为竞争激烈,这些公司只能从降价和推出更多的创新产品来获取利润。

容器化:Kubernetes 将会更酷

在容器编排领域,虽然一度出现了“三足鼎立”(Kubernetes、Docker Swarm 和 Mesos),但 Kubernetes 最终脱颖而出,成为绝对的赢家。云是一个分布式系统,而 Kubernetes 是它的 OS(分布式的 Linux)。2019 年北美 KubeCon+CloudNativeCon 大会的参会者达到了 12000 名,比 2018 年增长了 50%。以下是过去 4 年参会人数的增长情况。

在 2020 年,Kubernetes 不仅不会后退,只会变得越来越强,你完全可以把赌注压在 Kubernetes 身上。另外值得一提的是,Migrantis 最近收购了 Docker Enterprise,不过收购数额不详。

几年前,人们张口闭口说的都是 Docker,而现在换成了 Kubernetes。Docker 在它的全盛时期未能盈利,反而在优势渐退几年之后才尝试变现。这再次说明,在现代技术世界,时机就是一切。

软件架构:微服务将成为主流

谷歌趋势表明,微服务架构范式在 2019 年持续增长了一整年。

随着软件行业整体逐步迁移到云端,微服务也将成为占主导地位的架构范式。微服务架构崛起的一个主要原因是它与云原生完美契合,可以实现快速的软件开发。我在之前的一篇博文中解释了微服务架构的基本原则及其优势和劣势。

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 语言。

更有意思的是,在 2019 年,Python 的流行度翻了一番(从 5% 到 10%)。

Python 的崛起将在 2020 年延续,并缩短与 Java 和 C 语言之间的差距。另一门无所不在的编程语言 JavaScript 正面临下行的风险。为什么 Python 的势头会如此强劲?因为它的入手门槛低,有一个优秀的社区在支持,并受到数据科学家和新生代开发者的喜爱。

编程语言(企业方面):Java 将占主导

之前的 TIOBE 网站截图显示,Java 仍然是一门占主导地位的编程语言,并将在 2020 年继续保持这种地位。JVM 是 Java 的基石,其他编程语言(如 Kotlin、Scala、Clojure、Groovy)也将 JVM 作为运行时。最近,Oracle 修改了 JVM 的许可协议。

新的许可协议意味着使用 Java、Kotlin、Scala 或其他 JVM 编程语言的公司需要向 Oracle 支付大额费用。所幸的是,OpenJDK 让 JVM 继续免费。另外,还有其他一些公司为 JVM 提供企业支持。

因为体积和速度方面的问题,基于 JVM 的编程语言并不适合用在今天的无服务器环境中。Oracle 正在推动 GraalVM 计划,旨在让 Java 变得更加敏捷和快速,让它更适合用在无服务器环境中。因为除了 Java,没有其他编程语言可以提供企业级的稳定性和可靠性,所以 Java 将在 2020 年继续占主导地位。

企业版 Java:Spring 继续发力

曾几何时,在企业开发领域,Spring 和 JavaEE 之间存在着白热化的竞争。但因为 Oracle 在 JavaEE 方面没有作为,在竞争中惨败,这导致了“MicroProfile”计划的形成,并最终促成了 JakartaEE。

虽然所有的政策和活动都是围绕 JavaEE 展开,但 Spring 事实上已经赢得了这场企业 JVM 之争。2020 年,Spring 将成为 JVM 生态系统的头牌。

有两个正在进展中的项目,它们旨在减小 Java 的体积,让它更适合用在无服务器环境中。

其中一个是 Micronaut(https://micronaut.io/)。

另一个是 Quarkus(https://quarkus.io/)。

这两个项目都使用了 GraalVM,它们在 2020 年将会得到 Java 社区更多的关注。

文章进行了部分删减,20个趋势预测完整内容请点击下方[了解更多]

原文地址:https://www.cnblogs.com/developer2020/p/12103660.html

时间: 2024-10-31 13:27:28

2020 年软件开发趋势预测有哪些?的相关文章

2020年软件开发趋势

基础设施:终将上云 现在云服务越来越普及了,不光是创业公司在使用云服务,连一些很保守的公司,和一些对很重视安全的公司都开始上云了,2020年上云的势头将更猛,各种体积的公司.各种类型的公司都会向云迁移. 容器化:Kubernetes 将会更酷 在容器编排领域,主角包括 Kubernetes, Docker Swarm, Mesos. Kubernetes 目前的优势很明显,增长势头强劲. 云是分布式环境,而 Kubernetes 是操作系统(分布式的 Linux). 2020年 Kubernet

微美优品分销软件开发

微美优品分销软件开发.微美优品分销下单系统开发.微美优品代理商软件开发找技术秦经理139-2277-5065 据微美优品分销:随着移动互联网时代的快速发展,传统信息产业运作模式发生了变化.根据<2017-2019年中国互联网广告市场趋势预测>2016年中国互联网广告运营商市场规模达到2552.2亿人民币,较去年增长126.3个百分点,未来仍处于持续上升趋势,预计2019年市场规模将达到3900亿元人民币.随着信息化时代的不断发展,电子商务就像一场龙卷风正在席卷世界,为人们带来了欣欣向荣的新气象

有效软件开发的关键特性

什么是软件开发? 据 IBM Research称: "软件开发是指一系列专门用于创建,设计,部署和支持软件的计算机科学活动."值得注意的是,这项工作并不局限于编码员或开发团队.科学家,设备制造商和硬件制造商等专业人士也开发代码和算法作为其工作的一部分. 通常与软件工程相比较或混淆,软件开发人员完成的工作是相关的,但不同.通常,软件工程师应用工程原理来为特定功能创建软件.软件开发人员更多地参与整个软件开发生命周期.另一个区别是定制软件开发,而不是商业软件开发.定制软件开发是指为特定目的而

拼多多跑分软件开发

拼多多跑分系统找<詹慧:137微1089电6705>.拼多多跑分APP.拼多多跑分软件开发.拼多多跑分模式开发平台. 拼多多跑分比支付宝跑分更安全靠谱也正因为此,有些朋友甚至直接怀疑它的真实性,总觉得不会有天上掉馅饼的好事.但实际上跑分这一行业的存在是真的,并且赚钱也的确非常的轻松.而网络上之所以会有那么的负面新?闻,并不是对行业的否定,而是因为在其高利润的引领下市?场变得越来越复杂,项目成熟,但是很多商家却“不成熟”,所以平台跑路或者被风控等现象频发.但是今天小编要分享给大家的跑分平台与大家

陀螺世界软件开发

原为工程师和实施工程师的区别,工程内容智能不同,工作形式不同,工作内容不同,因为工程师要对公司硬件和软件进行维护,硬件包括机房机柜.网线光纤.pdu服务器,网络设备安全设备等实施工程师,包括常用操作系统,应用软件及公司所开发的软件安装调试,定制开发及维护. 行业互联网被称为“互联网下半场”,未来发展空间广阔.工业互联网是行业互联网的一部分,包含工业制造行业.能源行业(采煤.电厂.新能源.电网.行业内铁路和港口).车联网行业等诸多典型行业.未来工业互联网发展的技术需求及对应的网络架构和核心技术是本

分享影视软件开发

分享影视系统开发公司找<詹慧:137微1089电6705>,分享影视系统APP开发,分享影视系统软件开发,分享影视源码开发,现成案例支持定制. 一.分享影视系统介绍 分享影视APP是一款汇聚影音播放神器,影片免费在线观看,视频超快加载,多个营销广告位.支持后台缓存下载.多地区的影库和充值频道等多种功能.影视玩家必备项目. 二.分享影视系统玩法 1.打开 APP 即可体验观看 注册:选填推荐码 + 短信认证 + 手机验证码 (一台设备绑定一个账号) 登录:手机账号+密码登录 (密码不能通过后台修

敏捷软件开发的最佳资源

请阅读我们的热门文章,这些文章着重讨论了敏捷的过去.现在和未来.-- Leigh Griffin(作者) 对于 Opensource.com 上的敏捷主题来说,2019 年是非常棒的一年.随着 2020 年的到来,我们回顾了我们读者所读的与敏捷相关的热门文章. 小规模 Scrum 指南 Opensource.com 关于 小规模 Scrum 的指南(我曾参与合著)由六部分组成,为小型团队提供了关于如何将敏捷引入到他们的工作中的建议.在官方的 Scrum 指南 的概述中,传统的 Scrum 框架推

结构化方法和面向对象方法在软件开发中的对比

学习过C语言和JAVA的同学们一定清楚,这两种语言代表了两种不同的开发方式,即以C语言为代表的结构化开发方法和JAVA代表的面向对象的开发方法.由于二者在程序结构上有着很大的区别,因此,在软件开发领域中,根据自己的需求来选择合理的开发方式就显得尤为重要. 开发软件通常有三个层次: 1.满足用户需求 2.可维护性,即可修改性,让软件能随着用户需求的变更而容易改变 3.可重用性(在其它软件中,能尽量重用该软件的模块) 通过对软件的这三个主要层次的分析,我们就能在实际开发中确定我们的选择. 结构化方法

敏捷软件开发简述

前言:由于我读了邹欣老师的<构建之法:现代软件工程(第二版)>,因此对敏捷软件开发有了比较大的兴趣.于是我在网上找了一些论文,比如Requirements Engineering and Agile Software Development.A decade of agile methodologies: Towards explaining agile software development.在读了这些论文之后,对敏捷软件开发有了大致的了解.这篇博文主要是简单介绍敏捷软件开发,重点集中在主