Best Mobile Cross-Platform Framework to Choose in 2021
As mobile apps became an essential extension of almost any type of business, so grew the popularity of cross-platform mobile development frameworks — a convenient alternative to native development, which allows building apps for both iOS and Android from a single codebase by one development team. Currently, the most popular cross-platform technologies are Flutter, React Native, Xamarin, Ionic, Apache Cordova and NativeScript. Each of them has its own strengths and is more suitable for different types of apps.
Surf has over a decade of experience developing apps using both native and cross-platform technologies for various clients, including retailers, banks, digital platforms and restaurants. While we have a dedicated article where we talk about pros and cons of cross-platform development, in this one we’ll compare the best cross-platform mobile app development tools in terms of their performance, popularity, features and other aspects, so you can choose the right cross-platform solution to build your mobile app. Without further ado, let’s start our comparison with Futter.
Flutter cross-platform app framework was created by Google and, since its public release in 2017, is still maintained by the corporation. The framework runs on Dart programming language — another Google’s brainchild. The concept of Flutter is based around widgets — blocks that Flutter apps are built of. The framework comes with a vast library of widgets, which can be changed and tweaked according to the project requirements, and supports integration with many third-party solutions, further increasing the developer’s possibilities. The app’s graphics are processed by a powerful Skia engine, making Flutter suitable for building games and apps with heavy animations. Feel free to check our other article to learn more about Flutter architecture.
After its release, Flutter has quickly gained widespread popularity among mobile app developers, overtaking other cross-platform frameworks, even those that have been around for a longer time. Among apps built with Flutter are multiple Google projects, including Google Ads and Staida, popular journaling app Reflectly, Nubank neobank app and others.
Surf has chosen Flutter for many of our clients’ projects and our cross-platform apps received many favorable reviews. For example, our corporate banking app for Rosbank, which was also the first Russian banking app built with Flutter, has won Tagline Awards in the Banking, Finance, and Insurance category. The app helps the bank’s clients with everyday tasks: reminds them about due bills and keeps payment details at hand. The easy-to-use interface allows users to make payments from scratch in just three taps.
Let’s see what features make Flutter stand out and why so many developers have opted for the platform.
Advantages of Flutter
The key benefit of developing apps with cross-platform app development frameworks is saved resources, both time and money because you have to write just one set of code for both iOS and Android apps. That also means that the whole development requires fewer team members: developers, testers and managers. For example, when Surf developed apps for the Rigla pharmacy chain, by using Flutter we managed to save 40% of the company’s app development budget.
One of the outstanding features of Flutter is Hot Reload that lets developers see instantly how code changes impact the app — there’s no need to waste time refreshing the whole app after each change. This speeds up the development process and makes experimenting during development easier. Talking about the same apps for Rigla, the project that included six apps was done in just five months, while the first app was built in three months.
When Surf developed an app for the Hole streaming platform, smooth screen transitions and responsive playback UI were crucial for a proper user experience. What our client got as the result of four months’ work (it took us one month to design the app and three to build it) was a fast and modern app that completely justified the choice of Flutter as the development framework.
Large community support
Despite being only about five years old and using the not-so-common Dart programming language, Flutter has quickly become widely used by developers and currently holds the top place among most popular cross-platform frameworks. Community support means a lot to any technology, making the development process faster and easier: there are more resources, third-party integrations and people willing to help if a developer gets stuck at some point of development. Growing popularity also means the newest versions of iOS and Android are more likely to fully support Flutter shortly after release, which plays down one of the downsides of cross-platform frameworks — postponed support of the latest versions of operating systems.
Xamarin is an open-source cross-platform app development framework created by an American company of the same name in 2011. After being acquired by Microsoft in 2016, Xamarin became a part of the .NET framework and now requires large corporate users to buy Visual Studio Enterprise annual subscription, remaining free for individuals and small enterprises. Among apps developed with Xamarin are BBC Good Food, UPS Mobile, Alaska Airlines and many others.
Because C# is one of the five most popular programming languages and one of .NET family languages, anyone with previous experience in Microsoft ecosystem won’t have much trouble starting using Xamarin. Essentially, the framework consists of three development tools: Xamarin.Forms API that uses standard interface elements and allows to reuse up to 96% of code across platforms, and Xamarin.Android and Xamarin.iOS that support platform-specific app features and UI elements but have code reuse of about 75%. But mind that the code written in Xamarin can be reused only within the .NET technological stack.
Similar to Flutter’s Hot Reload, Xamarin offers Live Reload feature that enables developers to roll out code changes without app compilation & deployment. While simple apps built with Xamarin show nearly native performance, apps with multiple heavy UI elements and animations might suffer from decreased FPS. This somewhat limits the framework capabilities in comparison to Flutter, which provides stable above-30 FPS even in scenes with heavy graphics. You can learn more on the topic in our comparison of Xamarin and Flutter.
Just like Flutter, UI elements of React Native adapt their appearance to the platform’s style, so an app built with it looks exactly like a native one. Although React Native can be used for developing complex apps, multiple tests show that, compared to Flutter, React Native uses more device memory and consumes more battery power. Also, when it came to heavy rendering, Flutter showed the lowests FPS drop to 19, while React Native dropped to 7 frames per second. Learn more about both frameworks in our detailed comparison Flutter vs. React Native.
To sum things up
Compared to native development, cross-platform app development technologies make it possible to create apps for both iOS and Android platforms faster, with fewer team members and a smaller budget. Today, there are many cross-platform technologies to choose from, so developers can pick the technology that suits their type of project, uses the preferred programming language and fits them in other aspects.
Flutter is one of the modern and popular cross-platform frameworks that has been used to build many popular apps. The framework is regarded by many as the best cross-platform app development framework, which has all the necessary tools for fast-paced development, as well as a rich widget library and support of third-party plugins. Flutter’s architecture and graphic engine allow it to show nearly native performance on different platforms. Over the last few years, the framework’s popularity has grown steadily and it is one of the most widely used cross-platform frameworks today.
We at Surf have been developing apps for over 10 years, using both native and cross-platform technologies. We chose Flutter for our cross-platform projects and used it to build fintech apps, e-stores and apps for media platforms. If you think about building an app, let’s discuss and estimate your project. Fill in the form and we’ll contact you shortly.