Which Mobile Application Technology to Choose in 2020

thumbnail

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.

 

Here is a quick breakdown to help you choose the mobile application technology that fits your business the most:

 

Native Apps

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.

 

Android – Java and Kotlin

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.

 

Language-growth

Source: octoverse.github.com

 

According to the 2019 Octoverse, Kotlin is still the 4th fastets growing technology.

 

Octoverse-2019

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.

 

iOS – Objective-C and Swift

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:

 

iOS-tech-trend-2020

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:

 

Mobile-tech-connections

Source: https://insights.stackoverflow.com/survey/2018/

 

Advantages of Native Apps

  • Native apps are faster and more responsive than hybrid apps
  • They can run offline depending on functionality
  • Developers can better utilize device functionality like camera, microphone, swipe gestures, etc.
  • They are more interactive and run much smoother, creating a better overall user experience

Some Disadvantages

  • More expensive and slower development compared to hybrid apps
  • Harder to scale and maintain on each platform separately

 

Hybrid & Cross-platform Apps

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.

 

hybrid-mobile-tech-trends

Source: Google Trends

 

Advantages of Hybrid & Cross-platform Apps

  • More cost-efficient than native app development
  • Shorter time-to-market
  • Most of the code is reusable for multiple platforms (write once, use anywhere)
  • Because there is only one code base, it is much easier to scale and maintain a hybrid or cross-platform app

Some Disadvantages

  • Hybrid and cross-platform apps can have stability issues across different devices
  • Inconsistent performance on different platforms, which can negatively impact user experience
  • Mobile OS updates take a bit longer to integrate into cross-platform frameworks than native ones.
  • No access to certain mobile hardware-related features that are only available in native apps

 

Progressive Web Apps

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.

 

PWA-stats

Source: https://www.pwastats.com/

 

Advantages of Progressive Web Apps

  • PWAs provide a smooth experience at high performance, without relying on web connectivity.
  • They are also able to deliver real-time updates and push notifications, which was a feature reserved only for native apps in the past
  • They use 10-1000x less storage space compared to native apps
  • Fast and cost-efficient development

Some Disadvantages

  • PWAs don’t have access to all mobile hardware functions such as fingerprint scanning, advanced camera controls, Bluethooth, etc.
  • Running robust web apps on a smartphone uses up battery charge fast

 

Final Summary

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.