We have plenty of ways to
develop cross-platform mobile apps. First of all, there are the native
applications, which are made with the tools specific to each platform (those
from Google and those from Apple) and which require you to maintain in parallel
and at great expense two applications with different code, very little or not
at all portable. And then there are a number of ways you can work with a common
codebase, each with its advantages and disadvantages. You can use a C # code
base shared with Microsoft's Tamarind, use web technologies (CSS3, HTML5,
JavaScript) with Apache Cordova, or even build JavaScript-only applications
with Facebook's React Native framework. There are also the very limited
progressive web apps supported by Google Chrome. And you can find plenty of
other options, more or less confidential and efficient. You can even mix some
techniques. For reasons still unclear, Google has seen fit to offer a new
option for cross-platform mobile development, foreign to its Android tools: the
open-source Flutter SDK.On February 27, Google presented the beta 1 of Flutter
and on December 4, the company organized a special event at the Science Museum
in London, the "Flutter Live'', to launch version 1.0 of the SDK with a
bang. . This means that we are seeing things in a big way for this new
development tool in Mountain View. Maven Digital Top flutter app development Company in Dubai is
based on the Dart programming language launched by Google in 2011, This
language, the usefulness of which remains to be demonstrated, has never met
with the slightest popularity outside the Googolplex and has not led to the
formation of a community whose members could have been crossed on Godthab,
Stack Overflow, Free node, or anywhere else. However, he won distinctions, such
as that given by Code Mentor to be the language no 1 not to learn in 2018,
ahead of Objective-C, Coffee Script and Eland. This does not mean in itself
that it is bad language, but that he did not know how to meet his audience.
Maybe Flutter can just rekindle the flame, and it's even likely. Moreover, if
you are already practicing Java, JS, Kaitlin, Swift or C #, this language is
easy to learn. Then, Flutter uses its own rendering engine based on the 2D Skid
Graphics library, which Google acquired in 2005 before making it available
under a modified BSD license, and which is used by Chrome OS and Google Chrome.
This is what makes a significant difference to a purely native application: a
Flutter application does not use the graphics components of the system; it
draws everything, including pixel-perfect reproductions of the interface
elements of iOS and by Material for Android. This is also a distinct difference
from the behavior of a React Native or Tamarind app where the properties of UI
GUIs can be supported differently between iOS and Android. To fully understand
the specificity of Flutter compared to other solutions, we must listen to Tim Senath,
product manager of the Flutter group and former Microsoft: “For us, the closest
analogy is not a multiplatform framework, it is more like Unity. Unity is a
game engine, you write code that works great on both platforms and its engine
is optimized for great performance. "
Rapid development
One of the sexy features of
Flutter is crateful hot reload, which lets you instantly see the effect of code
changes in the emulator, with no compilation required. This function saves a
lot of time. Note that for development, there are already plug-ins to use the
Visual Studio Code, Android Studio and IntelliJ environments.
“Native” user experience
We put native in quotes,
because, yes, you can reproduce a user experience that looks quite native, but
firstly, it doesn't use system components (these are reproductions generated by
the Flutter renderer) and secondly, you are also free to do whatever you can
think of. Flutter has full control over the UI, down to the pixel, and lets you
use that power however you want. For example, you are free to use the Cupertino
bookstore that mimics the components of iOS or build your own UI from scratch,
which can lead to the best or the worst. And if the system component has
evolved with an update, the one that is compiled with your application is set
in stone until you release a new version. So, in the future you may have the
case of Flutter applications that reproduce an outdated user experience.
Native performance.
The advantage of Flutter is that it offers true 32/64 bit compilation for ARM processors. Unlike other solutions, there is no need for a code interpreter, often JavaScript, which slows down execution. Performance level, we will certainly approach or even equal a purely native application. Finally, it should be noted that Flutter's ambition goes beyond the mobile framework. Tim Senath writes: “Flutter's main target so far has been iOS and Android. Yet our ambitions for Flutter are not limited to mobile, but extend to a wider range of platforms. Indeed, from the start, Flutter was SEO Auckland Strategies designed as a toolkit for portable user interfaces; flexible enough to go anywhere pixels are drawn. Flutter could thus be used in the future to design cross-platform desktop applications, Windows, Mac OS and Linux. In the meantime, Flutter seems like a promising solution that will perhaps save us the question: do I choose a slow application, an application that does not appear native or an application that must be written twice? And since Flutter is set to play a role in the mysterious Fuchsia OS, maybe we'd better get down to Dart today. To go further, we suggest reading this brief introduction to programming with Flutter published by Android Authority. And to go even further, there is the official documentation.
0 Comments