Google has finally laid its steps into cross-platform mobile development. As a part of Mobile World Congress 2018, Google announced the first beta release of Flutter. So, Flutter is Google’s mobile UI(User Interface) framework for constructing high-quality native interfaces on iOS and Android in record time.
First and foremost, let’s state that what Flutter actually is and What it is not.
It has sometimes been stated that Flutter is Google’s reply to the Facebook’s React native. Considering this wrong is not totally true but yeah Flutter is not truly same to react Native but a little bit different than that.
Instead of Writing XML files, the Layout tree would be built as:
And, the biggest selling point of Flutter Tech are two things:
- High-Performance App: The Apps developed using Flutter are highly expressive and have flexible UI. Its Fast development due to hot reloading brings the app to life and its expressiveness provides features which are keened for native end-user experiences.
- Hot Reloading: Hot Reloading refers to inject new versions of the files that you edited at runtime while keeping the app running.
The Pros and Cons of Flutter
- Flutter uses a single codebase, called, Dart for both platforms, Android and iOS which is a simple language ensuring type safety.
- Flutter has its own set of widgets rather than using the widgets provided by the host operating system which means the user provides its own gesture recognition model, thus, having a greater control over the precise rendering or customization of the widgets.
- The hot-reloading is a game changer in the productivity of development process. It gives a lively effect to the app under development, thus making the whole development cycle more exciting for the UI/UX developer using Flutter.
- Flutter is not bound to the ROM w.r.t. the widget system. So, it enhances its portability over wide ambit of Android versions and thus, lowering its dependencies on the host platform.
- Dart and Flutter unite closely to optimize dart Virtual Machine(VM) for those mobiles which are specifically needed by Flutter.
- Flutter is a newbie in the Tech-World if your management is not so audacious, it may be best to wait for some time to start using it for big Projects.
- The installation process of Flutter is a bit of traditional when it comes to manual setting up environment variables. Also, its installation requires cloning of a GitHub repository which actually needs to be revised by Google because the whole bunch of required files and folders get stored into a single Directory. If by chance, that Directory is deleted, the whole Flutter would ultimately be gone.
- Flutter is a very young language thus, by now, it lags in plugins and various iOS/Android libraries because these libraries account for a huge volume.
- There is no Map Widget in Flutter. Maps in Flutter can be implemented using native Activity/UIViewController.
- The Version of Flutter available till now, is less stable than the already prevailing mature platforms, thus, developers have to be very careful while many bugs and their fixes.
- GIT | An Introduction to Github
- How to search faster with Google
- MongoDB : An introduction
- Beginning BootStrap (Part-1) | Introduction and Installation
- Contributing to Open Source : Getting Started
- How to prepare for Google Asia Pacific University (APAC) Test ?
- Gradle Build Tool I Modern Open Source Build Automation
- Introduction to Apache Maven | A build automation tool for Java projects
- Bloom Filters - Introduction and Python Implementation
- How Google Search Works!!
- Making your first Open Source Pull Request | Github
- How ranking in Google Search Works !
- Introduction To Machine Learning using Python
- Speech Recognition in Python using Google Speech API
- How Google Updates Itself!
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.