0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

软件开发行业在2021年有哪些变化?

发表时间:2023-10-20 17:01:49

文章来源:炫佑科技

浏览次数:134

菏泽炫佑科技

软件开发行业在2021年有哪些变化?

本文*初发表于Data(《关于2021年的21》),由InfoQ翻译分享。

2020年是现代史上前所未有的一年。 过去一百年来,人类从未经历过像 COVID-19 这样的全球大流行。 它影响着我们星球上的每个国家、部门和几乎每个人。

好消息是,我们很快就会有疫苗,我们终于可以乐观、充满希望地面对新的2021年了。 2020年对于软件开发行业来说是具有里程碑意义的一年,在许多领域都取得了重大突破。 COVID-19显着加速了数字化转型软件开发,2021年数字化转型趋势将更加明显。

一年前,我写过一篇预测2020年软件发展趋势的文章:

《2020年20个软件开发趋势预测》

软件开发行业,一年几乎就是光年。 我没有更新旧帖子,而是创建了一份新的 2021 年软件开发行业重要技术趋势预测列表。

做出预测是一项冒险的事业。 但我使用来自经过认证的来源的数据、图表和事实来根据过去预测未来。 如果你想知道2021年软件行业会发生怎样的变化,请阅读这篇文章。

1.中心化基础设施:云、泛在云

大多数行业在 COVID-19 期间都受到了严重打击,但只有少数行业受到了严重打击。 云是一个朝阳产业,在疫情期间,它实际上比以往任何时候都更加强大。 如果说在云采用方面存在任何疑问和不确定性,那么 COVID-19 已经消除了这些疑问和不确定性。

像这样的全球灾难表明,我们不仅需要扩大云规模,还需要缩小规模,例如,当对我们的服务的需求大幅下降时。 想想旅游和运输行业,尽管其市场下降了 90%,但他们仍必须维护昂贵的数据中心。

预计2021年全球公有云IT基础设施将增长35%,达到1200亿美元:

帮助 29 家利用免费云发展他们的技术

2.去中心化基础设施:边缘计算将呈指数级增长

在公有云中,我们希望有一个中心化的数据中心来提供数据和计算能力。 但在很多场景下,我们有相反的需求,比如数据、算力更贴近*终用户。 有些是非常低的延迟(5到20毫秒)、高带宽、监管原因、实时用例、智能而强大的终端设备等。

尽管边缘计算是一个古老的概念,我们已经在内容分发网络(CDN)中使用边缘计算,但近年来它变得越来越流行。 随着联网车辆(自动驾驶汽车、无人机)、在线游戏、物联网、智能设备和边缘 AI/ML 的兴起,边缘计算将在 2021 年及以后成为一个巨大的市场。 边缘计算将在 2021 年成为关键的另一个原因是 5G 移动设备的兴​​起。

2021年,两个行业集团将争夺边缘计算的市场份额。 其中之一就是公共云提供商,例如亚马逊、微软、谷歌,如下所述:

边缘:新的云根本不在云中 -

在这方面,亚马逊凭借AWS Snow、AWS IoT等众多服务处于领先地位。 微软还提供边缘计算服务,例如Azure Stack Edge。 谷歌还利用它将其数据中心服务转移给*终用户。

另一类是已经拥有边缘基础设施的行业,例如电信公司、数据中心提供商、网络提供商。 如果他们能够迅速采取行动并利用自己的优势(例如现有基础设施),他们就有机会在这方面发挥领导作用。 混合云提供商 (IBM) 凭借其混合云平台和参与度将成为这里的关键参与者。 *近,三星与IBM合作开发边缘计算解决方案:

、IBM 到边缘、5G 和云 4.0

State of the Edge 是一项旨在开发边缘计算开放标准并使边缘计算供应商保持中立的举措。 *近 State of the Edge 成为 Linux 基金会的一部分。 与 CNCF 一样,State of the Edge 将在 2021 年及以后有更多亮点。

为 2021 年及以后边缘计算领域的大量创新、融合、协作和标准化做好准备。

3.云:AWS领先,但多云才是未来

在公有云厂商中,谁是领先者是毫无疑问的。 2020年第三季度,亚马逊以32%的市场份额领先公有云市场,如下图:

云 2020 年第三季度

微软在云产品方面一直表现强劲,2020年的年增长率为48%。2020年第三季度,微软的市场份额为19%,而2019年第三季度的市场份额为17%。

目前,谷歌是第三大公有云提供商,2020年第三季度的市场份额为7%。

