返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注

2022年海外软件技术开发趋势的22个预测

时间:2022-02-25 来源:百度网 阅读:5982

摘要:灾难性的。2020年受大流行影响后,2021年是人类恢复和反击的一年。由于技术进步,各国可以为人们大规模接种疫苗。2021年是软件开发和IT行业的重要一年,正如预期的那样。

2022年,冠状病毒变异和高科技疫苗研究之间将有一场进化军备竞赛。对于软件开发行业来说,当前的数字化趋势将继续下去,许多变化。创新和现有技术的新用途。

软件

1.集中式基础设施-云是新规范。

就像西方世界的几家大型超市取代当地商店一样,公共云将继续取代区域数据中心。未来几年,公共云也将成为企业、政府和初创企业的首选基础设施。公共云现在是数字创新的温床,这一趋势将在2022年继续。公共云在安全和区块链民主化方面也发挥着重要作用,并以可用的方式为客户带来了许多创新。Gartner预测,公共云的收入将在2022年增长16%。

因此,如果你是数字公司的决策者,是时候认真对待云计算了。如果您是工程师,请通过创建免费账户或参加MOOC课程开始学习云计算。

2.分散的基础设施-边缘的云。

与公共云不同,我们希望将存储。计算能力和人工智能/ML放在中心(可用区域),边缘计算将存储。计算能力和人工智能/ML将带到客户附近。低延迟场景(游戏)。网络带宽差(离岸网站)。没有网络。监管要求。实时用例(网络车辆)。智能和强大的设备(物联网)是需要边缘计算的场景。

随着5g.web3.0等技术创新的兴起,边缘计算将在2022年及以后继续得到广泛应用。同时,零售商将在未来几年大规模采用边缘计算。像AWS.Azure和GCP这样的公共云供应商也处于领先地位,提供了许多边缘计算服务。一项新的倡议是“Stateoftheeedge”,以实现边缘计算的标准化。

3.公共云-多云将获得更多的动力。

使用公共云的一个主要问题是供应商锁定。一旦您将您的基础设施、存储和计算转移到公共云供应商,您将被供应商锁定。许多企业试图明智地使用多个供应商,以避免供应商锁定。不幸的是,这只是用多个供应商而不是供应商锁定企业。如果您不能在另一个公共云中使用公共云(如CosmosDB、AWS3、Bigtable),供应商将永远锁定。

幸运的是,有一种反向趋势,即提供与广泛公共云服务兼容的API服务。Minio(与S3兼容).Aviatrix(云原生网络).Voltera(分布式云服务).Lightos(云原生存储)是众多致力于提供云中立性的服务之一。此外,谷歌正试图将其流行服务(BigQuery)引入其他公共云。

4.容器Kubernetes将进入后台,Docker将反弹。

容器化是现代IT行业的关键技术。Kubernetes在容器化的普及和民主化中发挥了巨大作用。由于巨大的努力。精心设计和实施,Kubernetes现在是一项坚如磐石的技术。它扮演的角色与Linux在服务器世界中扮演的角色相同。由于其高瞻远瞩的设计(Operator.Volumn),Kubernetes可以在不引入破坏性变化的情况下用于许多用例。

随着Kubernetes的成熟,Kubernetes的牵引力将在未来几年减少。不要误解我的意思。Kubernetes将是现代软件开发的引擎。但是,我们将看到更多关于Kubernetes的新使用和用例牵引力,而Kubernetes本身将因其成熟而缓慢发展。

和Kubernetes一样,docker在容器化方面也发挥了重要作用。不幸的是,该公司在全盛时期努力使docker货币化。docker最近宣布从2022年开始采用新的订阅模式。它的定价模式是可以承受的。考虑到它对现代云原生发展的贡献,我祝愿docker在其新的订阅模式下取得成功。

5.网络安全-每个人都会认真对待安全问题。

对于初创企业或中型企业来说,网络安全就像“房间里的大象”。他们可以看到对网络安全的需求,但由于缺乏资源,无法正确实施。只有大型企业才能负担得起专门的安全团队。

