Welcome to my page where I write about multiple things such as programming, quant trading, machine learning and others...
What is Flutter?
Flutter is a toolkit to design interfaces for all screen sizes and devices. In mobile development, supporting different operating systems and screen sizes is a nightmare. Flutter comes with pre-built widgets which make it easy to layout your application (e.g. row, col, stack, padding, center...)
Some of the advantages of working with Flutter are:
- Flexible layout for different mobile screen sizes: Flutter borrows the concepts from web development such as Flex, Grid... to create responsive design. It comes pre-built with widgets which has already been implemented to be responsive out of the box, making designing much easier
- One code base for all operating system: It used to be that you need to develop for Android and iOS separately which means that for any feature change, you need to develop and maintain two separate codebases. However, with Flutter, we would be able to deploy the same code base to both operating systems. How Flutter achieves this is to request for a blank window on the device which it would then draw on the blank window creating the application
- Hot reloading: As soon as you save your code, the changes are reflected almost instantly with the built-in hot-reloading feature of Flutter
- Access to original source code: With Swift development, they also provide widgets such as Button for developer to use. However, the implementation of the widget is a black box, we do not know how each widget is created. However, Flutter is open-sourced. Henve, its entire code base can be accessed and read by any developer, allowing them to make modification as deemed fit to adapt to each individual application's use cases
Hope the above short write-up allows you to have a basic understanding of what Flutter is trying to achieve! Personally, I would be learning Flutter because of its convenience. See you in the next article!
Disclaimer
- All information mentioned on this blog post is based on my subjective and limited knowledge. Any feedback is welcomed
- Full credits are given to the resources used