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.
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.
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
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.
- 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
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.