公共云供应商最重要的优势之一是,它们已经民主化了网络安全。目前,初创企业或中型企业可以利用公共云服务实施高度安全的应用程序。公共云安全的一个缺点是,如果被破坏,数百万公司将受到影响。2021年,公共云存在一些高调的安全漏洞。2022年,公共云和Linux将更加努力地开展安全工作。

另一个关于安全的问题是当前的开源开发模式。开发人员经常在业余时间开发一个重要的核心模块/数据库。不幸的是,如果模块/数据库被破坏,世界上几乎所有的公司都会受到影响。其中一个引人注目的问题是log4j漏洞,它将影响世界上近一半的IT公司。现在是大公司在没有任何经济利益和支持的情况下重新思考当前开源模式的时候了。

6.区块链-最后,生命开始于加密货币之外。

区块链通常与加密货币有关。每当发生加密货币欺诈事件时,区块链技术就会受到批评。区块链(分布式账本)是21世纪最具破坏性的技术之一。加密货币是最著名的用例,但区块链远不止加密货币。区块链可以改变我们行业的许多领域,影响我们的日常生活。

2021年,我们看到了一个新的、高度流行的区块链使用案例。NFT(Non-Fungibletokens)。目前,NFT主要用于数字艺术。2022年,我们将看到NFT将用于其他用例。现在人们正在认真对待区块链,2022年区块链技术将支出巨大。

区块链经常因其大量的能源消耗而受到批评。许多区块链公司现在正计划从能源密集型的“工作证明”转向节能型的“股权证明”模式。以太坊,一种流行且广泛使用的区块链,将于2022年转向绿色“股权证明”模式。

7.机器学习-AutoML和No-CodeAI将使机器学习民主化。

机器学习(ML)是另一项颠覆性技术,近年来取得了巨大的成功和应用。然而,根据其需要,机器学习专家大量短缺。此外,许多公司希望使用机器学习,而不是雇佣全职昂贵的机器学习专家。

AutoML(自动机器学习)是在没有机器学习专家的情况下习专家的情况下以有限的方式使机器学习和使用自动化。对于大多数用例,您需要机器学习专家。但对于某些用例,您可以使用AutoML来提高机器学习专家的能力,或者在没有任何机器学习专家的情况下使用AutoML。从某种意义上说,它类似于低代码/无代码倡议。AutoML在2021年获得了巨大的牵引力。2022年,我们将看到更多AutoML的使用和创新,因为AutoML具有广阔的市场前景。AutoML是一个更大的No-CodeAI趋势子集。无代码人工智能也将在2022年迎来普及和应用的高潮。

8.人工智能-狭义人工智能将迎来大规模应用。

与机器学习一样,深度学习(人工智能)是另一种颠覆性技术,在过去十年中得到了广泛的应用和快速增长。2022年及以后,人工智能将继续看到更多的应用。资本创新。人工智能的圣杯之一是寻找“通用智能”,即人工智能可以和解。

9.深度学习库-TensorFlow将继续统治。

有很多人工智能库,但其中两个从其他地方脱颖而出。谷歌的Tensorflow和Facebook的Pytorch。

Tensorflow在其2.0版本中对自己进行了改造,并引入了动态图。python的友好性和许多其他变化。它还提供Tensorflow.js在浏览器中使用AI库。Tensorflow的另一个创新是Tensorflowlite,它提供了在移动和网络上部署Tensorflow。Tensorflow还发布了Tensorflowentend(TFX),是部署ML管道生产的端到端平台。

Pytorch是另一个占主导地位的人工智能库。它引入了动态图和Python作为第一类公民。它对开发者也更友好。它还发布了Pytorchmobile,在Android/iOS设备上使用Pytorch。它通过PytorchProfiler为大规模人工智能模型调试提供更多开发者友好性。

TensorFlow仍然是最受欢迎的人工智能库。

软件

来源:2021。

