JetBrains has evolved a lot during their 15 years of existence to provide the most effective set of tools for developers to cater demands of every programming language. If anything, this testifies their dedication towards refining and improving the developer ecosystem.

It comes as no coincidence that JetBrains possess a trusted customer base of over 6 million users and has a dedicated team continuously working towards their mission: helping developers to work faster by automating common and repetitive tasks to enable programmers to stay focused on code.

A survey recently done by JetBrains collected information from over 7000 developers to properly identify the features of the developer ecosystem. It was a comprehensive survey covering every aspect to gather data about all popular programming languages, to identify the types of applications developed the most, what is the primary programming language or the most used one for each one, and much more.

Java is still the winner thanks to Kotlin

This survey proved that Java and Python are the most loved programming languages amongst developers. The love for Python is mostly due to its ease of use for machine learning and data science calculations. It is barely being threatened by any other programming language at the moment.

On the other hand, Java has been the predominant programming language for some time now. Even though Java was seriously hit by JavaScript’s popularity, there was one invention that kept all Java developers from leaving it. That is Kotlin, Google’s new programming language-specific for Android development. According to the statistics, 92% of Kotlin developers used Java before, but about 86% of them still continue to use Java.

Most mobile developers still use native frameworks

Two-thirds of mobile developers use native tools to develop for mobile environments. Every other developer uses cross-platform technologies or frameworks. Two-thirds is quite a large amount, much higher than one could expect when compared with the number of average apps developed today.

Although cross-platform development became stronger thanks to JavaScript and React, Kotlin has been able to take over and now it is being used on 66% of Android projects.

The survey also indicates that the majority of Java developers use Kotlin for new projects: 71% use it for their profession, while 69% for their personal projects. This suggests that Kotlin is popular for both big and small projects. What is more relevant is that current Kotlin users have at some point migrated their existing projects to it.

React for cross-platform development

Another interesting analysis indicates that 58% of JavaScript developers use React as a framework. As of today, this makes it the most used framework for cross-platform development by far.

It is commonly known that React was developed by Facebook to build user interfaces. So it is not an MVC framework by definition. The main motivation behind React, according to their inventors, was to encourage developers to create reusable UI components which present data that varies and changes over time. Traditional frameworks created UI interfaces using templates while React does not, breaking user interfaces into components instead. This means React uses a real, full-featured programming language to render.

React has reached tremendous popularity thanks to a few reasons.

  • Unlike most other UI building technologies such as HTML, React is based on a powerful programming language, JavaScript, which allows abstractions to be built – very useful when building large applications;
  • It unifies markups with logic, making views easier to maintain and extend;
  • There is no manual string concatenation which eliminates any risk of XSS attacks.

That is why it did not take too long to React Native to be released, introducing a new way to build apps. Even if it is only 3 years old, React Native has already been adopted by almost 8% of all Java developers. That’s quite a lot!

Native vs cross-platform: a Pandora’s Box

With the introduction of NodeJs, JavaScript became very popular among the developers’ community. JavaScript developers were so enthusiastic that they wanted to conquer every area of development and introduced the idea of cross-platform development. Ever since then, the debate between native and cross-platform has become a hot topic among mobile app developers.

The decision to use a cross-platform technology or a native technology comes down to one factor, in the end. Performance. Native apps utilize the platform’s resources to its fullest, creating faster, responsive and less likely to crash apps. Cross-platform apps usually get a lot of complaints about their performances, but they are incredibly easier to build.

Supposing that an app supports both Android and iOS with one single development effort, then creating a native app takes twice as much time. So, if performance does not play a big part in an app, going cross-platform would save a lot of time and money.

Why not combine both?

This is not another dull article written to promote cross-platform vs native debate, which can be found all over the Internet. We want to bring you something new. We want to show you the possibility of integrating two of the most exciting technologies; Kotlin and React.

Actually, Kotlin seems to love React! One of our speakers from Codemotion, Davide Cerbo, had a talk about this relationship just last year. No spoilers here! Listen to him for yourself.