Ad Code

Flutter, the new cross-platform mobile SDK

 


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.

 

Post a Comment

0 Comments