Flutter (software)
Flutter
|
|
---|---|
Basic data
|
|
developer | Google LLC |
Current version |
1.20.2 ( August 13, 2020 ) |
operating system | Android, iOS, Windows, Linux, macOS, Google Fuchsia |
programming language | Darts |
category | Framework |
License | BSD |
https://flutter.dev |
Flutter is an open source UI development kit from Google and is based on the Dart programming language . According to the manufacturer, Flutter's focus is on short development times, faster execution and "native user experience ". A Flutter program should run on the following target platforms without major adjustments: WebApp , Android , iOS , Windows , Linux , macOS and Google Fuchsia .
construction
Flutter itself is written in C ++ and uses the Dart Virtual Machine (Dart-VM) and the Skia graphics library . When executing programs, Flutter tries to achieve a frame rate of at least 60 fps, or 120 fps if the hardware allows this.
Flutter programs for Android, iOS, Windows, Linux and macOS are compiled directly for the target platform and then executed in a Dart VM. Flutter WebApps are translated to JavaScript and can therefore be run directly in modern web browsers.
Widget
The basic component in a Flutter program is a widget , whereby a widget can in turn consist of widgets. A widget bundles the logic, interaction and display within an object and its structure is reminiscent of the React JavaScript software library . There are a number of ready-made widgets that map known and often required interactions, such as buttons , lists, checkboxes , tabs, etc. Flutter does not use the widgets of the respective platform, but implements them in Flutter. Widgets for Android follow the material design guidelines, while widgets for other operating systems such as iOS , Windows , Linux or macOS follow the respective guidelines. Although widgets play an essential role in Flutter, programs can also be programmed (almost) without widgets by drawing directly on a canvas.
Hello World example
A hello world program in Flutter could look like this. In this case the material widgets are used.
1 import 'package:flutter/material.dart';
2
3 void main() => runApp(HelloWorldApp());
4
5 class HelloWorldApp extends StatelessWidget {
6 @override
7 Widget build(BuildContext context) {
8 return MaterialApp(
9 title: 'Hello World App',
10 home: Scaffold(
11 appBar: AppBar(
12 title: Text('Hello World App'),
13 ),
14 body: Center(
15 child: Text('Hello World'),
16 ),
17 ),
18 );
19 }
20 }
Individual evidence
- ↑ github.com .
- ↑ Flutter - Beautiful native apps in record time. Accessed January 30, 2020 (English).
- ↑ Open-Source Clues to Google's Mysterious Fuchsia OS. Accessed January 30, 2020 (English).
- ↑ Skia in Flutter & Fuchsia. Retrieved March 1, 2020 .
- ↑ Flutter performance profiling. Retrieved March 1, 2020 .
- ↑ Dart.dev Platforms. Accessed January 30, 2020 (English).
- ^ Web support for Flutter. Accessed January 30, 2020 (English).
- ^ Flutter - 60 FPS UI of the Future - Everything is a widget. Retrieved March 1, 2020 .
- ↑ Introduction to widgets. Accessed January 30, 2020 (English).
- ↑ StatefulWidget class - widgets library - Dart API. Accessed January 30, 2020 .
- ↑ Material Components widgets. Accessed January 30, 2020 (English).
- ↑ Canvas class. Retrieved March 1, 2020 .
- ↑ Zerker - a lightweight and powerful flutter graphic animation library. Retrieved March 1, 2020 .
- ↑ 2D game engine made on top of Flutter. Retrieved March 1, 2020 .