The Flutter Framework is a new framework for developing cross-platform applications. It’s designed to be fast and lightweight, which makes it perfect for high performance apps. But before you can get started with that, you need to know the basics. In this blog post we’ll go over some of the most important terminology used in Flutter development so you’re ready to take your first steps!
Dart – The programming language used by Flutter to build cross-platform mobile apps. It’s compiled using Google’s own compiler called dart into an intermediate representation that runs on both iOS and Android devices without modification. This way your users get native performance while you enjoy compiling in advance of time for all platforms, so no waiting around before launching! That also means it has zero runtime dependencies as well as small binary size because there are no interpreter overhead required for execution at runtime.
Widget – Widgets are the fundamental UI unit in Flutter. They represent an interactive element of a user interface such as a button or text field. Widget classes have their own build function to create a tree structure for drawing into the parent’s Build Context, which is used to manage layout calculations and coordinate with native platform elements at runtime.
StatelessWidget – Basically a stateless widget is one that doesn’t store any internal data about the user’s interaction with it. It may read its information from props passed in by parent widgets or other sources like local or session storage etc., but does not maintain its own separate set of values for things such as text content entered into an input field.
StatefulWidget – A stateful widget is one that stores data between invocations of its build method, and updates the UI in response to those changes.
MaterialApp – Material apps are a set of predefined widgets which implement Google’s material design guidelines on both mobile and desktop platforms. The Material App provides prebuilt implementations for common user interface patterns such as lists, grids, menus etc., so you can focus more time on building your app rather than reinventing the wheel!
Scaffold – Scaffolds let you quickly add screens with basic content into your application without writing any code at all by using a templating engine called Stencils. You will need this when developing multiple screen applications (commonly referred to as multi-page applications).
Package – A Flutter project is a package, which can contain one or more packages (subfolders marked with the ‘package’ keyword) and Dart code.
BuildContext – Build Context refers to an object that provides information to the widget tree as it renders. For example, layout calculations and coordinate with native platform elements at runtime are done based on Build Context objects.