2021年,亚马逊和微软将分别保持**和第二的位置。 然而,阿里巴巴将在 2021 年超越谷歌,因为其 2020 年第三季度的市场份额为 6%,仅次于谷歌。

此外,多云计划将在 2021 年获得更大的动力。许多公司也正在转向多云战略。 中央情报局*近将其云合同授予了多个云供应商,而不是单个云供应商:

C2E云中的AWS——

到目前为止,亚马逊一直不愿加入多云计划以保护其市场份额。 但正如我们十年前在微软身上看到的那样,整个行业和社区比*大的个体公司更强大。 *近,亚马逊悄然加入了多云计划:

AWS 多云时代

云原生计算基金会(Cloud,CNCF)在多云运动中发挥着关键作用,可以说超越了 Linux 基金会。 2021 年,我们可以看到 CNCF 的更多增长。 此外,像这样的多云服务提供商将变得更加重要。

一些著名的项目还提供与流行的特定于供应商的云服务的 API 兼容性,例如 MinIO(提供与 AWS S3 兼容的对象存储)。 2021 年,将会有更多像 MinIO 这样的举措,以便我们可以轻松地从热门提供商切换服务。

这对于整个行业来说是个好消息,因为我梦想公司能够在多个云上无缝部署其应用程序。

4. 容器化:王者,但已不复存在

容器化是云原生IT的核心技术,无论是公有云、私有云,甚至是边缘计算。 在过去的几年里,它已经成为领先的容器编排和管理技术。 正如Linux之前统治数据中心一样,它也统治着公共云和私有云。 *初,谷歌是其背后的主导力量,但现在几乎所有的科技巨头都在背后支持它。

所有主要公共云提供商现在都提供托管服务(EKS、Azure AKS、GKE)及其托管容器化服务。 另一方面,正在使用托管在私有云中的服务。

2021 年,我们将看到更多云技术的采用,因为它是混合或多云战略的核心组成部分。 AI/ML、数据库、数据平台、无服务器和边缘计算应用等非传统企业应用也将迁移。

另一方面,它正在慢慢失去作为现代技术的魅力。 人们已经采取了许多标准化容器格式和运行时的举措,其中两项举措近年来取得了巨大的进展。 一方面是领先的容器运行时接口(CRI)。 另一方面是Linux基金会主导的开放容器倡议(Open,OCI)。

*近,它已被弃用,取而代之的是 CRI,并计划在 2021 年的后续版本 (1.22) 中完全删除:

v1.22 中的 to - SD Times

对于容器生态中的巨头来说,2021年将是终结的开始。 从好的方面来看,CRI和OCI将在2021年获得更大的发展动力,特别是基于CRI的容器将在2021年实现巨大的爆发式增长。

5.计算:量子计算将得到推动

量子计算是这份名单上*具革命性的技术。 就像数字计算机一样,它有可能影响各个领域。 我列出了 2030 年代*热门的技术,其中量子计算名列**:

10 大约在2030年代

让我们换个角度来看:如果我们将当今*先进的超级计算机视为正常人,例如国际象棋棋手或八年级数学学生,那么量子计算将相当于像马格努斯·卡尔斯这样的超级天才() 。 他可以同时对抗50名普通棋手,或者像欧拉这样的天才数学家。

2020年,量子计算领域出现了一些重大突破和进步。 2020 年 6 月,霍尼韦尔声称已经创造了*强大的量子计算机,打破了谷歌之前的记录:

据说它建造了世界上*多的

许多政府和科技巨头正在探索和投资量子计算。 谷歌和 IBM 是这个领域的两个*大的参与者。 谷歌甚至推出了一个开源库(TFQ),用于构建量子机器学习模型的原型:

为了

亚马逊还通过其云服务提供托管量子计算服务。

考虑到其巨大的利润和无限的可能性,2021年计算机量子将会出现一些突破和惊人的发现。

如果你想探索量子计算,那么你可以使用开源SDK,它还提供免费课程:

学习

6. 区块链:过山车之旅仍在继续

区块链(分布式账本)也是近年来发展起来的重大颠覆性技术之一。 就技术而言,它有潜力改变整个行业。 尽管加密货币在普及这项技术方面发挥了重要作用。 它还在技术成熟度曲线的“期望过高”阶段发挥着重要作用,推动了该技术的发展方向。

