原题目:21个2021年软件开发趋势展望

对于软件开发行业来说,2020 年是意义重大的一年,许多领域都取得了重大突破。本文将基于来自认证泉源的数据、图表和事实,凭据已往来展望未来。若是你想要领会软件行业在 2021 年会有哪些转变,请阅读本文,本文涵盖了云、边缘盘算、容器、量子、区块链、人工智能、深度学习、批处置、流式处置、数据库、编程、软件架构、Web、App、低代码、无代码等主要偏向。

本文最初公布于 Towards Data Science(《21 Predictions about the Software Development Trends in 2021》),由 InfoQ 翻译并分享。

2020 年是近代史上史无前例的一年。人类在已往一百年中都没有履历过像 COVID-19 这样的全球性大盛行病。它影响了我们星球上所有的国家、部门和险些所有的小我私家。

新闻是我们马上就会拥有疫苗,终于可以满怀乐观和希望迎接新的 2021 年。对于软件开发行业来说,2020 年是意义重大的一年,在许多领域都取得了重大突破。COVID-19 显著加快了数字化转型,而且 2021 年的数字化转型趋势会更显著。

一年以前,我写了一篇文章来展望 2020 年的软件开发趋势:

在软件开发行业,一年险些就是一光年。我没有更新旧帖子,而是建立了一个新的展望清单,展望 2021 年软件开发行业的主要手艺趋势。

做展望是一项有风险的义务。然则我会使用来自认证泉源的数据、图表和事实,凭据已往来展望未来。若是你想要领会软件行业在 2021 年有哪些转变,请阅读本文。

集中式基础设施:云,无处不在的云

在 COVID-19 时代,大部分行业遭受了繁重的袭击,只管只有少数行业。云是向阳行业,在大盛行时代,它实际上比以往任何时候都更壮大。若是在云应用方面存在任何疑问和不确定性,COVID-19 已经消除了这一点。

像 Corona 这样的全球性灾难注释,我们不仅需要云升级规模,也需要降低规模,例如,当我们的服务需求显著下降时。想想旅游和运输行业,他们不得不维护昂贵的数据中心,只管他们的市场下降了 90%。

Forrester 展望,全球公有云 IT 基础设施将在 2021 年增进 35% 至 1200 亿美元:

涣散式基础设施:边缘盘算将泛起指数级增进

在公有云中,我们希望有一个集中的数据中心来提供数据和盘算能力。但在许多场景中,我们有相反的需求,例如,数据和盘算能力靠近终端用户。有些是异常低的延迟(5 到 20ms)、高带宽、羁系缘故原由、实时用例、智能且壮大的终端装备等等。

虽然边缘盘算是一个老观点,而且我们已经在内容交付网络 (Content Delivery Network,CDN) 中使用边缘盘算,但近年来它正变得越来越盛行。随着互联车辆(自动汽车、无人机)、在线游戏、物联网、智能装备和边缘 AI/ML 的兴起,边缘盘算将在 2021 年及以后成为一个伟大的市场。边缘盘算将在 2021 年成为要害的另一个缘故原由是 5G 移动装备的兴起。

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

在这方面,亚马逊是 AWS Snow family、AWS IoT Greengrass 等许多服务的领导者。微软也提供 Azure Stack Edge、Azure Edge Zone 等边缘盘算服务。谷歌也使用 Google Anthos 将它的数据中心服务转移到终端用户。

另一个团体是已经具备边缘基础设施的行业,例如电信公司、数据中心提供商、网络提供商。若是它们能够快速行动并行使它们的优势(例如,现有的基础设施),他们就有机遇在这方面施展领导作用。夹杂云提供商 RedHat(IBM)依附其夹杂云平台 OpenShift 和 OpenStack 的介入,将成为这里的要害选手。最近,三星与 IBM 合作开发边缘盘算解决方案:

