Flutter Development


  • Always open source.
  • Supported Development platform – Windows, macOS, Linux, Chrome OS.
  • Flutter plugins for popular IDE’s – Android Studio IntelliJ, VS Code, Emacs.
    • Allow us to Develop and Test(Unit, Widget, Integration), Debug, Build.
    • Flutter Fix
      • Help us to clean up deprecated APIs from your codebase by providing suggestion and Quick Action option in IDE’s.
      • No need to install separate plugin since this tool get ships as part of Flutter plugin.
    • Code formatting.
  • Pub.dev (https://pub.dev/)
    • Pub.dev is the official package manager with thousands of open-source Flutter and Dart packages and plugins.
    • “Flutter Favorite” filter tag
      • Flutter Favorite program is to identify packages and plugins that you should first consider when building your app. This is not a guarantee of quality or suitability to your requirement, you should always perform your own evaluation of packages and plugins before using into your project.
  • Dart makes Flutter easier.
    • Dart language (object-oriented, class-based, VM, JIT, AOT, garbage-collected) which is very similar to JAVA. So, it required very less learning curve.
  • Support Media Query.
    • Media Query provide access to current screen properties which allow us to adjust/resize targeted widget in runtime.
    • In such cases where resizing widget doesn’t fit for our requirement then we can always design separate widgets for different target platform. But still business logic of that widget remain same. Since we only design separate UI for widget not the service logic.
  • Customize every pixel.
    • The Flutter rendering engine lets you control every pixel, and its widget library automatically adapts to any screen.
    • Even we can design and develop completely new widget with UI and functionality.
      • by drawing every pixel of new widget UI.
      • by adding animation if required.
      • by providing controller, validation logic, business logic.
  • Hot reload – Physical or Virtual/Emulator device.
    • Hot reload – loads code changes into the Dart VM and re-builds the widget tree, preserving the app state.
    • Hot restart – loads code changes into the Dart VM, and restarts the Flutter app, losing the app state.
    • Full restart – restarts the iOS, Android, or web app. This takes longer because it also recompiles the Java / Kotlin / ObjC / Swift code. On the web, it also restarts the Dart Development Compiler.

Note: – Flutter web currently supports hot restart but not hot reload.

  • DevTools – Performance and Debugging tools for Dart and Flutter app.
    • Including widget and layout inspectors, network and memory profilers, and more.
https://dasschicksal.com/basic-flutter-development-and-build-steps/