In this tutorial you will learn about the Flutter System Architecture and its application with practical example.
In this chapter, we are going to look into the the Flutter system architecture. The Flutter system mainly comprises of following key components.
- Flutter Framework
- Flutter Engine
- Embedder Plateform Specific
Here, we will discuss flutter system architecture in bottom-up approach –
Embedder Platform Specific
Flutter applications are packaged in the same way as any other native application for the target platforms. Flutter provides a number of platform specific embedder for target platforms that coordinates a flutter application with the underlying operating system for accessing of services like rendering surfaces, accessibility, input and managing the message event loop.The embedder typically written in a best appropriate language for target platform.The embedder for android is written in C++ and Java, Objective C/Objective C++ for iOS and macOS, and C++ for Windows and Linux. With the use of embedder, Flutter code can also be integrated into an existing application as a module.
Primarily written in C++ flutter engine provides highly portable runtime environment for all flutter applications. It is mainly responsible for rendering of a composited screen whenever a new frame needs to be painted. It mainly provides the low-level implementation of Flutter’s core libraries for animation, graphics, file input/output, network input/output, plugin architecture, accessibility support, and a dart runtime for developing, compiling, and running Flutter applications.
Typically, developers uses the Flutter framework for developing flutter applications. Written in Dart it is a modern, reactive framework comes with a rich set of platform, layout, and libraries.