In flutter MaterialApp is a class that represents an application that uses material design.

It is a concrete class and derives from the StatefulWidget and resides in the flutter package.

class MaterialApp extends StatefulWidget

MaterialApp makes our job easier by wrapping several widgets that are commonly required for material design applications. It builds upon a WidgetsApp by adding material-design specific functionality, such as AnimatedTheme and GridPaper.

A StatefulWidget is a widget that has mutable state.

Technically it's an abstract class and is one of the classes that directly derive from the also abstract Widget class.

abstract class StatefulWidget extends Widget

It's defined in the flutter package:

It's unique feature is the fact it has mutable state while it's sister the StatelessWidget doesn't.

Basically the State refers to information that

  1. can be read synchronously when the widget is built.
  2. might change during the lifetime of the widget.

Stateful widgets will describe part of a user interface by building a constellation of other widgets that describe the user interface more concretely. The building process continues recursively until the description of the user interface is fully concrete (e.g., consists entirely of RenderObjectWidgets, which describe concrete RenderObjects).

ThemeData is a class that holds the color and typography values for a material design theme.

TabController is a class that coordinates tab selection between a TabBar and a TabBarView.

Here's it's definition:

class TabController extends ChangeNotifier

This widget is important when you want to work with tabs.

You can get the position of the selected tab via the index property of thi...

TabBar is a material design widget that displays a horizontal row of tabs.

class TabBar extends StatefulWidget implements PreferredSizeWidget

TabBar resides in the flutter package.

Mostly TabBar is created as the AppBar.bottom part of an AppBar and in conjunction with a TabBarView.


DefaultTabController is the TabController for descendant widgets that don't specify one explicitly.

DefaultTabController derives from the StatefulWidget. This implies it has a mutable state.

class DefaultTabController extends StatefulWidget

DefaultTabController is an inherited widget tha...

A material design TabBar tab.

Tab derives from the StatelessWidget:

class Tab extends StatelessWidget

Tab also resides in the flutter package.

If both icon and text are provided, the text is displayed below the icon.

More documentation coming soon.

TabBarView is a page view that displays the widget which corresponds to the currently selected tab. Typically used in conjunction with a TabBar.

TabBarView is a concrete class and derives from the StatefulWidget class.

class TabBarView extends StatefulWidget

Think of this as the page that ac...

PHP is a popular general-purpose scripting language that is especially suited to web development.

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

Flutter Tutorials and Examples