Flutter (software)
Flutter è un framework open-source creato da Google per la creazione di interfacce native per iOS e Android, oltre ad essere il metodo principale per la creazione di applicazioni per Google Fuchsia.
Flutter software | |
---|---|
![]() | |
Genere | framework (non in lista) |
Sviluppatore | Google and community |
Data prima versione | Alpha (v0.0.6) / Maggio 2017 |
Ultima versione | Flutter v1.9.1 (11 settembre 2019 [1]) |
Ultima beta | Release Preview 2 (v0.8.2) (Settembre 2018) |
Sistema operativo | Microsoft Windows |
Linguaggio | Skia Graphics Engine Dart C++ c, c++, dart e skia graphics engine (non in lista) |
Licenza | BSD 3-clausole (licenza libera) |
Sito web | flutter.dev |
Con la versione 1.9, Google introduce il supporto per le applicazioni web e per siti statici scritti in linguaggio Dart. Così, con questo aggiornamento, si è ampliata la lista delle piattaforme supportate.
Storia
La prima versione di Flutter fu conosciuta come "Sky" e girava su Android. Presentato al summit per sviluppatori Dart del 2015, con l'obbiettivo di renderizzare costantemente a 120 fps. Durante il Keynote del Google Developer Days a Shanghai, Google annuncia Flutter Release Preview 2 il quale è stato l'ultimo grande rilascio prima di Flutter 1.0.[2] Il 4 dicembre 2018, Flutter 1.0 è stato rilasciato all'evento Flutter Live, e rappresenta la prima versione "stabile" del framework.
Architettura Framework
I componenti principali di Flutter sono:
- Dart Platform
- Flutter engine
- Foundation library
- Design-specific widgets
Flutter engine
Flutter engine è scritto principalmente in C++, fornisce supporto per il rendering a basso livello utilizzando la libreria grafica di Google, Skia Graphics. Inoltre, si interfaccia con SDK della piattaforma specifica come quelli di Android o iOS. Una particolarità molto apprezzata del Flutter engine, grazie al codice scritto in Dart, è quella di poter effettuare un "hot-reload" dell'aplicazione dove la modifica del codice viene iniettata immediatamente all'interno dell'applicazione così da visualizzare all'istante le modifiche effettuate senza un riavvio completo o un cambio di stato.
Foundation library
La Foundation library, scritta in Dart, fornisce classi e funzioni di base utilizzate per costruire applicazioni che utilizzano Flutter, come le API per comunicare con l'engine.
Widgets
La progettazione dell'interfaccia utente in Flutter prevede l'assemblaggio e/o la creazione di vari widget. Un widget in Flutter rappresenta una descrizione immutabile dell'interfaccia utente; grafici, testo, forme e animazioni vengono creati utilizzando i widget. È possibile creare widget più complessi combinando molti più semplici. Sul sito della documentazione[3] di Flutter è possibile consultare tutti i Widgets disponibili.
Design-specific widgets
Il framework Flutter contiene due set di widget conformi a specifici linguaggi di progettazione. I widget in stile Material Design implementano il design di Google con lo stesso nome, mentre i widget di Cupertino imitano il design iOS di Apple.
Esempio di Hello, World
import 'package:flutter/material.dart';
void main() => runApp(HelloWorldApp());
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World App',
home: Scaffold(
appBar: AppBar(
title: Text('Hello World App'),
),
body: Center(
child: Text('Hello World'),
),
),
);
}
}
Note
- ^ (EN) Release Flutter, su https://github.com/flutter/flutter/release. URL consultato il 2 ottobre 2019.
- ^ Google Announced Flutter Release Preview 2, su apptunix.com, Apptunix.
- ^ (EN) Widget catalog, su flutter.dev. URL consultato il 2 ottobre 2019.
Collegamenti esterni
- (EN) Sito ufficiale, su flutter.dev.
- Flutter (canale), su YouTube.
- (EN) Flutter, su GitHub.
- Repository sorgenti di Flutter, su github.com.