2022年,Tensorflow将继续成为领先的人工智能库,因为它具有更好的可视化和大规模应用。

10.数据库-多模式、多用途数据库正在兴起。

在过去的几年里,我们看到了使用适合特定使用条件的特殊数据库的趋势。

RDBMS用于具有结构化数据的事务性用例。

宽列数据库用于低延迟.分布式数据库。

存储分布式缓存的键值。

图形数据库用于极端关系数据。

文件数据库用于事务性使用半结构化数据案例。

搜索引擎(例如,基于位置的搜索)用于全文和高级搜索。

分布式SQL,用于低延迟的分布式数据库,有事务保证。

OLAP数据库用于数据仓库和数据分析。

这种方法的一个缺点是,我们经常需要为应用程序提供多个数据库。现在有了新的趋势,每个数据库将提供一个以上的模型和一个以上的用例服务。PostgreSQL(多模型)、AzureCosmosDB(多模型、多用途)、Singlestore(OLAP和OLTP)是这些数据库的先驱。2022年,我们还将看到其他提供多模型和多用途的数据库。

11.数据密集型计算-Spark和公共云服务。

Apachespark几乎取代了Hadoop生态系统,成为默认的数据密集型计算框架。Spark还使用相同的API提供近乎实时的流处理。

近年来,ApacheBeam因为提供了一个统一的编程模型来定义和执行数据处理管道得了巨大的吸引力。Batch和Stream。谷歌的Clouddataflow是一项强大的服务,实现了ApacheBeam。此外,Azure和AWS还提供Batch处理服务。如果你想与云无关,你应该使用Spark或Clouddataflow。

12.实时流-是Flink与公共云服务的对比。

虽然几乎90%的实时流媒体例来说几乎是足够的,但也有一些用例(欺诈检测.异常检测.基于规则的报警.实时数据的特殊分析),你需要实时流。在实时流方面,Apacheflink无疑是市场领导者。它还支持ApacheBeamAPI,并为处理实时流数据提供中立的解决方案。如果你想避免被供应商锁定,你应该使用Flink而不是公共云的特定技术。此外,Flink比公共云供应商提供的类似服务更强大。

13.Devops-现代Devops的智能观察能力。

几年前,可观察性只对大型企业至关重要。然而,随着云原生开发和微服务架构的快速崛起,可观察性对现代软件开发至关重要。除了传统的可观察性(日志、监控和跟踪)外,我们还需要Kubernetes集群的远程测试和拓扑数据。此外,我们还将看到利用人工智能和时间序列数据库开发智能可观察平台的趋势。2022年及以后,智能云原生的可观察性将继续增长。

14.快速应用开发-低代码/无代码(LCNC)将继续蓬勃发展。

低代码/无代码(LCNC)建议在没有开发人员(或低数量开发人员)的情况下,减少开发网络/移动应用程序的障碍。未来几年,我们仍然需要开发人员来构建应用程序。然而,也有许多用例。低代码/无代码框架/工具可以大大加快应用程序开发。

2022年,我们还将看到越来越多的LCNC使用案例。

开发网络/移动应用程序。

网站和登录页面。

使用对话流的智能聊天机器人。

电子商务

机器学习

人工智能(视频.音频.图像)

工作流程管理。

使用RPA流程自动化。

15.软件架构-企业微服务和微前台。

目前,我们有三种后端应用程序开发的选择。(模块化)单片机。微服务和无服务器。它们都有自己的优缺点,在特定的用例中闪耀,在其他用例中失败。微服务使应用程序开发成为可能。在这种情况下,多个团队在特定的应用程序中工作。此外,微服务完全符合云本地开发,因为较高的运营成本可以通过较低的代码复杂性卸载到云中。因此,对于企业来说,微服务将是2022年的首选架构。如果你想了解设计微服务架构的最佳实践,你可以阅读我的博客。目前,我们在前端应用开发方面有两种选择。Monolith和Micro-frontends。我们经常稀释前端应用程序的复杂性,因为大多数建筑师来自后端开发。但是前端单片机和后端单片机一样糟糕。因此,微前端将是202年企业的首选架构。好消息是,所有流行的JavaScript前端框架都支持微前端。

