Академический Документы
Профессиональный Документы
Культура Документы
SUMMARY
Trends summary
In this report we examine technology trends from a precise angle: reducing React Native continues to grow, and Flutter has surpassed Xamarin.
unnecessary complexity. Previously, we lacked adequate tools to fight this
necessary evil. Now, we have FaaS, CaaS, low-code, public cloud managed Tensorflow is still the most popular ML framework, AspNetCore has
services, as well as more specialized and improved programming languages. the fastest-growing community on GitHub, and Visual Studio Code
Industry efforts to tackle unnecessary complexity are an essential step for has the most open source contributors.
robust, secured, scalable and evolved architectures.
AWS reports 37% growth in 2019 compared with Azure at 59%,
and while the gap between the two decreases constantly , we don’t
expect AWS to lose its lead any time soon.
WebAssembly is the next big thing to significantly impact web
development, while Vue’s 3.0 release in 2020 will greatly affect
established front-end frameworks. (React and Angular will have
routine releases).
While new and innovative languages like Ballerina or Dark are on the horizon,
these languages are not yet trending. Developers favor new technologies
Automation gets a boost with RPA, API, low-code/no-code, ML, and that address unnecessary complexity and consistently ease their workload,
intelligent business process management. allowing them to write safer code.
HTTP/3 RFC is important as well, but as HTTP stays the same many
programmers might skip it.
Technology Trends 05
Major
Releases
Major Releases
2019
Here are the events
that captured our attention in 2019.
We’ve removed from the 2020 roadmap techs
that increment mostly minor versions continually
Q1 Q2 ike Rust, React Native, Ansible, Wordpress,…
Java 12 MariaDB 10.4 .NET Framework 4.8 Ruby on Rails 6
Vue.js 2.6 Wordpress 5.1 Django 2.2 Xamarin 4.0
Angular 8 Go 1.2 Visual Studio 2019 Eclipse 2019-06
Q1 Q2
TypeScript 3.4 Q# 0.7 Android 10 Q Qt Creator 4.9.0
Swift 5.1 ASVS 4.0 Symfony 4.3 Neatbeans 11 Java 14 Microsoft Edge 1.0 ECMAScript 11 Node.js 14
Ainsible 2.8 Svelte 3 Vue.js 3.0 Swift 5.2 HTTP/3 RFC Xamarin 4.5
80% of browsers
are compatible with WebAssembly Node.js 12.x ECMAScript 10 Angular 10 Android 11
Q3 Q4 Q3 Q4
React Native 0.61 Elixir 1.9 Django 3.0 WebAssembly 1.0 Angular 11 Java 15 .NET 5 C++ 20
Angular 9 Rust 1.38 MongoDB 4.2 Tensorflow 2.0 F# 5 Ruby 3
React 16.9 MongoDB 4 React 17 Dart 2.6 React 18 PostgreSQL 12
.NET Core 3.0 CLion PostgreSQL 12 Coq 8.10 PostgreSQL 11
Kotlin 1.3.4 Agda 2.6 Vue.js RFC 3.0 Rust 1.39, 1.40
2020
Python 3.8 WebStorm Ruby 2.7 TypeScript 3.7
GoLang 1.13 Blazor PHP 7.4 Node.js 13
C# 8 F# 4.7 Android Studio 3.2.1 Kafka 2.4.0
Java 13 dlang 2.088 Symfony 5.0
Technology Trends 09
Programming
Languages
Programming Languages
Different languages,
Different leagues
Java, C, C#, PHP, Python, and JavaScript are in the first league.
Erlang, Dart, Objective-C, and most, if not all, of the remaining languages
are in the third league.
Technology Trends 13
Programming Languages
But, Google Trends show that since 2004, interest in Java has been waning.
source: TIOBE
Following these trends for several years now, we believe there is a good
chance that Java will lose its top spot in the TIOBE index. Many statistics
show a downward trend.
Java is number five on Stack Overflow’s 2019 Developer Survey (it was
number three in 2017)
source: TIOBE
Technology Trends 15
Programming Languages
Java is second on RedMonk’s “most popular” chart But the pace of modernization, the arrival of more specialized and higher
in the 3rd quarter of 2019. performing languages like GO, and the development of ML/DL around C/C++
and Python prevented an increase in adoption. Will the two-year releases
bring enough innovation to regain traction? We don’t know.
source: RedMonk
We conclude that due to mobile disruption, Java has lost its `run everywhere’
place in the world. Since the most popular big data technologies (Hadoop,
Spark, Kafka, and others) are Java-based, we believed that the big data
revolution would revive Java.
Technology Trends 17
Favouring
Clarity over
Efficiency
Favouring Clarity over Efficiency
Technical debt in our projects is quickly at its highest. Without the proper tools, workflows and connectors, serverless and low-code technologies.
capabilities (skills, tools, technology, methodology, governance, and mindset) Developers who use these tools favor clarity. Until recently, it was difficult
to continually increment software, entropy will hit us hard. Joe Armstrong, an for them to admit there are many ways to increment systems (some of them
inventor of Erlang, once said: between Efficiency and Clarity (in programming) require less code).
we’ve chosen systematically Efficiency. To make something clearer, we add a
layer of abstraction. To make something more efficient we need to remove a In the age of digital platforms and cloud computing, it was difficult to balance
layer of abstraction. We should choose more clarity! the Lego approach and the Organ approach, so now a new generation of
solutions have appeared on the horizon.
From the major public cloud providers, we find that Microsoft offers the most
consistent solutions (PowerApps, Flow, Data Factory, Logic Apps, etc.). AWS,
Low-code/no-code a leader in public cloud services, doesn’t yet offer low-code capabilities.
Serverless workflows Integration companies like MuleSoft, Dell Boomi, and SnapLogic don’t provide
enough tooling for software engineers to merge low-code with traditional
Building systems with code is like creating living organs. Complexity increases programming approaches, and data platforms like (KNIME, TIBCO, RapidMiner
in a matter of months, and as a consequence, the system becomes unstable. or Dataiku) target completely different audiences than software developers.
Once the organ is viable, developers perform many surgeries on it. But not
everything needs to be as complex as creating an organ.
When we:
connect with OpenId, Static typing, type inference
move data from the CRM to the DataLake, Or new language supersets
shift from one storage to another (DataWarehouse -> Speed Layer),
create analytics pipelines and self-service BI, One of the most critical cause favoring accidental complexity is the lack of
build APIs, strong typing. If there is one impediment of seeing dynamic languages as
implement CRUD operations (with simple validations), the champion of all languages that is type safety. Despite a high degree of
use RPA (not covered in this version of trends), flexibility, developers tend to lose a lot of time debugging simple errors.
... Compilers need to become more efficient. That’s why there is a lot of buzz
about Dependency Type Systems in functional programming (tackled
Grown-up integration and RAD solutions already exist. These activities tend by Haskel and implemented in Agda). That’s why we have the incredible
to be much more like Lego building and are enabled by cloud data integration adoption of TypeScript. And this is also why great Ruby advocates like Ryan
Technology Trends 21
Favouring Clarity over Efficiency
Levick speak about Value Rigidity and the necessity to carefully choose a Some of the rumors came from TIOBE; they ranked TypeScript #43 and Dart
language before using it (Ruby being criticized by the lack of type inference). #24. But don’t pay attention to the TIOBE index – it is shamefully misleading
in this case. Dart didn’t enter in the Enterprise world like TypeScript. And
Therefore, it’s unlikely that a new language will emerge today without while it may gain more popularity since Flutter has excellent potential, it
an explicit typing mechanism that the compiler can check to better assist must still overcome many challenges.
developers (win their time). The following Google Trends chart explains it all:
TypeScript language
When talking about safer, faster, and most stable code development,
TypeScript stands out.
source: google trends
Despite skepticism about it being a `syntatic sugar` no one should care
about, there isn’t a well-established front-end framework (Vue, React,
Angular) without support for TypeScript and associated tooling. In France, Dart is nearly nonexistent in the business world. However, it’s worth
mentioning that Dart is the fastest-growing language on GitHub (532%),
TypeScript Ranking: followed by Rust (235%), HCL (213%), Kotlin (182%) and TypeScript (161%).
#7 on Octoverse GitHub, ahead of Ruby, C,
and many other languagesthe
7th most-used and 3rd most-loved language on StackOverflow
62% of companies in the npm Survey confirmed using TypeScript WebAssembly
Some people launched rumors about either Dart or WebAssembly replacing If there’s one thing that you should take away from reading this report, it’s that
TypeScript. It’s all #fakenews! WebAssembly will revolutionize the Web and more. And, regarding JavaScript
and TypeScript, WebAssembly also has the potential to bring other great
languages like Python and Ruby to the Web Or maybe it’s just a matter of
time until TypeScript compiles into WebAssembly and bypasses JavaScript?
Technology Trends 23
Favouring Clarity over Efficiency
complexity just to set the app to her working environment (setting up rails,
Ballerina language Heroku, gems for auth, dependencies and versions, change across 12 files,
connection to Twillio) without even delivering a feature or implementing
A new language called Ballerina is working to improve the distributed some error logic. That’s how she ended up founding Dark: a language for
integration gap in an increasingly disaggregated world. Historically, integration building backends – “deployless” backends.
architectures like ESB, BPM, EAI (and associated products) tackled these
agile-impossible challenges with general-purpose programming languages Here are some highlights:
like Java, JavaScript, or C#. used to build workflows from endpoints to datastores
online IDEs
Ballerina is an open-source programming language and platform for connectors (setup)
writing software for the cloud era that just works. It has network in the real-time debugging and data tracking
language (HTTP/2, WebSockets, WebSub, AMQP, JSON, gRPC, OpenAPI);
it automatically generates the associated sequence diagram as meta Of course, Dark is still experimental. The authors seem to be so confident
information and is developer-centric. Ballerina’s promise is to bring the that they have doubts about outsourcing it (this is new in the 21st century).
facilities of distributed computing as part of the application logic. Dark is not yet production-ready, but the emergence of such tools shows a
brighter programming future.
While it has tighter purpose than Go (generic purpose language for concurrency
challenges), it seems easier to learn and was built with security, scalability,
and observability in mind. It generates deployment artifacts for Docker and
Kubernetes. It is already compatible with Kubless and OpenWhisk.
Go is a generic design; it doesn’t solve networking problems, just concurrency GOLang
challenges). Type’s system is slightly more beautiful than Go’s and easier to
learn than Ballerina. As Rob Pike explains, he created Go out of frustration. In 2007 at Google, he
could only use two languages: Java and C++. At a conference in Sydney about
the draft specifications of Go’s 2nd version, he clearly states they were looking
for a language that would be easy to maintain, debug, and scale. Go emerged
Dark language from frustration. Once Again, against Efficiency, Clarity won!
Ellen Chisa, co-founder and CEO of Dark, makes her point about end-to-end Many have spoken about the problem of software entropy, but few as simple
programming with a simple expectation: building an app that sends automatic and straightforward as Joe Armstrong, the creator of Erlang. Safety wasn’t a
alerts. She found herself in a situation where she had to add tremendous priority until now.
Technology Trends 25
Favouring Clarity over Efficiency
Rust
Ryan Levick, Principal Cloud Developer Advocate at Microsoft, wrote in a post
that memory safety causes 70% of all product vulnerabilities:
https://msrc-blog.microsoft.com/2019/07/18/we-need-a-safer-systems-programming-language
Technology Trends 27
Faster and more
Secured Web
Applications
Faster and more Secured Web Applications
USA UK FR GE RO CHINA
React 85 61 87 80 29 57
Angular 53 35 83 75 33 8
Vue 15 18 29 38 33 70
source: caniuse
Technology Trends 31
Faster and more Secured Web Applications
While they don’t serve the same purpose, developers continue to adopt
Flask, and Django stays the constant leader of web Python development.
According to https://w3techs.com, developers continue to adopt Ruby slowly.
Java
PWA ASP.NET
We know that the adoption of Progressive Web Apps will continue to grow in PHP
2020, but 2021 may be the year when we’ll say that PWA is the norm. Ruby
The stats in this chapter show that PWAs are still only used by a small Static files
percentage of sites. However, this relatively small usage is driven by the more
popular sites which have a much larger share of traffic, and pages beyond the
Technology Trends 33
Faster and more Secured Web Applications
source: almanac.httparchive
Security headers are still lacking even though it’s easy to configure them.
RSA keys are preferred over ECDA, and Google Internet Authority G3 is the
leader (19.26%) among certificate authorities.
Technology Trends 35
DataOps
DataOps
3230 new TensorFlow Medium articles SQL Server 32.8% 41.2% 54.2%
VS. Cassandra 3.5% 3.7% 49.9%
1200 PyTorch SQLite 31.6% 19.7% 47.2%
Oracle 16.5% 11.1% 36.9%
13.7k new GitHub stars for TensorFlow MongoDB 25.% 25.9% 55.0%
VS. Redis 18.6% 18% 64.8%
7.2k for PyTorch PostgreSQL 32.4% 32.9% 60.8%
ElasticSearch 14.3% 14.1% -
MariaDB 16.5% 13.4% -
Apache Hive - 2.2% -
Apache HBase - 1.7% -
Google BigQuery - 2.1% -
Neo4j - 2.4% -
AWS DynamoDB 6.2% 5.2% -
AWS Aurora - 5.1% -
Azure - 7.9% -
Firebase 12.8% - -
The values of the table represent the most used databases over time (2017, 2018, 2019)
source: google trends on stackoverflow survey
Technology Trends 39
DataOps
Competitive Advantages
AWS Innovation
Community and knowledge base
Commercial partnership
Technology Trends 41
Interview
Interview
to fast growth and stay relevant for the long-term. Francis cares about building agile cross-functional
teams across locations to deliver efficiently on ambitious objectives. Pragmatic and result-oriented, he
is driven by the opportunity to create disruptive solutions which better the user experience.
What triggers the changes in best practices and code architecture?
There obviously several factors. I would say that in general, those changes are
mainly pushed by the big tech companies, and the open source community.
The two key things are on one hand the performances of the solutions and on
How will this content help 2019.tech.rocks audience? the other hand the collaboration efficiency. If you reach a threshold on one of
The different roles representing the Tech.Rocks community have something this topic, you need to rethink the way you build things. As a tech company, this
in common : they have to anticipate. This is a key point to be a good leader. is mainly linked to the product cycles, as you need to learn fast, experiment fast
So, we observe different trends, and we learn. After comes the vision of what and grow, it has an important impact on the architecture. You need to remain
should be done. So knowing what will happen in terms of Tech Trends for the stable, to target a small chunk of your users to propose them a new feature, or
coming year is indeed part of the job ! you’re facing international and performances challenges, fascinating !
Technology Trends 45
Methodology
We didn’t create this report to predict the future but to spark conversation
and the right reasoning for better R&D decisionmakers. Based on the long
history of IT innovation and currently available signs, below we’ve estimated
relevant technology trends from our own perspective. This is the reason why
one of the most important questions about the content of this document is
the trends methodology.
Technology Trends 47
What drives Technology Innovation
This is the key question that allows us to have more control over our trend
estimates. We’re not going to discuss growth, education, agile/lean learning
organizations, tech start-ups, or any other topic.
For example, Google Glass was a product and a technology at the same
time. While it failed as a product, it didn’t fail as a technology. Most smart
glasses vendors stick with the B2C marketing while they play just in B2B
market. It’s like working on at least two products at the same time. A lack
of momentum and other less important factors are also to blame for a failing
product. What matters is that the technology was a success, and with new
ML and AR development cleared a path for a new generation of smart glasses
for today’s enterprise world. We weren’t surprised to see Google announce
Google Glass Enterprise Edition 2 in May 2019.
Technology Trends 49
Partnering with companies
to create products and scale their business
25 years of experience
Digital skills to power growth in IT outsourcing & software engineering
With a global team of 1,100 in-house tech and digital specialists and a private 7 delivery centers & 7 consulting offices
community of 400,000 IT professionals, we offer flexible engagement models in Europe, Asia, and America
to support our clients’ short and long-term objectives, including outsourcing,
recruitment, and freelancing. 300+ digital products yearly
delivered by our Agile teams
By combining freelancing, outsourcing, and IT recruitment, we can remain
highly reactive to their demands, empowering them to locate top-notch 27 startup investments
IT talent worldwide, drive sustainable business growth, and boost their through our tech acceleration program
innovation capacity.
about the author
Technology Trends 53