许多流氓实体利用比特币的流行,制造诈骗项目来欺骗那些想在短时间内致富的普通人。 现在,区块链正在经历炒作周期曲线上的“幻灭低谷”。 此外,政府正在干预加密货币以防止诈骗。 近日,中国政府破获了一个名为“Plus Token 庞氏骗局”的加密货币骗局:

在 From Scam 中获得 4B 美元 -

2019年发布了加密货币Libra,但在2020年面临巨大的监管压力:

其 Libra 计划之后是

其他开源区块链,例如以太坊(),正在将代码放入区块中,使其能够在智能合约中使用,这就是区块链的未来。

2021年,区块链将更多地作为智能合约机制使用,有望进入“启蒙斜坡”阶段。 区块链将在2021年大爆发,中国已将其纳入雄心勃勃的50万亿“新基建”计划:

列入中国50个“新”计划| 新闻.8BTC.COM

7.人工智能:人工智能将惠及所有人

作为近期*热门的技术之一,人工智能在2020年也取得了诸多突破。另一个有趣的趋势是,人工智能在“AI for all”的口号下开始进入各个领域。

在自然语言处理领域,GPT-3是2020年5月取得的*大突破。美国公司创建了GPT-3,使得利用深度学习创建类人文本成为可能。 仅仅 4 个月后,当《卫报》使用 GPT-3 写出以下文章时,全世界都震惊了:

这是机器人写的。 你还是人类吗? | GPT-3

2021年,自然语言处理将取得突破,人工智能将撰写文章或编写小型应用程序。

另一个有趣的发展是2.0,它支持工程自动化。 2021年,全周期人工智能自动化将取得重大进展,人工智能将更加平民化。

人工智能并非没有偏见,有道德的人工智能正变得越来越有吸引力。 人工智能领域的另一大趋势是可解释的人工智能,即需要解释人工智能为何做出某种决策。 2021年,随着欧盟制定解释人工智能决策的法规,这些领域将取得重大进展。

人工智能也将在2021年及以后广泛应用于航空业。 就在几天前,美国空军使用人工智能作为副驾驶驾驶飞机:

U-2 担任副驾驶 - 空军

人工智能也将成为未来中国数字基础设施的核心:

人工智能是中国计划的关键,人工智能也是如此

预计到 2021 年,人工智能将出现许多令人兴奋的创新和民主化。

8.深度学习库:2.0和

谷歌和谷歌是深度学习和神经网络领域的两大主导者。 谷歌的主要业务是搜索功能,是自然语言处理领域的领先创新者。 主要业务是社交网络,要处理图像、视频和文本。 在图像处理领域,它是拥有众多创新的技术领导者。

来自的库是深度学习领域领先的库,但在2016年发布后一切都发生了变化。使用动态图形而不是(使用的)静态图形,并且更加用户友好。 作为回应,谷歌在 2019 年创建了 2.0,复制了它的许多功能(动画图形、友好性)。 它还与 完美集成(使其成为一款非常现代且功能强大的笔记本电脑)。 从那时起, 2.0 越来越受欢迎。 目前,根据 2020 年 Stack 开发者调查,它是*受欢迎的深度学习框架:

图片来源:Stack,2020

另一方面,开发人员喜欢使用它,这是开发人员首选的,以获得更好的开发人员人体工程学:

图片来源:Stack,2020

2021年,2.0和将成为企业和社区的“首选”库。 拥有代码库或想要使用笔记本的企业应该使用2.0。 刚刚接触深度学习或想继续使用笔记本电脑的公司或个人应该选择它。

9. 数据存储:一刀切

现代数据库环境充满了选择和多样性。 我们有经典的SQL数据库,主要是四大数据库:MySQL、MS-SQL。 我们还有NoSQL数据库,主要由一系列数据库组成:文档、键值对、宽列、时间序列、搜索、图。 还有许多其他类型的数据存储。

我们*近看到了所谓的全球分布式 ACID 事务数据库或数据库。 凭借**个水平读/写可扩展的 ACID 兼容数据库成为该领域的领导者。 还有一个可水平扩展的 ACID 兼容数据库,它提供了几乎所有 SQL 功能,但没有水平写入扩展。 除了超大规模云提供商之外,还有非常突出的或者说分布式SQL数据库。

2021年,数据存储生态系统将保持现在的样子,并有很多选择。 没有一种数据库能够满足所有用途。 2021年,选择正确的数据也将是一项非常具有挑战性的任务,需要仔细考虑。

许多流行的数据库已经修改了他们的许可证(、Redis、Kafka),因为大型云提供商,尤其是 ,滥用了他们的创新并在没有得到任何回报的情况下赚钱。 这一趋势将在 2021 年继续下去,其他初创公司或创新公司将使用更严格的许可来保护它们免受云提供商的掠夺。

10、数据密集型计算:Spark将继续领先

就在几年前,它还是数据密集型计算或分布式批处理任务的默认选择。 Spark 目前是分布式批处理任务选择的供应商中立平台,并且在大多数情况下几乎取代了它。

这一趋势将在 2021 年继续下去,Spark 将被用作数据密集型计算的首选平台。 Spark 是一个基于 JVM 的系统,需要非常大的资源,并且您将获得巨额的云费用。 不幸的是,目前还没有一个资源节省框架可以与 Spark 的功能和成熟度相匹配。

所有主要云提供商都有自己的数据密集型计算云原生解决方案。 我个人的建议是在 2021 年使用 Spark 而不是特定的云解决方案,以避免供应商锁定。

11. 实时流处理:Flink 将是显而易见的选择

近年来,随着企业放弃传统架构转而采用实时流处理框架,实时流处理变得越来越流行。

此外,这里有两种类型的框架。 一是以Spark为核心的微批量平台。 另一个是以Flink为核心的低延迟流处理平台。

在需要实时流处理的场景(欺诈检测、异常检测、基于规则的警报、实时数据的即时分析),Flink 超越了 Spark 流处理。

所有超大规模云提供商也提供自己的解决方案。 我建议在 2021 年选择 Flink,而不是 Spark 或专有云解决方案,因为它在实时流处理方面具有无与伦比的能力。

12. 数据平台:其他平台也会跟进

现代数据架构非常复杂。 它包含数据源、ETL管道、数据仓库、数据湖、数据分析工具和许多其他组件。 以下是企业数据平台(ABM AMRO 的数据平台)的示例:

通过提供集中式数据源、单一平台以及构建在其之上的许多不同工作负载,彻底改变现代数据架构。 在经典架构中,数据需要跨不同平台移动,但数据只有一个“源”。

这并不是适合所有情况的完美案例。 但在大多数情况下,这将普及并增强数据平台和数据仓库的能力。 正如 首席执行官拉里·埃里森 (Larry ) 所说,它震撼了数据仓库市场:

的拉里是:“这是”

2021 年,我预计会有更多创新将这样的单一数据平台引入企业用例。 对于许多公司来说,这将是一个巨大的帮助和游戏规则改变者。

13. 快速应用程序开发:低代码/无代码将扩展

快速的数字化转型正在为软件工程师造成巨大的供需缺口。 尽管越来越多的新工程师加入这个行业,但仍然不够。 近年来,低代码/无代码计划一直势头强劲。

市场上有许多低代码/无代码平台,主要集中在Web开发领域,例如。 他们的成功也为LCNC在其他领域的发展铺平了道路:无代码应用开发、无代码人工智能、无代码机器学习。 LCNC 工具可以通过伟大的想法来促进业务或人员发展,例如:

低代码将节省您的 . 就是这样。

而且,正如我去年预测的那样,公共云提供商正在提供 LCNC 服务。 提供 Power Apps, 提供,AWS 提供它作为 LCNC 平台来快速构建应用程序。

2021年,LCNC将成为竞争*激烈的领域之一,出现许多创新、并购。 如果您是有好想法的个人或公司,请关注2021年LCNC。

14. 软件架构:微服务、单体和无服务器将共存

近年来,微服务架构已经成为大型企业应用开发的首选。 然而,设计微服务应用程序比设计“一刀切”的单体应用程序要复杂得多。 正如我在本文中概述的那样,微服务架构需要一组*佳实践:

: 10 *佳

与其他软件架构一样,微服务也有其用例和失败案例。 它还需要一套设计模式,我总结如下:

及其 10 个*

*近,由于微服务架构的复杂性和在某些用例中的失败,人们对它产生了强烈的反对。 以下推文总结了对微服务的批评:

这与我们几年前看到的趋势形成鲜明对比,当时单体架构受到批评并被视为过时的。 事实上,单体架构也是一种很好的架构,它特别适合我在本文中提到的用例:

炒作:死了吗?

近年来受到广泛关注的另一种软件架构是无服务器架构 ( )。 亚马逊通过突破性的 AWS 服务开创了无服务器计算的先河,开发人员只需编写代码,服务提供商托管服务器。 这种架构受到了一些人的炒作和批评。 与单体架构和微服务架构一样,无服务器架构也不是万能的,应该在适合的地方使用(例如,事件驱动和突发负载)。