16.软件开发-AI将协助开发人员和QA。

我认为人工智能是人类的助手或助手。人工智能可以帮助繁琐、可预测、重复和困难的任务,人类可以专注于更多发人深省的任务。智能任务。在软件开发中,我们还必须做许多无聊的任务。可预测和重复的任务。人工智能可以使用GPT-3和其他NLP库自动化这些任务。人工智能已经被用来实现测试的自动化。一些人工智能驱动助手也可以自动为开发人员生成源代码。Tabnine、Githubcopilot、Codota。虽然它们在协助软件开发方面处于早期阶段,不是很成熟,但我预计这些人工智能驱动代码助手将在2022年成熟,以便我们能够更快地开发和交付。

17.编程(主流)-Python将引领潮流。

近年来,我们经历了Python作为一种通用编程语言的快速崛起。最终,Python在流行编程语言排名网站TIOBE中处于领先地位,成为目前最大的编程语言。

软件

来源:TIOBE。

作为业余项目开发的编程语言,它降低了进入编程的门槛,这对Guidovanrosum和Python的其他语言设计师来说是一个伟大的声明。Python简洁、解释性、动态性、简洁性、强大性。但Python的USP是其简单性和较低的进入门槛。Python是数据科学和数据工程领域最大的编程语言。但在许多其他领域,它是第二或第三种编程语言。2022年,Python将继续占据主导地位,因为许多新开发人员将加入,他们可能从Python开始。在选择编程语言之前,

作为一个业余项目开发的编程语言,降低了进入编程的门槛,这对Guido van Rossum和Python的其他语言设计者来说是一个了不起的声明。Python是简练的、解释性的、动态的、简明的、简单的、强大的。但Python的USP是它的简单性和较低的入门门槛。Python是数据科学和数据工程领域的第一大编程语言。但在许多其他领域,它是第二或第三位的编程语言。在2022年,Python将继续占主导地位,因为许多新的开发人员将加入,他们可能会从Python开始。在选择一种编程语言之前,仍然值得关注这个领域。以下是我对编程语言的建议。

网络开发:JavaScript,TypeScript

后台开发:Java, Golang, JavaScript, TypeScript

安卓开发:Kotlin

iOS开发:Swift

系统编程:C, C++, Rust, Golang

数据科学/数据工程:Python

然而,如果你是一个学习新编程语言的新开发者,你可以从Python开始。

18、编程(企业)- Java反击战

在很长一段时间里,Java是无可争议的第一大编程语言。它是解释型的、适度复杂的、多线程的、垃圾收集的和强大的编程语言。此外,JVM是经过战斗考验的、强大的、成熟的,并且是业界最好的进程虚拟机之一。Java是大型、单体企业应用的完美选择。不幸的是,随着微服务和无服务器的兴起,Java处于不利地位,因为JVM似乎太大(内存占用率高)和太慢(启动时间慢)。另外,在基于容器的现代开发中,容器的资源是有限的。因此,人们开始在云原生开发中使用灵活、小型、快速的语言,如Node.js、Golang。最后,Java社区开始用GraalVM提供现代版的Java。这是一个JDK发行版,提供AOT编译、多语言编程。此外,它可以直接编译成Native代码,完全适合云原生开发(内存占用少,首次启动时间短)。另外,Java 17终于引入了许多现代功能(如模式匹配),使Java对开发者具有吸引力。

凭借其严格的、无可比拟的向后兼容性、GraalVM、最新的变化,Java将在2022年成为企业软件开发的第一大编程语言。

19、客户端网络框架-企业的React和Angular