State of the Edge 是为边缘盘算制订开放尺度,使边缘盘算供应商中立的倡议。最近 State of the Edge 成为了 Linux 基金会的一部分。与 CNCF 一样,在 2021 年及以后,State of the Edge 也将获得更多高光时刻。

请为 2021 年及以后边缘盘算领域的许多创新、融合、并肩战斗和尺度化做好准备。

云:AWS 领先,但多云会是未来

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

微软在其云产物方面显示强劲,在 2020 年实现了 48% 的年度增进。在 2020 年第三季度,微软的市场份额为 19%,而它在 2019 年第三季度的市场份额为 17%。

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

在 2021 年,亚马逊和微软将划分保持第一和第二的位置。然而,阿里巴巴将在 2021 年取代谷歌,由于它在 2020 年第三季度的市场份额为 6%,仅次于谷歌。

此外,多云倡议将在 2021 年获得更大的生长势头。许多公司也转向了多云计谋。中情局(CIA)最近将其云条约授予了多个云供应商而不是单个供应商:

直到现在,亚马逊还不愿意加入多云倡议来珍爱它的市场份额。但正如我们 10 年前在微软身上看到的那样,整个行业和社区比最大的单个公司更壮大。最近,亚马逊已经悄然加入了多云倡议:

云原生盘算基金会(Cloud Native Computing Foundation ,CNCF) 在多云运动中扮演着要害角色,可以说已经超过了 Linux 基金会。在 2021 年,我们可以看到 CNCF 有更多增进。此外,像 HashiCorp 这样的多云服务供应商会变得加倍主要。

一些突出的项目也提供了与盛行的特定供应商的云服务的 API 兼容性,例如 MinIO(提供兼容 AWS S3 的工具存储)。在 2021 年,将会有更多类似 MinIO 的倡议,这样我们就可以轻松地切换受迎接的供应商的服务。

这对整个行业来说是个好新闻,正如我梦想的那样,公司可以在多个云上无缝部署它们的应用程序。

容器化:Kubernets 称王,Docker 将退场

容器化是云原生 IT 的焦点手艺,无论是公有云、私有云,甚至是边缘盘算。几年来,Kubernetes 已经成为领先的容器编排和治理手艺。就像 Linux 之前统治着数据中心一样,Kubernetes 也统治着公有云和私有云。早先,谷歌是 Kubernetes 背后的主导力量,然则现在险些所有的巨头科技公司都支持 Kubernetes。

所有主要的公有云提供商现在都提供托管的 Kubernets 服务(Amazon EKS、Azure AKS、Google GKE)以及它们的托管容器化服务。另一方面,RedHat 正在使用 OpenShift 在私有云中提供托管的 Kubernetes 服务。

在 2021 年,我们将看到更多对 Kubernetes 的接纳,由于它是夹杂云或多云战略的焦点组件。非传统企业应用程序,如 AI/ML、数据库、数据平台、无服务器和边缘盘算应用程序也将转移到 Kubernetes。

另一方面,Docker 正在逐步失去它作为一种现代化手艺的魅力。已经有一些倡议来尺度化容器花样和运行时,其中两个在最近几年获得了伟大的推动。一方面是 Kubernetes 引领的容器运行时接口(Container Runtime Interface,CRI)。另一方面是 Linux 基金会引领的开放容器倡议(Open Container Initiative,OCI)。

最近,Kubernetes 弃用 Docker 而支持 CRI,并设计在 2021 年的后续 Kubernetes 版本(1.22)中完全移除 Docker:

由于 Kubernetes 是容器生态系统中的巨头,2021 年将会是 Docker 终结的最先。从好的方面看,CRI 和 OCI 在 2021 年会获得更大的生长势头,尤其是基于 CRI 的容器将在 2021 年获得伟大的发作式增进。

盘算:量子盘算将获得推动

量子盘算是这个清单上最具革命性的手艺。就像数字盘算机一样,它有潜力影响每一个领域。我已经建立了一份 2030 年月最热手艺的清单,而量子盘算排名第一:

