knowledge/technology/dev/programming/frameworks/Flutter.md
2024-05-27 14:22:10 +02:00

4.2 KiB

obj wiki website repo
concept https://en.wikipedia.org/wiki/Flutter_(software) https://flutter.dev https://github.com/flutter/flutter

Flutter

Flutter is an open-source UI software development kit created by Google. It is used to build natively compiled applications for mobile, web, and desktop from a single codebase. With Flutter, developers can create beautiful, fast, and expressive user interfaces using a reactive framework.

Features

  1. Fast Development: Flutter offers hot reload, allowing developers to see changes to the code in real-time without restarting the app, resulting in a faster development cycle.
  2. Single Codebase: Flutter enables developers to write code once and deploy it on multiple platforms, including iOS, Android, web, and desktop.
  3. Expressive UI: Flutter provides a rich set of customizable widgets that allow developers to create visually stunning user interfaces with smooth animations and transitions.
  4. Native Performance: Flutter uses the Dart programming language and compiles to native code, providing high performance and smooth user experience on all platforms.
  5. Community Support: Flutter has a vibrant community of developers who contribute packages, plugins, and documentation, making it easier for developers to build and maintain their applications.

Resources:

  • Flutter Documentation: Official documentation for Flutter, including guides, tutorials, and API reference.
  • Flutter Packages: Repository of Flutter packages contributed by the community.
  • Flutter Dev Community: Connect with other Flutter developers, ask questions, and share your knowledge.
  • Flutter Samples: Explore sample Flutter apps to learn best practices and common patterns.

Widgets

  • Container: A versatile widget for creating custom layouts and styling with properties like padding, margin, color, and decoration.
  • Row and Column: Widgets for arranging child widgets horizontally (Row) or vertically (Column).
  • Text: Widget for displaying text with various styling options like font size, color, alignment, etc.
  • Image: Widget for displaying images from various sources like assets, network, memory, or file.
  • ListView: Widget for displaying a scrollable list of children widgets. It's highly efficient for large lists.
  • GridView: Widget for displaying a scrollable grid of children widgets.
  • AppBar: Widget for creating a material design app bar with options for titles, actions, and navigation.
  • Scaffold: Widget that implements the basic material design visual layout structure, including app bars, drawers, and snack bars.
  • BottomNavigationBar: Widget for creating a bottom navigation bar with multiple tabs for navigation.
  • TextField: Widget for capturing user input as text.
  • FlatButton, RaisedButton, IconButton: Widgets for creating buttons with different styles and functionalities.
  • AlertDialog: Widget for displaying a dialog box with a title, content, and buttons for user interaction.
  • Card: Widget for creating a material design card with a shadow and rounded corners, typically used to display content.
  • Spacer: Widget for creating flexible space in a Row or Column, allowing widgets to expand to fill available space.
  • AnimatedContainer: Widget for creating animated transitions between different container properties like size, color, and shape.
  • ClipRRect: Widget for creating a rounded rectangle with clipped corners.
  • Wrap: Widget for creating a layout that automatically wraps children to the next line when there's not enough space.
  • InkWell: Widget for creating a rectangular area of a material that responds to touch, allowing for ink splash animations.

Packages