Flutter is an open source framework for multi-platform application development created by Google in 2017. Flutter supports mobile (Android & iOS), desktop (Windows, Mac OS, Linux etc), embedded devices (Raspberry Pi , Google Home Hub etc) and web. Flutter uses Android and iOS SDKs to render natively, whether using Material Design or Cupertino. It is possible to render an application using material design on iOS, as well as a Cupertino application on Android. As with all iOS application development, a macOS machine is required to compile the iOS application.
Flutter is based on Dart, a programming language developed by Google that is very easy to learn.
One of the fundamental principles of Flutter is that everything is a widget. Flutter widgets are built using a modern framework inspired by React. The main idea is that you build your user interface from widgets. Each widget is used to describe what their view should look like based on their configuration and status. Flutter widgets integrate all platform differences such as scrolling, navigation, icons and fonts, and your Flutter code is compiled into native ARM machine code using Dart's native compilers.
Flutter includes hot reloading functionality that allows you to quickly test user interfaces, features, and fix bugs during debugging. Hot reloading works by injecting the modified source code into the running Dart virtual machine (phone, emulator or simulator). Once the new code is injected, the framework rebuilds the widget tree. Another time saving for developers!
Flutter seems to be a very promising framework. The Dart language as well as the widget system are easy to handle. The development is done quickly and quite simply. Here's a course complete enough to get started with Flutter: App Brewery