换个角度看:若是我们把当今最先进的超级盘算机看成正常人类,例如,一名象棋选手或者一个 8 年级数学学生,那么量子盘算就是像马格努斯·卡尔斯(Magnus Carles)这样的超级天才,他可以同时和 50 名通俗象棋选手对弈,或者像欧拉(Euler)这样的天才数学家。

在 2020 年,量子盘算有了一些重大的突破和提高。在 2020 年 6 月,霍尼韦尔(Honeywell)声称其建立了最壮大的量子盘算机,打破了谷歌之前缔造的纪录:

许多 *** 和科技巨头都在探索和投资量子盘算。谷歌和 IBM 是这个领域的两个最大的选手。谷歌甚至推出了一个开源库 TensorFlow Quantum (TFQ),用于制作量子机械学习模子的原型:

亚马逊也通过其 Amazon Braket 云服务提供托管的量子盘算服务。

思量到其伟大的利润和无限的可能性,2021 年盘算机量子将有一些突破和惊人的发现。

若是你想要探索量子盘算,那么你可以使用开源 SDK qiskit,它还提供了免费课程:

区块链:过山车仍将继续

区块链 (分布式账本) 也是近年来开发的主要颠覆性手艺之一。就手艺而言,它有改变整个行业的潜力。虽然加密钱币在普及这项手艺方面施展了主要作用。它在推动这项手艺走向 Gartner 的炒作周期曲线(Gartner’s Hype Cycle curve)的“期望膨胀期”方面也扮演了主要角色。

许多流氓实体行使比特币 Bitcoin 的盛行,制造诈骗项目来诱骗那些想在短时间内暴富的通俗人。现在,区块链正履历炒作周期曲线的“破灭低谷”。另外, *** 正在干预加密钱币来防止诈骗。最近,中国 *** 查获了一个加密钱币诈骗“Plus Token 庞氏圈套”:

Facebook 在 2019 年公布了它的加密钱币 Libra,但在 2020 年面临伟大的羁系压力:

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

在 2021 年,区块链将更多地作为一种智能合约机制使用,有望进入“启蒙斜坡(Slope of Englishtenment)”阶段。区块链将在 2021 年获得重大发作,中国已经将它纳入其雄心壮志的 50 万亿“新基建”设计:

人工智能:AI 将惠及所有人

作为最近最热门的手艺之一,人工智能在 2020 年也取得了许多突破。另一个有意思的趋势是,人工智能最先以“全民 AI(AI for all)”的口号进入所有领域。

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

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

另一个有趣的生长是 AutoML 2.0,它支持工程自动化。在 2021 年,全周期人工智能自动化将取得重大希望,人工智能将加倍平民化。

人工智能并不是没有私见的,有道德的人工智能正变得越来越有吸引力。人工智能领域的另一个主要趋势是可注释的人工智能,即人工智能为什么做出某种决议需要一个注释。在 2021 年,随着欧盟对注释人工智能的决议制订律例,这些领域将取得重大希望。

人工智能在 2021 年及以后也将在航空业获得普遍应用。就在几天前,美国空军用人工智能作为副驾驶来驾驶了一架飞机:

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

预计到 2021 年,人工智能会有许多令人振奋的创新和平民化。

深度学习库:TensorFlow 2.0 和 PyTorch

谷歌和 Facebook 是深度学习和神经网络领域的两大主导者。谷歌的主要营业是搜索能力,它是自然语言处置领域的领先创新者。Facebook 的主要营业是社交网络,它必须处置图像、视频和文本。在图像处置领域,Facebook 是手艺领导者,有许多创新。

出自谷歌的 TensorFlow 是深度学习领域的领先的库,然则 2016 年 Facebook 公布了 PyTorch 后一切都发生了转变。PyTorch 使用动态图而不是(TensorFlow 使用的)静态图,而且对 Python 加倍友好。作为回应,谷歌在 2019 年建立了 TensorFlow 2.0,复制了 PyTorch 的许多功效(动态图、对 Python 友好)。它还与谷歌的 Collab 完善连系(Collab 是一款异常现代且功效壮大的笔记本)。从那时起,谷歌的 TensorFlow 2.0 就越来越受迎接。现在,凭据 Stack Overflow 开发者调研 2020,TensorFlow 是最盛行的深度学习框架:

