Flutter is the framework in which Google is working so that developers can program cross-platform applications , both on Android and iOS, saving, according to the company, a valuable time when working, and offering great performance. It can be used with pre-existing code, in addition to being completely free and open source.

It is currently still in beta, and the Californian company has not yet given details of when it will be the final release, although everything points to this year or 2019. Despite this, more and more companies are They have decided to move to Flutter, like the Chinese giant Alibaba. Other examples can be consulted in the official page of the framework, in which there is a list of apps that use this technology.

It uses the Dart language, released in 2011, and also developed by Google. There is no separation between the view and the code, so, for example, in Android we would not use XML files, but the visual part would be completely generated programmatically.

Main characteristics:

  • Hot reload: in a matter of milliseconds you can reload the app when you are testing changes and performing tests when developing it, saving a lot of time.
  • Native performance: widgets incorporate all cross-platform differences such as scroll, navigation, icons and fonts.
  • Integrable in many IDE: Flutter can be incorporated in the most used editors, such as Android Studio, Xcode, Atom or VSCode among others.
  • Access to native code: the framework allows the developer to use APIs, third-party SDKs and native code (Java and Kotlin in Android, Objective-C and Swift in iOS).
  • Nice interfaces: by default the interfaces use Material Design on Android and Cupertino on iOS .
  • Excellent documentation: has clear and simple instructions that will facilitate the development of apps.

Compared to React Native:

React Native, created by Facebook in 2013, is one of the most popular multiplatform frameworks of the moment, but how does it differ from Flutter?

  • The language used by React Native is JavaScript, which can weigh on the performance of the app, since it is used as a bridge between the user's interactions and the native components of the device, something that does not happen with Dart, since the The resulting code is native, and for example, it has default animations at 60fps.
  • The configuration process of Flutter is much simpler and direct, something in which React Native falters.
  • The React Native documentation can be very confusing and not very concise.
  • The structure of the code in Flutter can be chaotic, since Dart does not make a separation between styles, templates and data in the file
  • React Native has been on the market for 3 years, which means that it is more mature than Flutter, and consequently, has much more support, more community and a more advanced and almost bug-free development.