2020ソフトウェア開発動向

インフラストラクチャ:最終的にはクラウド

クラウドサービスは現在、それぞれ、より暴力的になり、ますます人気が高まって、だけではなく、クラウドサービスを使用してスタートアップ企業では、さらにいくつかの非常に保守的な会社、およびセキュリティ企業の非常に大きな重要性の一部は、2020年の勢いにクラウドをクラウドに始めています種子会社のボリュームは、企業の種類がクラウドに移行されます。

コンテナ:Kubernetesを冷却します

主人公Kubernetes、ドッカー群発、Mesos含む容器装置の分野で。

現在の明白な利点、成長の勢いをKubernetes。

クラウドは、分散環境、およびKubernetes・オペレーティング・システム(分散型のLinux)です。

2020年にKubernetesは、より強力になる背骨のクラウド環境になります。

ソフトウェアアーキテクチャ:マイクロサービス主流に

これは、Googleの統計サービスマイクロトレンドです。

主な理由の急速な加熱はそのミクロサービスは、クラウド環境と迅速な開発機能のための理想的です。

開発:Pythonは、世界を巻き込むだろう

機械学習、データ分析、データ処理、Web開発、企業の発展......、Pythonのどこにでも。

Pythonは人気のある言語C.後のJava、三番目に大きいとなっています:TIOBEの統計があることを示しました

そして、成長の勢いはかなり激しい、2019年には5%から10%に上昇しています。

2020年にPythonはJavaとCさんとのギャップを狭め、急速に開発していきます。

なぜPythonが高騰しますか?主な理由は、低学習曲線の、非常に良いコミュニティがあり、科学データのようなものです。

エンタープライズ開発:JavaとJVMは王であります

上の写真から、TIOBEは、Javaの優位性を見ているです。

JVMランタイム環境は、Kotlin、スカラ座、Clojureは、Groovyのような言語、多くのとなっています。

OracleのJavaは電荷に、幸い私たちは、多くの企業がエンタープライズクラスを提供します解放OpenJDKのためのサポートがあります。

サイズと速度、今日のサーバレスモードに適していないJVM言語ではなく、エンタープライズクラスの安定性と信頼のレベルでは、Javaのよりも良い選択肢がないのため、Javaは先数年間のためにそう残ります。

Javaのエンタープライズ開発:春

曾经 Spring 与 JavaEE 有着激烈的竞争,目前 Spring 完胜,因为其开发方式更加积极、对环境的变化响应更快。

2020年 spring 仍是 no. 1 的框架。

目前有2个正在开发的项目,极具吸引力,使Java更小、更灵活,从而使Java成为 Serverless 的一个好的选择。

他们是:Micronaut 和 Quarkus。

开发:Rust, Swift, Kotlin, TypeScript 会有一个突破

曾经很多人认为不再需要新的语言了,Java, C, C++, JavaScript, Python 已经足够满足所有的需求了。

然而很多有趣的语言出现了,例如 Rust, Swift, Kotlin, TypeScript。

原因是之前的主流语言对新的硬件特性不能很好的利用,例如多核、更快的网络、云环境。

还有一个因素在于这些现代的语言更加关注开发者的体验,可以更快更简单的开发。

这是开发者喜爱的语言调查结果。

最近,微软和亚马逊都对 Rust 很感兴趣,会提供支持和赞助。

Kotlin 也成为了 Java 的有利竞争者,Google 在 Android 中对 Kotlin 进行了官方支持。

Angular 使用 TypeScript 作为其主要的开发语言,替代了原始的 JavaScript。

React 和 Vue 也都开始支持 TypeScript。

Web:JavaScript 继续主导

以前,前端开发是在后端框架中完成的,例如 JSF, Ruby on Rails, Django, Laravel,然后在服务端渲染出来。

2014年被 AngularJS 改变了,之后大量优秀的web框架出现了,例如 Angular 2+, React, Vue.js, Meteor.js。

JavaScript 框架领域的创新性极强,而且随着微服务架构的升温,JavaScript 框架会继续主导前端开发领域。

JavaScript Web 框架:React 领先

React 带来了很多新鲜的创新的前端开发思想,例如事件源、虚拟DOM、单向数据绑定、基于组件的开发等等。

Google 从中吸取了经验,废除了 AngularJS,重新开发了 Angular2+。

Angular 也是一个坚实的框架,尤其是在企业开发中,Google 仍将继续大力支持。

Vue 也是非常优秀的,被很多机构和社区支持。

APP 跨平台混合开发:React Native

这个领域已经有很多选择,例如:Xamarin、Ionic、React Native、Flutter。

Facebook 基于成熟的 React 框架开发的 React Native 取得了高度成功。

Google 推出了 Flutter,提供了更好的性能,但是,需要使用非主流语言 Dart。

2020年 React Native 会继续主导此领域。

API:REST

这个领域除了传统的 REST,也有其他选择,Google 的 gRPC,和 Facebook 的 GraphQL。

gRPC 是 Google 开发的强大的远程方法调用技术,使用 Protobuf 替代了 JSON 作为消息格式。

Facebook 开发的 GraphQL 用作聚合层,避免了频繁的 REST 调用。

2020年,REST 依旧是 API 的主导,gRPC 和 GraphQL 提供辅助功能。

数据库:SQL 主导,分布式 SQL 崛起

曾经很多人大炒 NoSQL,说 NoSQL 比 SQL 更好,将替代 SQL,但现在,大家都意识到离不开SQL。

数据库排行榜:

top 4 都是 SQL 数据库,这是因为 SQL 提供了稳定的 ACID 事务保障,这是很多商业应用所需要的。

NoSQL 数据库提供了水平扩展能力,但忽略了 ACID。

SQL 的 ACID、NoSQL 的水平扩展,都是我们需要的,所以 NewSQL 兴起了,也就是 Distributed SQL。

大数据计算:Spark 继续闪耀

Spark 已经替代了 Hadoop 成为企业分布式批处理的王者。

Spark 瞄准了 Hadoop Map-Reduce 的弱点,例如用内存处理代替高成本的落盘操作。

Spark 也有明显的不足,对 CPU 和内存的耗费很高,在云环境中,账单较大。

很多公司希望能有新的框架能减少他们的账单,但很可惜,现在还没有。

以前实时流处理是不可能的,Spark Streaming 通过微型批处理提供了近似实时的流处理能力。

Apache Flink 改变了世界,提供了实时流处理能力。

直到 2019,Flink 还没有竞争过 Spark,但阿里扭转了局势。

2020,Flink 将成为实时处理领域的第一选择。

Flink 的不足与 Spark 一样,极其消耗资源,企业的成本较高。

字节码:WebAssembly 会开始大量应用

JavaScript 最大的限制就是,还有就是单线程,无法利用现在硬件的优势,例如多核、GPU。

所以,很多计算密集型的应用,例如游戏、3D图形,就无法运行在浏览器上。

Mozilla 主导开发了 WebAssembly,是服务于浏览器的底层字节码格式,可以支持其他开发语言运行与Web,例如当前已经支持 C++, Rust。

翻译整理自:

https://towardsdatascience.com/20-predictions-about-software-development-trends-in-2020-afb8b110d9a0

推荐阅读:

おすすめ

転載: www.cnblogs.com/yogoup/p/12114176.html