CIRCLES 💖 FLUTTER

The evolution of mobile application development has sped up significantly in the past five years, when Facebook launched the JavaScript-based React Native framework, with which it was possible do develop native applications for both iOS and Android. With React Native, a developer can write code without having to focus on compatibility between operating systems.

Google then officially launched Flutter™ at the end of 2018; a portable UI toolkit for building natively-compiled apps across mobile, web, and desktop from a single codebase. Flutter grows very fast, and really does make sure that an application developed with it will look and fell the same across different platforms. Flutter 2.0 was released in March 2021.

A view at Google Trends data for searches for “react native”, “flutter” and “pwa”, for the last five years, shows a clear increase in interests over time.

Flutter or React Native? 

Applications created with Flutter are equally stylish in newer as well as older operating systems, be they Android or iOS. A unified code base means just this, a unified look and feel. In addition, Flutter contains two sets of widgets which conform to specific design languages: Material Design widgets implement Google’s design language of the same name; Cupertino widgets imitate Apple’s iOS design.

React Native uses native components in the background for Android and iOS applications. As such, any UI-updates will also update the look of the application automatically. To be on the safe side and assure this happens, it is suggested that third party libraries be used to avoid issues.

FlutterReact Native
LaunchedDecember 2018March 2015
Developed byGoogleFacebook
LanguageDartJavaScript / React
UIAs stylish on older as newer systems. One code base for a unified look across handsets. Material Design and Cupertino widgets help in assuring a correct design for Google and iOS. React Native uses native components, so the design on both Android and iOS is natural. Any UI-update should update written code. Third party libraries can be used to make sure that backwards compatibility and a unified design can be achieved across various handsets and OS’s.
Pros– Stylish final product and user experience
– Good widgets producing high quality content
– Fast growing development and community
– Clear documentation and support for developers
– One language to rule them all
– Fast to learn
– Faster to test
– Very widely used- Over 5 years on the market
– Easy to learn
– Bundles of documentation to be found
– Code can also be used for, for instance, web projects
Cons– Not the best for smaller “instant apps”
– No 3D Touch support (yet)
– Relatively small user base
– Apps are quite large
– Difficult to use for customer Bluetooth applications
– Not the first choice for pure Android development
– Less ready made components

Circles’ choice of technology

We’ve dwelled into many web and mobile technologies over the years, but Flutter is the one technology that keeps coming up in discussion with developers, as well as in public forums the past year and a half.
At Circles we see many different opportunities in using a technology that is developing fast and which is aimed at solving complexities. Flutter can speed up both larger product development cycles as well as smaller projects significantly.

In our projects, we’ve used Flutter and our knowledge of it within the health tech sector, where we have built an application for clinical studies. Here a requirement was that any updates to the OS must not in any way affect the look of the application, which is why Flutter was chosen for the project.
We also use Flutter in our internal development.

It is however important to remember that all development needs are different, which is why we always go through the specifics of a project and its target and intended usage, before suggesting the right development approach. Below is a short comparison between various platforms and tools.

NativeCross PlatformProgressive Web Application
Platform / TechnologyiOS
Android
Flutter
React Native
Xamarin
HTML 5
StrengthsThe best user experience
Works fast
Smooth graphics
Instant application update use
Large component libraries 
A good user experience
Good graphics
One code base, several OS’s(iOS, Android etc)
Large component libraries
Cheaper to develop than native apps
Cheaper to maintain
No application needed
Can be used in conjunction with other web development
WeaknessesExpensive development
Expensive to support
One code for each OS
No 3D support
Slower than native
The user experience
Slow speeds
Not available offline

Summary 

If your goal is to develop an app with the need for high-end graphics, where processing power could be a bottleneck, a native application is always a sensible choice.

Should the need instead be to display data without interactivity, then a HTML 5 page would suffice. 

In all other cases we would suggest, and choose, Flutter. The rendering in Flutter is faster than those made with a JavaScript bridge (React, Xamarin), so the user experience is simply better.

With one language, a neat look and the strong development from Google and its growing developer base, we find that Flutter is a modern choice for mobile app development for 2021. 

This is why we have chosen Flutter as our primary tool for our mobile development, making sure that our consultants stay on top of the latest development and training.

We will happily discuss various options to find the best possible solution for your development needs, so get in touch today!

CASE EXAMPLES

Need help with your crossplatform mobile development? Contact us at sales@circles.fi or call directly to +358 10 3843 330 !