Mobile application technology is still heavily on the rise. According to Statista, there were 3.2 billion smartphone users in the world in 2019. This number is expected to reach 3.5 billion in 2020, and 3.8 billion by 2021. Most of the world’s population can be reached through mobile applications.
Edit 07/02/2020: Updated data and research results in the article for 2020
Choosing the right technologies is one of the most crucial decisions you have to make when entering the mobile app market. There are new solutions appearing constantly which make this decision more difficult.
This is why we decided to focus this article on helping you find out which platforms, frameworks and languages will work the best for your business in 2020.
If you are still on the fence about building digital solutions for your business, I recommend you read one of our earlier articles:
7 Reasons Why You Need to Start Business Digitization Right Now
When choosing your tech stack, first you have to consider your overall business strategy. Do you want to reach potential users on the Android or iOS platform? Perhaps you want to reach both with a single application. Once you have this figured out, you have to decide whether to build a native, hybrid or progressive web application.
Native applications are developed specifically for a single mobile platform. Today, the only relevant platforms to choose from are Android and iOS. Depending on which one you choose to focus on, you will need to compile your tech stack accordingly.
Most Android applications are built using Java. After all, it is still the most widely used language on the planet. The classic way of writing native Android apps is to use Java and the Android SDK.
Java’s popularity for Android is mainly a result of its rich set of core features, redundancy, high security, speed and scalability. However, since mid-2017, there seems to be a trend that shows Kotlin finally replacing Java as the go-to language for Android app development.
Since Google endorsed Kotlin as an official language for building Android apps, it has been rapidly gaining in popularity. According to GitHub’s Octoverse, Kotlin was the fastest growing language in 2018. Its number of contributors has more than doubled since the year before.
Source: octoverse.github.com
According to the 2019 Octoverse, Kotlin is still the 4th fastets growing technology.
Source: octoverse.github.com
Kotlin is wildly popular mainly because it makes coding much more concise, and is 100% interoperable with Java and Android. Writing code in Kotlin requires approximately 40% less lines of code compared to Java.
The language is big, complex and new, so it might take time for people to learn. Although, it is reportedly much easier for developers who already know Java, and there is also a rapidly growing support community today. You definitely won’t have any trouble finding Kotlin experts in the years to come.
Objective-C is a superset of the C programming language, and is utilized by a high number of mobile developers building apps for OS X and iOS. It is a very mature and tested mobile application technology that survived many generations of developers since its first release in the early 1980s.
Thanks to its stability and maturity, Objective-C manages to stay relevant today. There are a lot of well-documented third party frameworks out there, and very strong community support. It is also highly compatible with C and C++ programming languages.
There was obviously room for innovation, though. In 2014, Apple released Swift to provide new developers with an alternative that is easier to learn and to understand. The code length in Swift is significantly reduced, which makes development with it much faster compared to its older counterpart.
Apps developed in Swift are also considered to be safer and less prone to bugs and crashes than the ones developed in Objective-C. While Objective-C is still in the lead when it comes to community support and documentation, Swift is rapidly gaining in popularity.
Stack Overflow conducts a survey with its developer community each year. This is how the popularity of Objective-C and Swift changed with the community over the past 6 years:
Source: https://insights.stackoverflow.com
We can see that the number of Objective-C developers started to stagnate after 2016 with only a minor increase this year compared to 2017. On the other hand, it is expected that the Swift community will continue to grow over the coming years.
Here is how native mobile technologies cluster together according to over 100,000 developers surveyed by Stack Overflow this year:
Source: https://insights.stackoverflow.com/survey/2018/
We are talking about a hybrid app, when it includes both native and web elements. Creating a hybrid application is similar as building a web app. They are built using web technologies like HTML, CSS and JavaScript.
More and more people are also choosing to build cross-platform mobile apps over native ones. The growing demand resulted in the evolution of a number of cross-platform frameworks like Ionic, Cordova, Xamarin or React Native.
The Ionic framework and Cordova both use HTML, CSS and JavaScript. Ionic builds on top of Cordova. This mobile application technology basically provides a set of front-end components that allow you to write HTML5 apps that look like native apps. Ionic also allows for up to 98% code reuse. These technologies already have a large community following.
Xamarin uses C# and .NET. Xamarin.Android and Xamarin.iOS are used for providing platform-specific behaviour, while Xamarin.Forms is responsible for code sharing. It allows for the reuse of 96% of the written code. Xamarin also has a large community following.
React Native uses JavaScript and React.JS, and has a rapidly growing community. React Native heavily builds on JavaScript, and is backed by Facebook. A huge benefit is that it allows for writing modules in Objective-C, Swift or Java languages if needed. Up to 70% of React Native code is reusable, which helps speed up development for multiple platforms.
React is a great choice if your app needs to handle heavy operations like image editing or video processing. High accessibility and its ability to build high-performance UI solutions fast helped it become the most sought-after cross-platform mobile application technology of 2019.
Source: Google Trends
Progressive web apps (or PWA) are the perfect cross between native mobile apps and websites. PWAs are web applications that load like websites, but can offer functionalities traditionally available only to native apps. They can be loaded with the push of a button from the user’s mobile home page, without having to go through the whole app installation process beforehand.
Service workers are used to provide the best of both web and mobile native worlds. These service workers lie between the network and device to supply the content. Among many other properties, they are capable of utilizing cache mechanisms efficiently. This allows PWAs to work in offline mode as well.
This relatively new mobile technology allows you to provide a swift and smooth mobile native experience to your customers without intrusive app installation pop-ups. Your team can build them using a basic web stack (JavaScript, HTML & CSS).
World-leading companies from all industries are reportedly already experiencing higher web traffic, customer engagement, and conversion rates thanks to PWAs.
We wrote about 8 famous PWA success stories in a recent article.
Source: https://www.pwastats.com/
Thanks to the popularity of mobile platforms, today there is a mobile application technology for everyone.
It is up to you to assess the needs of your organization and make your choice according to your strategic vision and goals. If done correctly, your new mobile application can become as important of an asset to your business as a brick-and-mortar store.
We hope this article helped you figure out which technologies will be the best fit for your business.
If you need additional information to help you select your ideal mobile technology, feel free to ask your questions through our website, or ask for a free consultation.