Flutter: Introduction to Flutter and Dart

Flutter: Introduction to Flutter and Dart


What is Flutter?

Flutter is known as a platform to support software development, mobile applications. Cross-platform for Android and iOS operating systems developed by Google Corporation. Flutter's mission is to create beautiful, natively and multi-platform applications from a single codebase.

Flutter's components

There are two main component in Flutter:
- Software Development Kit (SDK): A collection of tools that help developers develop their own applications. Developers use this tool to support the majority of application development operations. It includes compilers into native code for Android and iOS operating systems.
- UI Library based on widgets (Framework): A framework that allows developer to assemble the elements of the interface. It makes reusing the code on the framework becomes easier.

Flutter's features

Hot Reload: Build and iterate quickly with Hot Reload. Update code and see changes almost instantly, without losing state.

Fast Development: Flutter code compiles to ARM or Intel machine code as well as JavaScript, for fast performance on any device by supports building ahead-of-time (AOT) or just-in-time (JIT) compiled libraries.

Expressive and Flexible UI: In Flutter, user interface re built with widgets, using a technique called Composition to made small UI building blocks. Flutter has a lot of pre-built widgets, which developers can take advantage to building applications.

Native Performance: Flutter widgets combine platform to provide the best performance. Flutter has two sets of UI are available: Material Design for Android (compatible with Google's design guidelines) and Cupertino for iOS (compatible with Apple's guidelines). Developers can use either or combination of them.

Single-code base: Developers only need to write the code once and it will work on iOS, Android and even the Web.

Dart language

Dart is a programming language developed by Google on GitHub. It is a free and open source language. Dart is an object-oriented, class-defined, garbage-collected language that uses C-tyle syntax to compile code to JavaScript. It supports interface, abstract, generic, static typing and sound type. Dart is used to build high-quality, mission-critical applications on any platform. It helps developers create beautiful, high-quality experiences across all screens, with powerful frameworks, flexible tools and a client-optimized language.

Dart's advantages

Optimized for UI: Dart is optimized for user interface (UI) creation and provides high performance as well as productive development.

Easy to learn: Dart is familiar to many exiting developers. Any JavaScript developer can quickly relearn how to write code in Dart by familiarize with the basic principles of this language.

Hight performance: Dart can handle both AOT and JIT compiling. In AOT, the code can be directly converted into machine code. In JIT, it can be compile for fast development cycles.

Thank you for reading and enjoy.