インフラストラクチャ:最終的にはクラウド
クラウドサービスは現在、それぞれ、より暴力的になり、ますます人気が高まって、だけではなく、クラウドサービスを使用してスタートアップ企業では、さらにいくつかの非常に保守的な会社、およびセキュリティ企業の非常に大きな重要性の一部は、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 和内存的耗费很高,在云环境中,账单较大。
很多公司希望能有新的框架能减少他们的账单,但很可惜,现在还没有。
大数据流处理:Flink
以前实时流处理是不可能的,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
推荐阅读: