Cross-platform mobile application development in 2020

Hello everyone!

I am Sergey Yakimov, CTO Omega-R, an international company developing and integrating IT solutions. Based on many years of experience in the field of information technology and company expertise, I want to share my vision of the present and the near future of cross-platform mobile application development.

image

Over the years, cross-platform mobile development has earned a reputation as one of the most popular areas of software development. Cross-platform approach allows you to create applications for various platforms with one code base, which saves time and money and eliminates unnecessary efforts.

According to a Digital 2020 Reports study by We Are Social Inc. and Hootsuite Inc., the number of Internet users worldwide is increasing by 9 people per second. This means that every day more than 800 thousand people join the global online community who use desktop or mobile devices. Interestingly, the latter option is becoming more and more popular every month.

The penetration of smartphones in everyday life is growing worldwide. It is expected that by 2024, three out of four phones in use will be smartphones. According to StatCounter statistics , the share of desktop users has dropped to 45.66%.

image

The simplest explanation for this state of events is a change in our lifestyle. We spend more time on the Internet than ever before. Almost everyone has access to a smartphone or tablet. Considering that the average user spends almost 7 hours a day on the network, it is not surprising that more than half of this traffic comes from mobile devices.

This, in turn, pushes the mobile application market to growth. The result of mobile app preferences are pretty impressive numbers. According toStatistaโ€™s report last year, global revenue from mobile apps in 2019 amounted to $ 461 billion, and by 2023, paid downloads and in-app ads are expected to generate more than $ 935 billion in revenue.

Choosing a Mobile Development Path


Applications are popular not only among modern Internet users, but also quite profitable for their owners. If you combine these two factors together, we can conclude that almost any business development strategy may include creating an application. The dilemma, however, is choosing the right way to develop mobile applications.

One of the first steps towards digital success is a decision on a mobile operating system - which, incidentally, was not so simple ten years ago when Android, iOS, Microsoft, RIM and Symbian were quite viable options.

Today the choice is much simpler, since the only major players are Android and iOS, which together make upabout 99% of the total market share of mobile operating systems. According to various statistics, Android wins in terms of the number of users, but there is no shortage of supporters of iOS, whose market share is 25.75%. While the Google Play Store boasts a large number of applications (2.5 million), the Apple App Store contains more than 1.8 million applications. This fact alone is enough to show that neither of the two platforms should be overlooked.

image

Since the choice of a mobile operating system is a matter of personal preferences of users, and not a matter of performance or availability, it will be advisable to ultimately create a mobile application for both Android and iOS - and there are three ways to do this.

Separate native applications for Android and iOS


The native solution, as the name implies, involves developing an application in the programming language native to the platform: Java or Kotlin for Android, Objective-C or Swift for iOS. Being deeply focused on the operating system, the development of native applications has its advantages and disadvantages. On the one hand, the native solution provides access to all the functions of this OS, allows you to unlimitedly customize the interface and prevents any performance problems. On the other hand, if you want to reach both types of users, you will have to create two separate applications that require more time, money and effort.

Progressive web application


A progressive web application is a technology in web development that adds mobile application capabilities to sites and transforms the site into an application. The output is a hybrid site and application for mobile devices. However, like any other option, progressive web applications are not perfect, since they consume more battery power and cannot access all the functions of this device, for example, calendar, camera, contacts, and so on. In addition, the possibility of cross-logging into a web application using the Facebook, Instagram, Vkontakte, or other applications is lost. Despite the fact that the web application does not require installation from the Google Play Store or the Apple App Store, the latter serve as extremely convenient libraries for users.

One cross-platform application for two systems


Cross-platform is the ability of software (in our case, mobile applications) to work on several platforms.

Cross-platform mobile development allows you to cover two operating systems, iOS and Android, with one code. It does not involve writing code in the native programming language, but it provides an almost native experience thanks to the visualization interface using its own controls.

At the moment, many companies use cross-platform solutions, someone is seriously considering moving to them in the near future. These are not only the vendors of the solutions themselves, such as Facebook with its React Native, which runs Facebook and Instagram applications, but also other major market players who have products, for example, on Flutter - Alibaba, Philips Hue, Hamilton, Tencent , Grab, Groupon and others.

There are many articles that analyze in detail all the advantages of cross-platform applications. However, the pros and cons should be considered on a platform that has every chance of becoming in 2020 the most popular among developers - Flutter.

Flutter


Flutter is an open source Google SDK for creating cross-platform mobile applications that provides both Android and iOS users with truly native design and experience. This development platform already at the start showed impressive growth compared to React Native. Announced at the Google I / O 2017 conference and released in 2018, Flutter is still a newcomer to the cross-platform application platform market. With over 87,700 stars on GitHub, above React Native, and the vast majority of developers calling it one of the top three favorite frameworks in Stack Overflow's annual Developer Survey 2019 review, Flutter is undoubtedly a force to be reckoned with.

image

Consider the pros and cons of Flutter as a platform for product development:

pros


  • time-to-market;
  • ;
  • ;
  • ;
  • .


  • , ;
  • โ€“ Dart, , , . Flutter, ( , ).

The Dart programming language, which Google calls โ€œclient-optimized,โ€ was introduced in 2011. This is an adaptive object-oriented language that is considered relatively easy to learn for two reasons: firstly, it uses C / C ++ and Java; secondly, on the official Dart website you can find extensive and fairly simple documentation. It is also worth noting that Dart comes with a large repository of Flutter-compatible software packages to make your application even more complex.

Cross-platform applications on Flutter are developed similarly to native ones in the generally accepted IDEs - Android Studio and Xcode. As an addition, hot-reload code is available to developers, which speeds up the launch of the application during development. In addition, the publication process is no different from the native ones - the collected distributions are signed and downloaded to application stores.

Business Benefits


In business, the decisive role is often played by the TTM (time-to-market) metric. To be ahead and introduce new features into your product faster than competitors on both platforms at once - any leading company thinks about it from the very beginning. Cross-platform frameworks allow this to be achieved and, as an obvious bonus, receive a reduction in development costs at each stage. According to our calculations, development on Flutter allows you to reduce the total cost of product development by 25-30%.

Forecast, prospects for the next 5 years


Everyone who cares about quickly entering the market with their product simultaneously on both mobile development platforms is already actively developing using cross-platform solutions. In 2020, the trend will not change, and more and more companies will use cross-platform mobile applications on Flutter.

Google is developing a new OS Fuchsia, including for mobile devices. Flutter is declared as a UI toolkit in this OS. In the near future, Fuchsia may replace the Android OS, and despite the fact that Fuchsia is still adding the ability to run native Android applications, it is worth considering this trend when planning development and entering the market with its mobile applications.

Thus, one code base undoubtedly affects all aspects of application development down to the number of developers required, allowing the company to save money, which is usually spent on fixing and updating two separate code bases. The saved significant part of the initial budget of the project can be spent on further improvement of the application in accordance with user reviews. As a result, cross-platform development of mobile applications in a balanced way achieves its goals both by the criterion of price, and by the criteria of time, complexity and user experience.

All Articles