到 2021 年,所有软件架构(单体、微服务、无服务器)都将共存,因为它们都有自己的用例、优缺点。 我建议为大型企业开发选择微服务架构(传统上使用 SOA),为小型开发选择单体架构,为事件驱动和突发负载选择无服务器架构。

15. 编程(主流):并将引领潮流

近年来,编程语言领域也发生了重大变化。 传统上专注的编程语言正在逐渐失去市场份额,转而采用更简单、对开发人员更友好的编程语言。 2020年1月,我对语言的要求、排名以及**和第二分别做了广泛的分析:

2020 年十大值得学习的内容

*后,*受欢迎的编程语言排名网站 TIOBE 承认了这一变化,并将 Java 置于其之上:

TIOBE指数:首次领先于Java

随着软件开发行业的蓬勃发展以及大量新开发者加入该行业,更简单、更对开发者友好的编程语言将在2021年变得更加流行。

它是数据科学领域排名**的编程语言,也是除低级编程之外几乎所有其他领域排名第二或第三的编程语言。

它是 Web 开发领域无可争议的**语言,并且在其他领域(包括后端开发)变得越来越流行。 对于初学者来说,它也是一门很棒的语言。

Java 正在慢慢失去其作为*流行编程语言的地位。 然而,由于其传奇的向后兼容性和不断更新(6 个月的发布周期),它仍然是企业软件开发的首选编程语言。

C++ 是另一种主流编程语言,近年来发生了重大变化。 几天前刚刚发布,它将彻底改变迄今为止C++的编程方式。 这是近年来*具颠覆性的 C++ 版本之一,将极大地影响其在 2021 年及以后的受欢迎程度。

2021年软件开发行业在2021年有哪些变化?,主流编程语言将保持自己的地位,尽管它们会感受到来自现代编程语言的压力。

16. 编程(现代):Rust 终于来了

近年来编程的另一个有趣趋势是现代编程语言的兴起。 较旧的语言背负着过去的包袱,无法快速改变(Java),或者通过添加越来越多的功能而变得臃肿和令人望而却步(C++)。

现代的、相对较新的编程语言没有过去的包袱,能够满足当今开发人员的需求。 它们中的大多数都非常注重开发人员的人体工程学,并支持类型推断、空安全、表现力和简单性等现代功能。 其中许多还旨在利用现代硬件和现代基础设施(云、多核、GPU、TPU)。

正如我在下面的文章中所预测的那样,以 Rust、Go、Swift 为首的现代编程语言正变得越来越流行:

立即学习的前 7 名

这种趋势将在 2021 年继续下去,因为它们是增长*快的语言之一。

其中,Rust将在2021年实现突破,备受业界关注。 根据 Stack 调查,在过去 5 年里,它一直是*流行的编程语言:

图片来源:Stack,2020

科技巨头*终在复杂的安全敏感项目中使用 Rust 而不是 C/C++。 微软*近表示他们将使用 Rust 来修复安全漏洞:

:这就是我们热爱 Rust 的原因 | 零点网

就在几周前,亚马逊宣布对 Rust 进行重大投资,并解释了他们这样做的原因:

Rust 中的 AWS

谷歌的Go已经是一种主流且成熟的编程语言。 随着 Go 2 计划进行大量改进,它将在未来变得更受欢迎。

已成为 JVM 生态系统中第二流行的类型编程语言。 它在应用程序开发方面已经超越了Java:

的到

微软的已经成为一种类型的替代品。 *近,它的受欢迎程度显着上升,因为许多复杂的项目(例如 Deno、Vue.js)都选择了:

2020年——

Apple 的 Swift 已取代 -C 成为 macOS 和 iOS 的首选编程语言。 它也用于其他领域。

在科技巨头的支持下,包括 Rust 在内的现代编程语言预计将在 2021 年获得更多关注和普及。

17. 客户端 Web 框架:React 将继续占据主导地位

大多数面向用户的企业应用程序是 Web 应用程序或移动应用程序。 在 Web 开发中,基于 / 的客户端 Web 框架多年来一直占据主导地位。 趋势是使用框架进行UI开发,使用服务器端框架进行后端开发,其中前端和后端是独立的服务。

React 在客户端 Web 框架中处于领先地位。 它是业界引领潮流、使用*广泛的框架。 如果你想了解更多基于此的客户端框架,可以阅读我下面的文章:

如下图所示,React是目前下载量*多的客户端框架:

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多