另一方面,开发职员喜欢用 PyTorch 事情,它以更好的开发职员工效学而更受开发职员的喜好:

在 2021 年,TensorFlow 2.0 和 PyTorch 将成为企业和社区的“首选”库。拥有 TensorFlow 代码库或者想要使用 Collab 笔记本的企业应该使用 TensorFlow 2.0。刚进入深度学习或者想要继续使用 Juypter 笔记本的企业或小我私家应该选择 PyTorch。

数据存储:一个尺寸不能填满所有

现代数据库的远景充满选择和普遍的转变。我们有经典的 SQL 数据库,主要是四大数据库:MySQL、 Oracle、 MS-SQL、 PostgreSQL。我们也有 NoSQL 数据库,主要由一系列数据库组成:文档、键值对、宽列、时间序列、搜索、图。另有许多其它类型的数据存储。

我们最近看到了所谓的全球分布式 ACID 事务数据库或者 NewSQL 数据库。谷歌依附 Google Spanner 成为这个领域的领导者,Google Spanner 是首个水平读 / 写可伸缩的 ACID 兼容数据库。亚马逊也有一个水平可扩展 ACID 兼容数据库,Amazon Aurora,提供险些所有的 SQL 功效,但没有水平写入伸缩。除了超大规模云提供商之外,CockroachDB 也是一个异常突出的 NewSQL 或分布式 SQL 数据库。

在 2021 年,数据存储生态系统将保持现在的样子,有许多选择。没有一种数据库可以知足所有的目的。在 2021 年,选择准确的数据也将是一个异常具有挑战性的义务,需要仔细思量。

许多盛行的数据库已经修改了它们的允许 (MongoDB、 Cassandra、 Redis、Kafka),由于超级规模的云提供商,尤其是亚马逊,滥用了它们的创新,赚了钱却没有回报。这一趋势在 2021 年将继续,其它初创公司或创新型公司将使用更严酷的允许来珍爱他们免受云提供商的掠夺。

数据麋集型盘算:Spark 将继续领先

就在几年前,Hadoop 照样数据麋集型盘算或分布式批处置义务的默认选择。Apache Spark 现在是供应商中立的分布式批处置义务平台的首选,在大多数情形下险些取代了 Hadoop。

这一趋势将在 2021 年继续,Spark 将被用作数据麋集型盘算的首选平台。Spark 是一个基于 JVM 的系统,需要异常大的资源,你将获得一份伟大的云账单。但不幸的是,现在还没有一个资源节约型的框架能匹配 Spark 的能力和成熟度。

所有主流的云提供商都有它们自己的云原生解决方案来举行数据麋集型盘算。我的小我私家建议是在 2021 年使用 Spark 而不是特定的云解决方案,以制止供应商锁定。

实时流处置:Flink 将是显著的选择

近年来,随着企业甩掉传统的 Lambda 架构,转而使用实时流处置框架,实时流处置正变得越来越盛行。

此外,这里存在两种类型的框架。一种是以 Spark Streaming 为焦点的基于微批量的平台。另一种是以 Apache Flink 为焦点的低延迟流处置平台。

Apache Flink 在需要实时流处置(敲诈检测、异常检测、基于规则的警报、实时数据即时剖析)的场景中逾越了 Spark 流处置。

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

数据平台:其他人将追随 Snowflake

现代数据架构相当庞大。它包罗数据源、ETL 管道、数据仓库、数据湖、数据剖析工具以及许多其它组件。下面是企业数据平台(ABM AMRO 的数据平台)的一个示例:

,

usdt支付接口

