Contents
    Eugene Saturow Head of Flutter

    Cross Platform Mobile Development: Pros, Cons, and More Details

    Mobile app development using cross platform frameworks is the optimal solution for various business areas, from e-commerce to fintech to entertainment apps, and more. This is an efficient way to develop a mobile application from scratch and reduce the app development budget without losing quality.

    We at Surf have been delivering our clients native and cross-platform mobile apps since 2012. It should be noted that some benefits of a technology or an approach become visible over a long distance. The more intensively we work with it and the more closely we follow the updates, the deeper we understand how to use its strengths. And as a result, we get maximum efficiency.

    In this article, we’ll analyze in detail what is specific about the cross-platform approach, what projects can be implemented with such frameworks, and when it is better to turn to native app development.

    Curious to check projects developed by Surf?
    Read our case studies

    Cross-platform and three more approaches to building mobile apps

    Before choosing a technology, you need to determine the goals of the project. It depends on which way the product will go and how it will develop. There are four main directions with which you can implement a mobile solution: app builders, native, cross-platform, and PWA.

    Ready-made solutions

    You may either refer to an app constructor, a builder, or an off-the-shelf solution. This option is best for testing startup ideas or product hypotheses with MVPs. But keep in mind that it will be hard to customize to your particular needs compared to native solutions or using the frameworks mentioned below.

    The key advantage of the approach is lower cost and faster implementation as compared to any variant of the custom application development.

    But if your hypothesis has been successfully tested or the standard toolkit of the off-the-shelf solutions is insufficient, make a closer look at the next three options.

    Native technologies

    In this case, the process implies building apps for each specific operating system (Android, iOS). Each OS has certain guidelines, development environment, design requirements, and tools.  

    These technologies are a good match for creating advanced native apps with flawless performance and high speed. This is the best choice when you need regular application updates or sophisticated features with top reliability and security. These advantages are partly due to the fact that native applications are built using official frameworks that are developed exclusively for a particular OS.

    Read more about SBI Group banking app here

    But if you shall meet tight deadlines for deploying the application into the market and do not dispose of a high investment plan, check the options below. 

    Cross-platform apps

    This approach implies using a single code base for several operating systems and applying ready-made libraries and components. It is a strong alternative for the native approach and even leaves it behind in some respects. It can deliver excellent performance without compromising quality and offering a high level of flexibility and customization.

    Story of creating mobile application for KFC is here

    Cross platform app development is a good match for projects where it is vital to get high quality (high performance, well-thought-out UI, etc.) at an affordable price. Besides, it makes team management and communication more transparent and easier to synchronize since you don’t have to switch between two different teams for two different OSes.

    Speaking about cross-platform apps, people usually mention such disadvantages as lower performance and delayed updates.

    As for performance, it varies greatly, depending on the technology used. For example, Cordova is not recommended for heavy graphics and games as it results in poor application performance. While Flutter can handle animation and multiple graphic elements so that they look as well as in the native apps.

    The release of new OS-specific functionality for cross-platform is really somewhat delayed. But don’t forget that introducing new features into native code also takes some time. Therefore, the second cross-platform drawback is better to keep in mind but it is not critical.

    PWA (Progressive Web Application)

    PWA allows transforming a website into an application from the visual and functional point of view. With the website in its core, PWA can be viewed in a browser or installed on a smartphone and has functionality of a mobile app.

    In terms of technology, PWAs consist of Service Worker which is a layer between the app and the external servers in charge for fast loading, offline access, push notifications, and more. The second component is App Manifest, a JSON file linked to the application HTML page that defines the look and behavior of the PWA.

    PWA is growing in popularity as it is an asset for the businesses that are not planning to spend much on creating a mobile solution. But still there are some OS-related restrictions to be taken into account. 

    Popular cross platform app development frameworks

    Today, the market offers a wide choice of cross platform frameworks. Businesses shall weigh all pros and cons to choose among Flutter, React Native, Apache Cordova, Ionic and many others. The choice will depend on the type of the future app, the features you plan to add, the devices you need to cover, and other factors.

    Next, we’ll give you some insights about some of the cross platform development tools.

    Flutter

    We start with Flutter not at random. Surf has been developing Flutter applications since 2019 being the framework early adopter. More facts about the framework you can read in our dedicated article.

    In our experience, Flutter has proven to be a reliable tool for implementing any functionality, from online stores, banking solutions to multimedia projects. So it is not for nothing that it is considered the best among the competing cross platform frameworks.

    Read our case study about a video streaming platform built with Flutter

    We value Flutter as it gives freedom in choosing logic and makes it easy to follow the SOLID principle. So, the code is easy to maintain and test. This saves time on debugging and error adjustments, and therefore reduces the time to market.

    Flutter delivers the vital thing for modern apps and services – their flexibility as well as the possibility to quickly add and change product features without disrupting its performance.

    In general, Flutter is a revolutionary tool for the frontend as it covers not only mobile apps, but also web,  desktop, and PWA, and allows for 60% saving in terms of cross-platform development.

    Check our approach to Flutter apps development
    More info here

    React Native

    React Native can provide high performance and the users will hardly see the difference as compared to native applications as it provides for smooth scrolling of screens, animations and transitions.

    But compared to Flutter, it has a different operation principle. Flutter uses Skia and this results in excellent performance. Besides, it is possible to use platform integrations. ReactNative uses exclusively native elements, and with complex interfaces it can cause a drop in performance due to bridge in communication. With small projects, the difference can be not obvious.

    Just like Flutter, React Native can be used for building cross platform mobile apps. However, there is no official support for desktop applications yet.

    Read a more detailed comparison of these two frameworks in our blog article.

    Apache Cordova

    The framework comes from 2009 and is still in use today. It’s an open source development environment running on standard web technologies and can be used to create prototypes or quick apps with little complexity. The Cordova-powered applications consist of several HTML pages in the “shell” of the OS and use a special widget to perform the actions to make the cross platform application close to the native one. However it lacks the performance of more modern frameworks like Flutter which will give you better results in terms graphics & animations as well as speed.

    More about detailed differences between the Apache Cordova and Flutter frameworks you can read in our blog, and here is a brief comparison.

    Xamarin

    This cross platform framework was developed in 2011 as an open-source project. Xamarin is free for individuals and small enterprises. However, large companies shall pay for its commercial use because it is integrated with Visual Studio.

    Xamarin is supported by Microsoft, has solid architecture, and the apps built with it show overall good performance. But in some cases the performance can be lower. For example, it is valid for Xamarin.Forms that shares most of the code between platforms and is not the best choice for heavy graphics. Some components also have to be developed separately for iOS and Android and consequently, the framework might not be the great match for UI-heavy apps.

    We described more other details about Xamarin in our dedicated article.

    Summing up

    The article above gives you a review of the possibilities offered by the cross platform frameworks. It can save you up to 60% of the budget without loss in quality and performance. But be sure to hire skilled and experienced experts who can handle strong and weak points of every approach.

    If you still have any open questions left, do not hesitate to contact us. We are ready to discuss with you any details.