Dart and Flutter Terminology: A Comprehensive Guide
Written on
Chapter 1: Introduction to Dart and Flutter
This guide serves as a reference to fundamental concepts within Dart and Flutter, aimed at newcomers to the programming landscape. Understanding these terms is crucial for effective development and mastery of the frameworks.
Dart Terminology
- List: An ordered collection of elements.
- Set: A collection of unique values without any specific order.
- Map: A collection structured as key-value pairs.
- Function: A defined block of code that executes a particular task.
- Class: A template for creating objects that describe their properties and behaviors.
- Object: A specific instance of a class, encapsulating its attributes and behaviors.
- Constructor: A specialized method invoked upon object creation, used for property initialization.
- Getter: A method that retrieves the value of a class's private attribute.
- Setter: A method that assigns a value to a class's private attribute.
- Abstract Class: A class that cannot be instantiated directly, serving as a foundation for other classes.
- Interface: A set of methods that a class must implement to qualify as a specific type.
- Extension: A feature that allows additional methods and properties to be added to existing classes without altering their source.
- Enum: A distinct type representing a set of named constants.
- Future: A representation of a value that is not immediately available but will be in the future.
- Await: A keyword that pauses a function's execution until a Future is resolved.
- Async: A keyword indicating that a function may include asynchronous code.
- Try-Catch: A structure for managing potential errors during code execution.
- Throw: A keyword that facilitates the generation of errors or exceptions.
- Final: A keyword denoting that a variable's value cannot be changed post-initialization.
- Const: A keyword signifying that a value is a compile-time constant.
- Static: A keyword indicating that a method or property belongs to the class itself rather than its instances.
- Super: A keyword that refers to a parent class of a subclass.
- This: A keyword that points to the current instance of a class.
- Iterable: An object that can be traversed, such as a List or Set.
- Iterator: An object providing sequential access to elements within an Iterable.
- FutureBuilder: A Flutter widget that updates itself according to the state of a Future.
- Stream: A sequence of asynchronous events processed one at a time.
- StreamBuilder: A widget in Flutter that updates based on the state of a Stream.
- Cascade Notation: A Dart feature enabling multiple method calls on a single object in a compact manner.
- Named Parameters: A Dart feature allowing parameters to be specified by name instead of order.
- Optional Parameters: A Dart feature that enables default values for parameters in functions.
- Spread Operator: A Dart feature for expanding the elements of a collection as individual arguments.
The above video provides a complete guide on building a Flutter app using the Wordnik API, illustrating practical implementations of these terms.
Flutter Terminology
- Widget: The fundamental building blocks of a Flutter user interface, encompassing everything from text to images and buttons.
- Stateful Widget: A widget capable of holding state, meaning it can change dynamically.
- State: The data held by a widget that can vary over time, modifiable through setState().
- Stateless Widget: A widget that does not manage state and remains constant.
- MaterialApp: A pre-configured widget offering a basic app structure, including title and navigation.
- Scaffold: A widget that establishes a foundational layout for a page, incorporating various UI elements.
- ListView: A widget for presenting a scrollable list of items.
- Navigator: A widget that oversees a stack of screens, facilitating user navigation.
- Async/Await: A programming paradigm in Flutter that simplifies the writing of asynchronous code, enhancing readability.
- BuildContext: An object providing contextual information about a widget's location in the widget tree.
- Container: A widget creating a rectangular area for other widgets.
- Padding: A widget that adds space around its child.
- Center: A widget that centers its child within the available area.
- Expanded: A widget that fills the available space in a Flex container.
- Row: A widget that organizes its children horizontally.
- Column: A widget that organizes its children vertically.
- Stack: A widget that arranges its children in layers.
- Positioned: A widget that places its child relative to its parent in a Stack.
- Image: A widget for displaying images from various sources.
- Text: A widget for rendering text strings.
- TextStyle: A class defining the visual style of text.
- Icon: A widget that shows an icon from a pre-defined collection.
- ThemeData: A class that establishes the overall theme for an application.
- MediaQuery: A class delivering information about the device's properties.
- Material Design: A design language from Google for app design across platforms.
- Cupertino Design: A design language by Apple for iOS app aesthetics.
- ClipRRect: A widget that clips its child into a rounded rectangle.
- InkWell: A widget providing visual feedback on touch.
- SingleChildScrollView: A widget allowing vertical scrolling for its child when necessary.
- BoxDecoration: A class defining a box's visual attributes.
- SafeArea: A widget ensuring padding around its child to avoid system UI overlaps.
- AnimatedContainer: A widget that animates property changes.
- Hero: A widget that animates transitions between screens by moving shared elements.
- ClipPath: A widget that clips its child to a custom shape.
- AlertDialog: A widget presenting a modal dialog with various options.
- GestureDetector: A widget that recognizes gestures like tapping and dragging.
- Card: A widget displaying content in a material design card format.
- Dismissible: A widget allowing its child to be swiped away to trigger an action.
This video breaks down Dart keywords, providing clear explanations and examples to enhance your understanding of these crucial concepts.