菜宝钱包(caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

,

Snowflake 通过提供一个集中的数据源、单平台,以及在它上面构建许多差别的事情负载,从而彻底改变了现代数据架构。在经典架构中,数据需要在差别的平台上转移,但在 Snowflake 中只有一个数据的“信源”。

这不是适用于所有情形的完善案例。然则对于大部分情形,这将普及并赋能数据平台和数据仓库。正如甲骨文的 CEO 拉里·埃里森(Larry Ellison)所说,它已经动摇了数据仓库市场:

在 2021 年,我预期更多的创新将为企业案例带来像 Snowflake 一样的单数据平台。这对于许多公司将是一个伟大的辅助并改变游戏规则。

快速应用开发:低代码 / 无代码将扩展

快速的数字化转型正缔造伟大的软件工程师供需缺口。只管越来越多的新工程师加入这个行业,但仍然不够。近年来,低代码 / 无代码倡议的势头正越来越强劲。

市场上有许多低代码 / 无代码平台,主要是在 Web 开发领域,例如 Bubble。它们的乐成也为 LCNC 在其它领域的开发铺平了门路:无代码应用程序开发、无代码人工智能、无代码机械学习。LCNC 工具可以通过如下所述的好主意促进营业或职员的生长:

而且,正如我去年展望的一样,公有云提供商正提供 LCNC 服务。微软提供 Power Apps,谷歌提供 AppSheet,AWS 提供 Honeycode 作为一个 LCNC 平台来快速构建应用程序。

在 2021 年,LCNC 将成为猛烈竞争的领域之一,有许多创新、合并和收购。若是你是一个拥有伟大想法的小我私家或企业,请关注 2021 年的 LCNC。

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

近年来,微服务架构成为大型企业应用程序开发的首选。然而,设计微服务应用程序比设计“一刀切”单体应用程序要庞大得多。微服务架构需要一组最佳实践,正如我在下面这篇文章中所列出的:

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

最近,由于微服务架构的庞大性和在某些用例中的失败,人们对它产生了强烈的反感。Kelsey Hightower 在下面的推特中总结了对微服务的指斥:

这与我们几年前所看的趋势形成鲜明对比,那时单体架构受到指斥并被视为过时的。实际上,单体架构也是一种很好的架构,它稀奇适合我在下面这篇文章中提到的用例:

另一个近年来大肆宣传的软件架构是无服务器架构(Serverless Architecture)。亚马逊开创了无服务器盘算的先河,推出了开创性的 AWS Lambda 服务,开发职员只编写代码,服务提供商托管服务器。这个架构也有人炒作,有人指斥。像单体架构和微服务架构一样,无服务器架构也不是万能的,应该用在它适合的地方(例如,事宜驱动和突发负载)。

在 2021 年,所有的软件架构(单体架构、微服务、无服务器)都将共存,由于它们都有各自的用例和优瑕玷。我建议在大型企业开发中选择微服务架构(传统上使用 SOA),在小型开发中使用单体架构,在事宜驱动和突发负载中选择无服务器架构。

编程(主流):Python 和 Java 将引领潮水

近些年,编程语言领域也履历了重大转变。传统的着重的编程语言的市场份额正逐渐被更简朴且对开发职员更友好的编程语言所占有。在 2020 年 1 月,我对需求中的语言举行了普遍的剖析,将 Python 和 Java 划分放在第一位和第二位:

最后,最受迎接的编程语言排名网站 TIOBE 承认了这一转变,并将 Python 置于 Java 之上:

随着软件开发行业的蓬勃生长,以及大量新开发职员加入这个行业,更简朴、对开发职员更友好的编程语言将在 2021 年更受迎接。

Python 是数据科学中排名第一的编程语言,在除了底层编程之外的险些所有其它领域也都是排名第二或第三的编程语言。

Java 是 Web 开发领域毫无争议的头号语言,在其它领域(包罗后端开发)中也越来越盛行。它也是初学者的绝佳语言。

Java 正逐步损失其作为最盛行的编程语言的受迎接水平。然而,由于其传奇般的向后兼容性和不断更新(6 个月的公布周期,polyglot Virtual Machine GraalVM),它仍然是企业软件开发的首选编程语言。

C++ 是另一个近年来发生了重大转变的主流编程语言。几天前刚刚公布了 C++20,它将完全改变 C++ 停止现在的编程方式。这是近年来最具破坏性的 C++ 版本之一,将极大地影响其在 2021 年及以后的盛行度。

在 2021 年,主流编程语言将保持它们的职位,只管它们会感受到来自现代编程语言的压力。

编程(现代):Rust 终将到来

最近几年,编程领域的另一个有趣的趋势是现代编程语言的兴起。对照老的语言存在已往的负担,不能快速变迁(Java),或者通过增添越来越多的功效而变得臃肿且令人望而却步(C++)。

现代的对照新的编程语言没有已往的负担,能够知足当今开发者的需求。它们大多异常关注开发职员的工效学,支持现代功效,例如类型推理、null 平安性、表达力强、简练。其中许多还被设计来行使现代硬件和现代基础设施(云、多核、GPU、TPU)。

以 Rust、 Go、 Kotlin、 Swift、 Type 为首的现代编程语言正日益盛行,正如我在下面这篇帖子中展望的那样:

这一趋势将在 2021 年继续,由于它们是增进最快的语言之一。

其中,随着行业的注重,Rust 将在 2021 年取得突破。在已往 5 年中,凭据 Stack Overflow 开发者调研,它是最受喜好的编程语言:

科技巨头终于在平安敏感的庞大项目中使用 Rust 而不是 C/C++。微软最近声明,他们将使用 Rust 来修复平安漏洞:

就在几周前,亚马逊宣布鼎力投入 Rust 并注释了他们这样做的缘故原由:

谷歌的 Go 已经是主流且成熟的编程语言。随着 Go 2 release 计划的大量改善,它将在未来获得更多人气。

JetBrain 的 Kotlin 已经成为 JVM 生态系统中第二盛行的类型化编程语言。在 Android 应用开发中,它已经超过了 Java:

微软的 Type 已经成为 Java 的类型化替代品。最近,随着许多庞大项目(例如 Deno、 Vue.js)选择 Type 而不是 Java,它的盛行度大幅跃升:

苹果公司的 Swift 已经取代 Objective-C,成为 macOS 和 iOS 的首选编程语言。它在其它领域也有被接纳。

在科技巨头的支持下,预计包罗 Rust 在内的现代编程语言将在 2021 年获得更多吸引力和普及使用。

客户端 Web 框架:React 将继续统治

大多数面向用户的企业应用程序是 Web 应用或移动应用。在 Web 开发中,基于 Java/Type 的客户端 Web 框架已经占有主导职位许多年了。趋势是使用 Java 框架举行 UI 开发,使用服务端框架举行后端开发,其中前后端是星散的服务。

Facebook 的 React 在客户端 Web 框架中处于领先职位。它是行业中引领潮水且应用最普遍的框架。若是你想领会更多关于基于 Java 的客户端框架,可以阅读我下面这篇文章:

如下图所示,React 是现在下载量最多的客户端 Java 框架:

只管如此,最盛行的 Web 框架并不是 React,而是另一个基于 Java 的 Web 框架——Vue.js:

Vue.js 在中国也是头号框架,由于 Vue.js 的缔造者(尤雨溪,Evan You)是一名华人前谷歌开发者。不幸的是,这种与中国的联系引起了大企业的平安担忧,Vue.js 在美国 / 欧洲的接纳率对照低。

谷歌的 Angular 落后于 React 和 Vue.js,但仍然是一个稳固的框架。然而,最近最具革命性的 Web 框架是 Svelte。与其它框架不一样,Svelte 是一个非运行时框架,专注于编译步骤。

在 2021 年,所有主流的基于 Java 的框架都将相互学习,吸收其它框架的特征。在 2021 年,它们将加倍趋同。

服务端 Web 框架:面向企业的 Spring 和 ASP.NET

服务器端框架是端到端框架,提供端到端 Web 开发,包罗服务端渲染的视图层。然则正如之前所说,现在的趋势是只在后端使用它们。

基于 JVM 的 Spring 框架在企业开发领域是排名第一的服务端框架。它还提供开发小型和大型庞大应用所需的所有必须功效:控制反转、依赖注入、云原生开发、响应式、事宜驱动应用开发、快速应用程序开发。在 2021 年,Spring 仍将保持企业的头号后端框架。在之前的一篇文章中,我将 Spring 作为排名第一的服务端 Web 框架。

微软的 ASP.NET Core 是另一个引人注目的 Web 框架,与盛行的 Java 框架(React、Vue.js、Angular)无缝协作。在 2021 年,ASP.NET Core 将成为企业服务端开发的主要选手。

许多初创公司和小型公司都希望有一个包罗视图层的端到端框架,以便快速开发应用程序。基于 Python 的 Django、 PHP Laravel 和 Ruby on Rails 在 2021 年将成为他们的绝佳选项。

App 开发:原生 App 将继续占有主导职位

智能手机现在是我们一样平常生涯的一部分。智能手机用户已经到达 35 亿,明年将到达 38 亿:

因此,移动应用对于终端用户越来越主要,尤其是对于年轻一代来说。

在移动应用开发领域,有 4 个主要趋势:原生应用开发、跨平台应用开发、夹杂应用开发和基于云的应用开发。

原生应用开发提供了最高的天真性,拥有最好的性能和用户体验。但由于企业需要保留两个自力的团队,因此开发成本最高。

跨平台应用开发正变得越来越盛行,由于 iOS 和 Android 应用开发可以使用相同的代码库。只管开发成本低,然则不够天真,性能也不如原生应用。

近年来,基于云的应用变得越来越盛行,其数据和主要营业逻辑保存在云端。特定装备的瘦客户端被开发来毗邻云端并从中获取数据。虽然对于数据麋集的应用程序是一个不错的选择,但对于通俗应用开发来说,它还不是主流。

只管跨平台应用开发正迎头赶上,原生应用开发仍然是企业通俗应用开发的更好的选择。在 2021 年,一样平常企业将偏心原生应用开发,而初创企业和小公司将偏心跨平台应用开发。

跨平台应用开发:React Native 将占有主导职位,但 Flutter 将迎头赶上

跨平台应用开发正变得越来越盛行,由于它的开发成本对照低。市场上有许多跨平台应用开发平台,但 Flutter 和 React Native 是其中的领导者。

Facebook 的 React Native 是基于最盛行的基于 Java 的 Web 开发框架——React。它的口号是“一次学习,随处编写。”Facebook 正努力开发 React Native,用 27 亿 Facebook 用户测试其功效。若是一家企业已经用了 React 来举行 Web 开发和 React Native 来举行 App 开发,它们可以在 Web 和移动开发 *** 享组件和代码库。另外,React Native 是基于 Java 的,而 Java 是最盛行的编程语言之一。现在,React Native 比 Flutter 盛行得多,如下所示:

在 2021 年,React 将主导跨平台应用开发,由于 React 和 React Native 的性能会有一个重大更新。

谷歌的 Flutter 是一个相对对照新的框架,但近年来异常盛行。它提供了一个功效壮大的 UI 工具箱,用来从单一代码库构建漂亮的原生编译的移动、桌面和 Web 应用程序。然而,Flutter 还不像 React 那样是 Web 开发中的主流框架。Flutter 使用了一种现代编程语言——Dart,一种快速生长的效率异常高的编程语言。就性能而言,Flutter 比 React 有优势。它还提供了更好的开发者工效学,而且开发职员喜欢使用 Flutter 事情:

与 Facebook 全力支持 React Native 差别,谷歌在 Web 和 App 开发方面有许多框架(例如,用于 Web 开发的 Angular),没有把所有精神都放在 Flutter 和 Dart 上。

综上所述,我展望 React Native 将在 2021 年继续领先 Flutter,由于 Facebook 正设计对 React 生态系统(React Native 的致命弱点)举行重大性能提升。

API: REST 面向营业应用

微服务架构和无服务器近些年正变得越来越盛行。微服务或纳米服务需要通讯,通常,同步通讯用得比事宜驱动的异步通讯多。纵然传统的单体应用是通过异步通讯举行通讯的。

REST 是 2020 年最主要的 API 手艺。REST 是一种基于 Web 手艺的通讯尺度。它在行业中已经有相当一段时间了(20 年)。REST 和 SOAP 险些同时泛起,但当 SOAP 险些被认为是遗留手艺时,REST 将继续统治。无论是大型企业照样小型初创公司,都在使用 REST。在 2021 年,REST 仍将占有主导职位。

在 API 开发领域,也有一些优异的候选者。最突出的是谷歌的 gRPC。与 REST 差别,gRPC 是一个类似 SOAP 的 RPC 协议。谷歌吸取了旧 RPC 协议的教训,建立了适合现代软件开发需求的 gRPC。gRPC 使用高性能的新闻花样 Protocol Buffers(也是由谷歌开发),而不是 JSON。因此,与 REST 相比,gRPC 性能更高、可读性更差。在机械对机械的通讯中,这是对照好的选择。

另一种越来越盛行的 API 手艺,尤其是对于 UI 开发者,是 Facebook 的 GraphQL。通常,UI 需要对后端举行大量 API 调用来获取所有它所需的数据。GraphQL 允许聚合 API 来削减 UI 和后端之间的通讯。GraphQL 的一个主要瑕玷是,它不适合高平安性要求的开发。

这三者实际上都有各自的用例,可以相互弥补,这种趋势将在 2021 年继续。

结论

这里,我使用了当前的趋势、数据和事实对 2021 年最主要的软件开发趋势举行了 21 个展望。整个软件开发行业要大得多,我无法涵盖所有主要的领域。

另外,我还简要地讨论了一些话题,例如数据存储,它需要一篇单独的文章。另一方面,我详细写了一些话题。另一个有趣的事实是,科技四巨头:谷歌、Facebook、亚马逊和微软,是若何主导险些所有的软件开发领域的。我希望这篇文章能让你 360 度地领会 2021 年的软件开发趋势。

中国三大电信运营商被迫从美股退市,商务部:将接纳必要措施

2020年,不能错过的手艺圈十大“翻车”事宜

我真的逃不掉拼多多真香定律

Allbet Gaming声明:该文看法仅代表作者自己,与本平台无关。转载请注明:usdt交易所(www.caibao.it):21个2021年软件开发趋势展望
发布评论

分享到:

手机新2管理端(www.22223388.com):若何评价《速率与激情9》 首支预告片?
6 条回复
  1. 欧博ALLBET网址
    欧博ALLBET网址
    (2021-01-23 00:02:28) 1#

    Sunbet帅呆酷毙

    1. BG视讯
      BG视讯
      (2021-02-05 18:51:44)     

      苏纬达再轰出2分砲。(记者廖耀东摄)别错过这个了

  2. BGbet
    BGbet
    (2021-01-28 00:06:31) 2#

    皇冠足球www.huangguan.us是一个提供皇冠代理APP下载、皇冠会员APP下载、皇冠体育最新登录线路、新2皇冠网址的的体育平台。新皇冠体育官网是多年来值得广大客户信赖的平台,我们期待您的到来!脑洞大开的感觉

    1. 联博统计
      联博统计
      (2021-05-03 02:58:59)     

      故事线很完整

  3. 联博API
    联博API
    (2021-03-05 00:13:45) 3#

    欧博官网期待更精彩的剧情

  4. Allbet代理
    Allbet代理
    (2021-05-27 00:03:05) 4#

    欢迎进入AllbetGmaing客户端下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。很可以啊

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。