在现代网络应用程序开发中,基于JavaScript/TypeScript的框架占主导地位,而且这一趋势将在2022年继续下去。有许多基于JavaScript/TypeScript的网络框架,但有两个框架从其他框架中脱颖而出。其中一个是Facebook的React。另一个是谷歌的Angular(Angular 2+)。React是这两个框架中最流行的,没有意见的,创新的,灵活的,对SEO友好的框架。另一方面,Angular是一个有主见的、端到端的、模块化的、安全的框架,有严格的约定俗成的配置。Angular也是一个 "包含电池 "的框架,可以通过强大的CLI开发企业级的Web应用。在2022年,React和Angular也将继续引领网络开发。虽然Vue.js是最受欢迎的框架,但由于安全问题和过于依赖一个人,它不会在行业中看到大规模的采用。

20、服务器端框架(Java)- 用于微服务和无服务器应用的本地框架

Spring MVC/Spring Boot是Java中最主流的服务器端框架。如前所述,Spring使用的是传统的OpenJDK,在云原生Java开发中慢慢失去了它的魅力。Redhat的Quarkus是云原生开发的头号框架,因为它使用GraalVM而不是传统的OpenJDK。因此,由Quarkus开发的应用程序更小,启动时间更快,而且更适合基于容器的开发。最后,Spring已经宣布了Spring Native,它将使用GraalVM进行云原生开发。它仍然是实验性的,将在Spring 6发布时(2022年10月)发布。Spring Native的一个优点是,你可以将你的Spring MVC项目转换为Spring Native项目,而不需要重写任何/少量代码。因此,如果你在2022年开发云原生Java应用,可以考虑使用其中一个Java原生框架。然而,对于单片式Java开发,你仍然可以使用基于传统(OpenJDK)的框架(如Spring MVC)。

21、应用程序开发-本机应用、更灵活

2022年,手机用户的数量将继续增长,应用程序的下载量也将继续增长。2022年,预计将有1710亿个App被下载。移动应用开发是当今软件开发中的一个广阔市场。

软件

资料来源:Statista

目前,有四种方式来开发移动应用程序。本地应用开发、跨平台应用开发、混合应用开发和基于云的应用。本地应用开发和跨平台应用开发是其中使用最多的。虽然本地应用开发是最昂贵的(在时间/资源方面),但它提供了最大的灵活性。通常情况下,企业更喜欢本地应用开发的灵活性。

跨平台应用开发提供了在iOS/Android上使用几乎相同代码的可能性。创业公司更喜欢这种方式,因为他们喜欢跨平台应用开发的开发速度和较低的维护成本,但代价是灵活性较低。

2022年,由于跨平台应用开发不如本地应用开发灵活,本地应用开发将处于领先地位。

22、API技术-REST、gRPC和GraphQL将同时存在

现代软件开发通常是API驱动的开发。客户端应用程序(网络、移动)通过API调用与后端应用程序进行通信。同时,后端应用也通过API调用与对方进行通信。服务之间的通信是软件开发行业的一个古老范式,有许多技术可以满足这一要求。但在这些技术中,有三种技术脱颖而出。REST、gRPC和GraphQL。

REST是其中最古老的技术,开发于2000年。它使用万维网和HTTP技术进行客户-服务器通信。它是最成熟和最广泛使用的。

谷歌创建了gRPC,作为一个基于旧的RPC(远程过程调用)技术的服务器到服务器的通信API。在这里,每个请求都被结构化为一个函数调用。与使用文本格式(如JSON、XML)传递信息的REST不同,gRPC使用基于协议缓冲区的二进制格式。因此,与REST相比,gRPC在服务与服务之间的通信方面更有效率和速度。

如果数据结构复杂,网络客户端到服务器的通信就会有很多往返。为了缓解这个问题,Facebook在2015年开发了GraphQL API。在GraphQL中,每个客户端可以为特定的用例定义数据结构的形状,并在一次旅行中获取所有数据。

从上面我们可以看到,这三种API技术(REST、gRPC、GraphQL)都有其擅长的用例,而角落里的用例则不那么好。在2022年,开发者和公司也会根据他们的用例使用这三种中的一种


软件

好的文章,需要您的鼓励

14

  • 最新资讯
  • 最新问答
推荐