2020 年是最近历史上前所未有的一年. 在过去的一百年中, 人类没有经历过像 COVID-19 这样的全球性大流行. 它影响了我们星球上的所有国家, 部门和几乎所有个人.
好消息是, 我们已经准备好疫苗, 终于可以充满乐观和希望, 迎接新的一年 2021 年.
2020 年对于软件开发行业来说是重要的一年, 在许多领域都取得了明显的突破. COVID-19 大大加快了数字化转型, 到 2021 年这种趋势将更加明显.
在软件开发行业, 一年几乎就像光明的一年. 我没有更新旧帖子, 而是创建了一份新的预测列表, 以预测我对 2021 年软件开发行业的期望.
进行预测是一项冒险的任务. 但是, 我将使用来自身份验证来源的数据, 数据和事实, 并结合过去对未来做出预测. 如果您想了解 2021 在其软件开发行业商店中的功能, 请阅读.
1. 集中式基础架构: 云, 无处不在的云
在 COVID-19 期间, 尽管有少数行业, 但大多数行业遭受了重创. 云计算是先驱行业, 在大流行期间, 它实际上比以往任何时候都更加强大. 如果在云采用方面存在任何疑问和不确定性, COVID-19 消除了这一点.
像新冠病毒这样的全球性灾难表明, 我们不仅需要 Cloud 进行高端升级, 还需要 Cloud 进行缩减规模, 即当我们的服务需求大幅下降时. 考虑一下尽管其市场下降了 90%, 但必须维护昂贵的数据中心的旅游业和运输业.
Forrester 预测, 全球公共云 IT 基础设施市场将增长到 2021 年的 3,5%, 达到 1200 亿美元.
无论您身处哪个行业(政府, 新兴企业, 农业, 医疗保健, 银行), 都应计划云迁移, 因为整个世界早日迁移到云. 2021 年及以后, 对云原生工程师的需求将大大短缺.
如果您是 IT 工程师, 请跳至任何 MOOC(大规模在线公开课程)以获取您的云证书. 好消息是, 其中许多公司在新冠期间提供免费的几个月服务. 此外, 主要的公共云提供商都提供免费课程. 最近最大的公共云提供商亚马逊宣布, 他们将在 2021 年至 2025 年之间为 2900 万人提供免费的云计算培训.
2. 去中心化基础架构: 边缘计算将呈指数增长
与我们希望拥有一个集中式的数据和计算能力数据中心的公共云相反, 在许多情况下, 我们想要相反的情况, 即最终用户附近的数据和计算能力. 其中一些是非常低的延迟(5 到 20 毫秒), 高带宽, 监管原因, 实时用例, 智能而强大的最终用户设备等.
尽管边缘计算是一个古老的概念, 并且我们在内容交付网络 (CDN) 中使用边缘计算, 但近年来它越来越流行. 随着互联汽车(无人驾驶汽车, 无人机), 在线游戏, 物联网, 智能设备和边缘 AI / ML 的兴起, 边缘计算将在 2021 年及以后成为一个巨大的市场. 边缘计算将在 2021 年成为关键技术的另一个关键原因是 5G 移动设备的兴起.
在 2021 年, 两组行业将争夺 Edge 计算的市场份额. 一组将是公共云提供商, 例如 Amazon,Microsoft,Google.
再次重申, 亚马逊是提供许多服务 (例如 AWS Snow 系列, AWS IoT Greengrass) 的领导者. Microsoft 还通过 Azure Stack Edge,Azure Edge Zone 提供边缘服务. Google 还通过 Google Anthos 将其数据中心服务移交给了最终用户.
另一类是已经具有边缘基础架构的行业, 例如电信公司, 数据中心提供商, 网络提供商. 如果他们能够快速行动并利用自己的优势 (即现有的基础架构), 那么他们将有机会在这里发挥领导作用. 混合云提供商 RedHat(IBM) 将凭借其混合云平台 OpenShift 和参与 OpenStack 成为主要参与者. 最近, 三星与 IBM 合作开发边缘计算解决方案.
边缘状态是主动制定边缘计算开放标准, 以使边缘计算供应商中立. 最近,《边缘状态》成为 Linux 基金会的一部分. 与 CNCF 一样,《边缘状态》也将在 2021 年及以后获得更多发展.
为 2021 年及以后的边缘计算中的许多创新, 合并, 并驾齐驱和标准化做准备.
3. 云: AWS 处于领先地位, 但多云将是未来
在公共云供应商中, 毫无疑问谁是领导者. 2020 年第三季度, 亚马逊以 32% 的市场份额领先公有云市场.
微软凭借其云产品又迎来了强劲的一年, 并在 2020 年实现了 48% 的年增长率. 2020 年第三季度, 微软的市场份额为 19%, 而 2019 年第三季度的市场份额为 17%.
截至目前, 谷歌是第三大公共云提供商, 其在 2020 年第三季度的市场份额为 7%.
在 2021 年, 亚马逊和微软将分别保持第一和第二的位置. 但是, 阿里巴巴将在 2021 年超过第三名, 因为它在 2020 年第三季度的市场份额中仅次于 Google, 仅次于 Google.
此外, 多云计划将在 2021 年获得更大的发展势头. 许多公司也开始采用多云战略. CIA 最近将其云合同授予了多个供应商, 而不是单个供应商.
到目前为止, 亚马逊还不愿意加入多云计划以保护其市场份额. 但是, 正如我们十年前在 Microsoft 上所看到的那样, 整个行业和社区都比最大的单个公司还大. 最近, 亚马逊默默地加入了多云计划.
云原生计算基金会 (CNCF) 在多云运动中起着关键作用, 可以说已经超越了 Linux 基金会. 在 2021 年, 我们可以看到 CNCF 的增长更多. 此外, 像 HashiCorp 这样的多云服务提供商将在 2021 年变得更加重要.
一些出色的项目还提供与流行的特定于供应商的特定 Cloud Services 的 API 兼容性, 例如 MinIO(提供与 AWS S3 兼容的 Object Storage). 在 2021 年, 将会有诸如 MinIO 之类的更多举措, 使我们能够轻松提升和转移流行的供应商锁服务.
对于整个行业来说, 这是个好消息, 因为我梦想着一个公司可以无缝地将应用程序部署在多云中的世界.
4. 容器化: Kubernetes 为王, 而 Docker 将淡出
容器化是云本机 IT 的核心技术, 无论是公有云, 私有云, 还是边缘计算. 几年来, Kubernetes 已经确立了自己作为领先的容器编排和管理技术的地位. 就像 Linux 以前统治数据中心一样, Kubernetes 统治着公共云和私有云领域. 最初, 谷歌是领导 Kubernetes 的领导力量, 但是现在几乎所有的 Giant Tech 公司都将其力量放在 Kubernetes 后面.
所有主要的公共云提供商现在都在提供托管的 Kubernetes 服务 (Amazon EKS,Azure AKS,Google GKE) 以及托管的容器化服务. 另一方面, RedHat 通过 OpenShift 在私有云中提供托管 Kubernetes 服务.
在 2021 年, 我们将看到更多采用 Kubernetes 的方法, 因为它是混合云或多云策略的核心组件. AI / ML, 数据库, 数据平台, 无服务器和边缘计算等非传统企业应用程序也将迁移到 Kubernetes.
另一方面, Docker 逐渐失去了其作为 Conternization Technology 的魅力. 已经有一些标准化容器格式和运行时的计划, 其中有两个在最近几年受到了极大的关注. 一种是 Kubernetes 领导的容器运行时接口(CRI). 另一个是 Linux 基金会牵头的开放容器倡议(OCI).
最近, Kubernetes 已弃用 Docker, 转而支持 CRI, 并计划在即将到来的 Kubernetes 版本 (1.22) 中于 2021 年末完全删除 Docker.
由于 Kubernetes 是容器化生态系统中重达 800 磅的大猩猩, 因此 2021 年将是 Docker 终结的起点. 从好的方面来看, CRI 和 OCI 将在 2021 年获得更大的发展动力, 尤其是基于 CRI 的集装箱将在 2021 年获得巨大的推动力.
5. 计算: 量子计算将获得发展动力
量子计算是此列表中最具革命性的技术. 像数字计算机一样, 它具有影响每个部门的潜力. 我创建了 2030 年代最热门的技术列表, 而 Quantum Computing 排名第一.
透视一下: 如果我们将当今最先进的超级计算机视为普通人, 例如国际象棋玩家或 8 年级数学学生, 那么量子计算就是像 Magnus Carles 这样的 Supergenius, 他可以玩 50 副平均国际象棋. 一次或天才的数学家像欧拉这样的球员.
2020 年, 量子计算领域取得了一些重大突破和进步. 霍尼韦尔在 2020 年 6 月宣称自己创造了功能最强大的量子计算机, 超越了谷歌之前的记录.
仅几天前, 来自中国科学技术大学 (USTC) 的一组科学家表明, 量子计算机可以在特定任务 (高斯玻色子采样) 上轻松击败最先进的经典超级计算机.
许多政府和技术巨头都在探索和投资量子计算. Google 和 IBM 是该领域中最大的两家. Google 甚至启动了一个开源库 TensorFlow Quantum(TFQ), 用于对 Quantum Machine 学习模型进行原型设计.
亚马逊还通过其 Amazon Braket Cloud Service 提供托管量子计算服务.
考虑到巨大的兴趣及其无限的可能性, 2021 年的《计算机量子》将有一些突破和令人 jaw 目结舌的发现.
如果您想探索量子计算, 那么可以使用开源 SDK qiskit, 它也提供免费课程.
6. 区块链: 过山车将继续
区块链 (分布式账本) 也是最近开发的主要破坏性技术之一. 从技术角度来看, 它具有改变整个行业的潜力. 尽管加密货币在普及该技术方面发挥了主要作用. 在 Gartner 的 "炒作周期" 曲线的 "通胀预期峰值" 中, 该技术也发挥了重要作用.
许多流氓实体利用比特币的流行性, 并创建了骗局项目, 以欺骗想要在短时间内致富的普通百姓. 现在, 区块链正在经历炒作周期曲线的 "幻灭低谷". 此外, 政府正在干预加密货币以防止欺诈. 最近, 中国政府没收了一个加密货币骗局 "Plus Token Ponzi".
Facebook 在 2019 年发布了 Cryptocurrency Libra, 但在 2020 年受到了巨大的监管压力.
以太坊等其他开源区块链正在将代码放入区块中, 从而有可能将其用作智能合约, 这是区块链的未来.
到 2021 年, 区块链将更多地用作智能合约机制, 并有望进入 "启蒙运动" 阶段. 随着中国将其雄心勃勃的 500 万亿 "新基础设施" 计划纳入其中, 区块链将在 2021 年获得重大推动.
7. 人工智能: 人工智能将为所有人服务
作为近来最热门的技术之一, 人工智能在 2020 年也取得了许多突破. 另一个有趣的趋势是, 人工智能以 "人人享有 AI" 的口号开始慢慢进入所有领域.
在自然语言处理领域, GPT-3 是 2020 年 5 月最大的突破. 美国公司 OpenAI 创建了 GPT-3, 这使得使用深度学习创建类似于人的文本成为可能. 仅四个月后, 使用 GPT-3 撰写了以下《卫报》文章, 整个世界同时感到惊讶和震惊.
2021 年, 自然语言处理将取得突破, 人工智能将在其中编写文章或编写小型软件程序.
另一个有趣的开发是 AutoML 2.0, 它支持自动化功能工程. 到 2021 年, 全周期 AI 自动化将取得重大进步, 人工智能将进一步民主化.
人工智能并非一帆风顺, 道德的人工智能正变得越来越受关注. AI 的另一个主要趋势是可解释的 AI, 这将需要解释为什么 AI 做出了某个决定. 到 2021 年, 随着欧盟制定法规解释 AI 的决定, 这些领域将取得重大进展.
人工智能还将在 2021 年及以后的航空业中得到广泛采用. 就在几天前, 美国空军使用 AI 作为副驾驶员驾驶飞机.
未来, 人工智能还将成为中国基于数字基础设施的核心.
预计 2021 年人工智能将有许多令人振奋的创新和民主化.
8. 深度学习库: 它将是 TensorFlow 2.0 和 PyTorch
Google 和 Facebook 是深度学习和神经网络领域的两个主要参与者. Google 的主要业务是搜索功能, 并且是自然语言处理领域的领先创新者. Facebook 的主要业务是社交网络, 它必须处理图像, 视频和文本. 在图像处理方面, Facebook 是众多创新技术的领导者.
谷歌的 TensorFlow 是深度学习领域的领先图书馆, 但 2016 年 Facebook 发布 PyTorch 时一切都发生了变化. PyTorch 使用动态图代替静态图 (由 TensorFlow 使用), 并且对 Python 更友好. 谷歌对此做出了回应, 在 2019 年创建了 TensorFlow 2.0, 该版本复制了许多 PyTorch 功能(动态图, Python 友好性). 它还可以与 Google 的 Collab(一款非常强大的现代笔记本电脑) 完美配合. 从那时起, Google 享受了 TensorFlow 2.0 受欢迎程度的回升. 根据 2020 年 Stack Overflow 开发者调查, TensorFlow 目前是最受欢迎的深度学习框架:
> Source: Stack Overflow Developer Survey, 2020
另一方面, 开发人员喜欢与 PyTorch 合作, 以获取更好的开发人员人体工程学设计, 因为它更受开发人员的喜爱:
> Source: Stack Overflow Developer Survey, 2020
同样在 2021 年, TensorFlow 2.0 和 PyTorch 将成为企业和社区的 "首选" 库. 拥有现有 TensorFlow 代码库或想要使用 Collab Notebook 的公司应使用 TensorFlow 2.0. 深度学习新手或想要继续使用 Juypter Notebook 的公司或个人应选择 PyTorch.
9. 数据存储: 一种尺寸不会填充全部
现代数据库环境充满了选择和广泛的变化. 我们有经典的 SQL 数据库, 主要是四大数据库: MySQL,Oracle,MS-SQL,PostgreSQL. 我们还有 NoSQL 数据库, 它主要包括数据库系列: 文档数据库, 键值数据库, 宽列数据库, 时间序列数据库, 搜索数据库, 图形数据库. 还有许多其他类型的数据存储.
最近, 我们看到了所谓的全球分布式 ACID 事务数据库或 NewSQL 数据库的热潮. Google 凭借其 Google Spanner(首个水平可读写 ACID 兼容水平数据库)在这里处于领先地位. 亚马逊还具有可水平扩展且符合 ACID 要求的数据库 Amazon Aurora, 该数据库提供几乎所有 SQL 功能, 但不提供水平写入扩展. 在超大规模云提供商之外, CockroachDB 还是一个非常杰出的 NewSQL 或分布式 SQL 数据库.
到 2021 年, 数据存储生态系统将保持不变, 并具有许多选择. 不会有可以满足所有目的的 Master 数据库. 同样在 2021 年, 经过仔细考虑, 选择正确的数据库将是一项非常具有挑战性的任务.
许多流行的数据库已更改其许可证 (MongoDB,Cassandra,Redis,Kafka), 因为超大规模云提供商(尤其是亚马逊) 滥用了其创新技术并赚了钱而没有偿还. 这一趋势将在 2021 年持续下去, 其他初创公司或创新型公司将使用限制性更强的许可证来保护自己免受恶意云提供商的侵害.
10. 数据密集型计算: Spark 将继续保持领先地位
仅在几年前, Hadoop 是数据密集型计算或分布式批处理作业的默认选择. Apache Spark 当前是首选的供应商中性分布式批处理作业平台, 在大多数情况下几乎替代了 Hadoop.
这一趋势将在 2021 年持续下去, Spark 将被用作数据密集型计算的首选平台. Spark 是一个基于 JVM 的系统, 占用大量资源, 您将获得巨额的 Cloud 费用. 但不幸的是, 目前还没有资源节约型的 Spark 强大和成熟的框架.
所有主要的云提供商都拥有自己的 Cloud Native 解决方案, 以进行数据密集型计算. 我的两分钱建议是在 2021 年使用 Spark over Cloud 特定解决方案, 以避免供应商锁定.
11. 实时流: Flink 将是显而易见的选择
近年来, 随着企业抛弃传统的 Lambda 体系结构, 转而支持实时流处理框架, 实时流变得越来越流行.
另外, 这里存在两种类型的框架. 一个是由 Spark Streaming 领导的基于 Micro-Batch 的平台. 另一个是由 Apache Flink 领导的低延迟流处理平台.
对于需要实时流传输的场景(欺诈检测, 异常检测, 基于规则的警报, 实时数据的临时分析),Apache Flink 排除了 Spark Streaming.
所有 Hyperscale 云提供商都提供自己的解决方案. 我建议您在 2021 年选择基于 Spark 的 Flink 或专有的云解决方案, 因为它在实时流处理方面具有无与伦比的功能.
12. 数据平台: 其他玩家将跟随 Snowflake
现代数据架构非常复杂. 它包含数据源, ETL 管道, 数据仓库, 数据湖, 数据分析工具以及许多其他组件. 这是企业数据平台 (ABM AMRO 的数据平台) 的示例使用案例:
https://medium.com/abn-amro-developer/abn-amros-data-integration-architecture-f33506a211c3
Snowflake 通过提供一个集中式数据源, 一个平台并在其上构建许多不同的工作负载, 彻底改变了现代数据体系结构. 在经典体系结构中, 数据需要在不同的阶段移动, 但是 Snowflake 中只有一个 "数据的真实来源".
对于所有人来说, 这都不是完美的用例. 但是, 对于许多人来说, 它将使数据平台和数据仓库民主化并增强其功能. 甲骨文首席执行官拉里. 埃里森 (Larry Ellison) 分享了它已经动摇了数据仓库市场.
我希望在 2021 年能有更多的创新, 使 Snowflake 像一个单一的企业级数据平台一样. 对于许多公司来说, 这将是一个巨大的帮助和改变游戏规则.
13. 快速的应用开发: 低代码 / 无代码将扩展
快速的数字化转型在软件工程师的供需方面造成了巨大的差距. 尽管越来越多的新开发人员加入该行业, 但这还远远不够. 近年来,"低代码 / 无代码" 计划正在获得发展.
市场上有许多低代码 / 无代码平台, 主要是在 web 开发中, 如 Bubble. 他们的成功也为其他领域的 LCNC 开发铺平了道路: 无代码应用程序开发, 无代码 AI, 无代码机器学习. LCNC 工具可以促进业务或具有出色创意的人.
而且, 正如我去年所预测的, 公共云提供商正在提供 LCNC 服务. 微软提供 Power Apps, 谷歌提供 AppSheet,AWS 提供 Honeycode 作为 LCNC 平台, 以快速构建应用.
在 2021 年, LCNC 将成为众多创新, 合并和收购的热门领域之一. 如果您是个有创意的个人或企业, 请注意 2021 年的 LCNC.
14. 软件架构: 微服务, 巨石架构, 无服务器将共存
近年来, 微服务架构已成为大规模企业应用程序开发中的首选. 但是, 设计微服务应用程序比 "一种尺寸适合所有人" 的整体应用程序要复杂得多. 正如我在以下文章中列出的那样, 微服务架构需要一套最佳实践.
像任何其他软件体系结构一样, 微服务也有其出色的用例和失败的极端案例. 正如我在这里总结的, 它还需要一组设计模式.
近年来, 由于微服务架构的复杂性和在某些用例中的失败, 人们对此表示强烈反对. 伟大的 Kelsey Hightower 在以下 Tweet 中总结了对微服务的批评:
它与我们几年前看到的整体建筑受到批评并被认为是过时的趋势形成鲜明对比. 实际上, Monolithic Architecture 也是一种很棒的体系结构, 正如我在以下文章中所述, 它最适合其中.
近年来, 另一种备受关注的软件架构是无服务器架构. 亚马逊通过其突破性的 AWS Lambda 服务开创了无服务器计算服务的先河, 该服务由开发人员仅编写代码, 而服务提供商则管理服务器. 它也是一种被某些人大肆宣传而又被其他人批评的架构. 像 Monoliths 和 Microservices 一样, Serverless 也不是 Silver Bullet, 应该在适合的地方使用(例如, 事件驱动和突发负载).
在 2021 年, 所有软件体系结构 (Monolith, 微服务, 无服务器) 将共存, 因为它们都有自己的用例, 优点和缺点. 我建议选择微服务来进行大规模企业开发(传统上使用 SOA), 使用 Monoliths 进行小规模开发, 选择无服务器来进行事件驱动和突发负载.
15. 编程(主流):Python 和 JavaScript 将引领潮流
近年来, 编程语言格局也正在发生重大变化. 传统的重量级编程语言正在将市场份额转移到更简单且对开发人员友好的编程语言上. 2020 年 1 月, 我对需求型语言进行了广泛的分析, 并将 Python 和 JavaScript 分别放在第一和第二位.
最后, 最受欢迎的编程语言排名网站 TIOBE 承认了这一变化, 并将 Python 置于 Java 之上.
随着软件开发行业的蓬勃发展以及大量新开发人员的加入, 更简单, 对开发人员友好的编程语言将在 2021 年变得更加流行.
Python 是数据科学中排名第一的编程语言, 几乎是除底层编程之外的所有其他领域中的排名第二或第三的语言.
JavaScript 是 Web 开发中无可争议的第一语言, 并且在包括后端开发在内的其他领域也越来越流行. 对于初学者来说, 这也是一种完美的语言.
Java 正在逐渐失去其作为最流行的编程语言的流行性. 但是, 凭借其传奇性的向后兼容性和可喜的变化(6 个月的发布周期, polyglot 虚拟机 GraalVM), 它将继续成为企业软件开发中的第一选择.
C ++ 是另一种主流编程语言, 近年来正在发生重大变化. C ++ 20 仅在几天前发布, 它将彻底改变 C ++ 的编程方式. 它是近年来最具破坏性的 C ++ 发行版之一, 并可能在 2021 年及以后对它的普及产生巨大影响.
到 2021 年, 主流编程语言将保持自己的地位, 尽管它们会受到现代编程语言的压力.
16. 编程(现代):Rust 终于到来
过去几年中, 编程语言领域的另一个有趣趋势是现代编程语言的兴起. 较旧的语言已经不堪重负, 无法通过添加越来越多的功能 (C ++) 来快速移动 (Java) 或变得更加臃肿和令人生畏.
现代和较新的语言不再需要繁重的工作, 可以满足当今开发人员的需求. 他们中的大多数人专注于开发人员的人机工程学, 并支持现代功能, 例如类型推断, 无效安全性, 表达性和简洁性. 他们中的许多人还旨在利用现代硬件和现代基础架构(云, 多核, GPU,TPU).
正如我在以下文章中所预测的那样, 由 Rust,Go,Kotlin,Swift,TypeScript 领导的现代编程语言日渐流行.
由于它们是增长最快的语言之一, 这种趋势也将在 2021 年继续.
其中, Rust 将在 2021 年取得突破, 因为该行业终于注意到了这一点. 根据 Stack Overflow 开发人员调查, 在过去的五年中, 它是最受欢迎的编程语言:
> Source: Stack Overflow Developer Survey, 2020
对于安全性敏感和复杂的项目, Tech Giants 最终使用 Rust 而不是 C / C ++. 微软最近宣布, 他们将使用 Rust 修复安全错误.
就在几周前, 亚马逊宣布对 Rust 进行大量投资, 并在此说明了理由.
Google 的 Go 语言已经成为主流和公认的编程语言. Go 2 版本计划进行许多改进, 将来它将变得更加流行.
JetBrain 的 Kotlin 已经将自己确立为 JVM 生态系统中第二流行的类型化编程语言. 在 Android App 开发中, 它已经超越了 Java.
微软的 TypeScript 已将自己牢固地确立为 JavaScript 的替代类型. 最近, 随着许多复杂的项目 (例如 Deno,vue.js) 更喜欢 TypeScript 而不是 JavaScript, 它的受欢迎程度有了巨大的飞跃.
苹果公司的 Swift 已经取代了 Objective-C, 成为 macOS 和 iOS 中的首选语言. 它还看到其他领域的采用.
在科技巨头的支持下, 预计包括 Rust 在内的现代编程语言将在 2021 年获得更多的关注, 普及和使用.
17. 客户端 Web 框架: React 将继续领跑
大多数面向用户的企业应用程序是 Web 或移动应用程序. 在 Web 开发中, 基于 JavaScript / TypeScript 的客户端 Web 框架已经占据了主导地位. 趋势是将 JavaScript 框架用于 UI 开发, 将服务器端框架用于后端开发, 其中前端和后端是独立的服务.
Facebook 的 React 是客户端网络框架中的领导者. 它是行业中引领潮流和使用最广泛的框架. 如果您想进一步了解基于 JavaScript 的客户端框架, 则可以阅读以下文章.
到目前为止, React 是下载次数最多的客户端 JavaScript 框架, 如下所示:
> Source: NPM trends
尽管 React 不是最受欢迎的 Web 框架, 但该荣誉又归功于另一个基于 JavaScript 的 Web 框架 vue.JS:
> Source by Author
它也是中国排名第一的框架, 因为 Vue.JS(Evan You)的创建者是中国前 Google 开发人员. 不幸的是, Vue.JS 在美国 / 欧洲的采用率相对较低.
Google 的 Angular 落后于 React 和 Vue.JS, 但仍然是一个可靠的框架. 但是, 最近最革命的 Web 框架是 Svelte. 与其他框架不同, Svelte 是一个非运行时框架, 专注于编译步骤.
在 2021 年, 所有主要的基于 JavaScript 的框架都将相互学习, 并从其他框架中适应功能. 他们将在 2021 年进一步融合.
18. 服务器端 Web 框架: 适用于企业的 Spring 和 ASP.NET Core
服务器端框架是提供端到端 Web 开发的端到端框架, 包括通过服务器端渲染的视图层. 但是, 正如已经提到的, 现代的趋势是仅将它们用于后端.
基于 JVM 的 Spring 框架是企业开发中排名第一的服务器端框架. 它还提供了开发大型和复杂应用程序的所有必要功能: 控制反转, 依赖注入, 云原生开发, 响应式和事件驱动的应用程序开发, 快速应用程序开发. 同样在 2021 年, Spring 将仍然是企业的第一后端框架. 在上一篇文章中, 我将 Spring 作为服务器端 Web 框架的第一名.
微软的 ASP.NET Core 是另一个引人注目的多语言 Web 框架, 可与流行的 JavaScript 框架 (React,Vue.JS 和 Angular) 无缝协作. 在 2021 年, ASP.NET Core 将成为企业服务器端开发的主要参与者.
许多初创公司和小型公司希望拥有一个包括 View 层在内的端到端框架, 以进行快速的应用程序开发. 基于 Python 的 Django,PHP Laravel 和 Ruby on Rails 在 2021 年将是它们的绝佳选择.
19. 应用程序开发: 本机应用程序将继续占主导地位
智能手机现已成为我们日常生活的一部分. 智能手机用户数量已经是 35 亿, 明年将达到 38 亿:
> Source: Statista
因此, 移动应用程序对于最终用户, 特别是对年轻一代而言, 变得越来越重要.
在移动应用程序开发中, 有四个主要趋势: 本机应用程序开发, 跨平台应用程序开发, 混合应用程序开发和基于云的应用程序开发.
本机应用程序开发可提供最高的灵活性, 并具有最佳的性能和用户体验. 但是开发成本最高, 因为企业需要保留两个独立的团队.
跨平台 App 开发正变得越来越流行, 因为几乎相同的代码库可用于 iOS 和 Android App 开发. 尽管开发成本很低, 但它的灵活性较差, 性能不如 Native 应用程序.
近年来, 基于云的应用程序变得越来越流行, 其中数据和主要业务逻辑仍保留在云中. 开发了特定于设备的瘦客户端, 该客户端连接并从云中获取数据. 虽然对于精通数据的应用程序来说是更好的选择, 但对于常规 App 开发而言, 它并不是主流.
尽管跨平台应用程序开发正在赶上, 但本机应用程序开发仍然是企业进行常规应用程序开发的更好选择. 在 2021 年, 企业将更喜欢本机应用程序开发, 而初创公司和小型公司将更喜欢跨平台应用程序开发.
20. 跨平台应用程序开发: React Native 将占主导地位, 但 Flutter 将赶上
跨平台应用程序开发由于价格便宜而变得越来越流行. 市场上有许多跨平台应用程序开发平台, 但 Flutter 和 React Native 是领导者:
Facebook 的 React Native 基于最流行的基于 JavaScript 的 Web 开发框架 React. 它的口号是 "学习一次, 随处写".Facebook 正在积极开发 React Native, 他们正在与 27 亿 Facebook 用户一起测试其功能. 如果公司已经具有用于 Web 开发的 React 和用于应用程序开发的 React Native, 则他们可以在 Web 和移动开发之间共享组件和代码库. 另外, React Native 基于 JavaScript,JavaScript 是最流行的编程语言之一. 当前, React Native 比 Flutter 更为流行, 如下所示:
> Source: Stack Overflow Developer Survey, 2020
在 2021 年, React 将主导跨平台应用程序开发, 因为 React 和 React Native 性能将有重大更新.
Google 的 Flutter 是一个相对较新的框架, 但近年来变得非常流行. 它提供了功能强大的 UI 工具包, 可通过一个代码库构建漂亮的, 本机编译的移动, 桌面和 Web 应用程序. 但是, Flutter 还不是像 React 这样的 Web 开发中的主要框架. Flutter 使用了现代的编程语言 Dart, 它是增长最快且生产力最高的编程语言之一. 在性能方面, Flutter 优于 React Native. 它还提供了更好的开发人员人体工程学, 并且开发人员喜欢使用 Flutter:
> Source: Stack Overflow Developer Survey, 2020
与 Facebook 相比, Google 将所有精力都放在 React Native 上, 而 Google 在 Web 和 App 开发中拥有许多框架(例如 Angular for Web), 而不是将所有精力都放在 Flutter 和 Dart 上.
综合考虑所有因素, 我预测 React Native 将在 2021 年超越 Flutter, 因为 Facebook 计划在 React 生态系统 (Achille's Hill for React Native) 中进行重大性能改进.
21. API: 用于业务应用程序的 REST
近年来, 微服务架构和无服务器变得越来越流行. 微服务或纳米服务需要进行通信, 通常, 在事件驱动的异步通信上使用同步通信. 甚至传统的 Monoliths 也通过同步通信进行通信.
REST 是 2020 年最主要的 API 技术. REST 是基于 Web 技术的通信标准. 现在已经有相当一段时间了(20 年).REST 和 SOAP 几乎同时出现, 但是在 SOAP 被视为传统技术的情况下, REST 仍然占统治地位. 无论是大型企业还是小型初创企业, REST 无处不在. 同样在 2021 年, REST 将继续占据主导地位.
API 领域也有一些优秀的候选人. 最突出的是 Google 的 gRPC. 与 REST 不同, gRPC 是 RPC 协议, 例如 SOAP.Google 从较早的 RPC 协议中吸取了教训, 并创建了适合现代软件开发需求的 gRPC.gRPC 代替 JSON, 使用高性能的消息传递格式协议缓冲区(也由 Google 开发). 结果, 与 REST 相比, gRPC 的性能更高, 可读性更差. 在机器对机器通信中, 这是显而易见的选择.
Facebook 的 GraphQL 是另一种越来越受欢迎的 API 技术, 尤其是对于 UI 开发人员而言, 它很受欢迎. UI 通常需要对后端进行大量 API 调用, 以获取其所需的所有数据. GraphQL 允许聚合 API 以减少 UI 和后端之间的聊天通信. GraphQL 的一个主要缺点是它不适用于高安全性问题开发.
这三者实际上有各自独立的用例, 并且可以相互补充, 并且这种趋势将在 2021 年继续.
结论
在这里, 我使用当前的趋势, 数据和事实对 2021 年最重要的软件开发趋势进行了 21 个预测. 整个软件开发行业规模更大, 而且我无法涵盖许多重要领域.
另外, 我已经简要讨论了一些主题, 例如, 数据存储, 这需要单独的文章. 另一方面, 我已经对某些主题进行了更详细的介绍. 另一个有趣的事实是四个技术巨头: 谷歌, Facebook, 亚马逊和微软如何在软件开发的几乎所有领域占据主导地位. 我希望本文能对您在 2021 年之前的软件开发趋势提供 360 度的概述.
来源: http://news.51cto.com/art/202012/637233.htm