Flutter (software): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m aggiunti collegamenti alla documentazione ed al sito pub.dev |
||
(44 versioni intermedie di 27 utenti non mostrate) | |||
Riga 1:
{{Software
|SistemaOperativo2 = MacOS
|SistemaOperativo3 = Linux
|Genere2 = Software development kit
▲|SistemaOperativo = [[Windows]], [[MacOS]] e [[Linux]],
▲|Genere = framework
}}
'''Flutter''' è un ''[[framework]] open-source'' creato da [[Google (azienda)|Google]] per la creazione di interfacce native per [[iOS]]
Con la versione 1.9, Google ha introdotto il supporto per le [[Applicazione web|applicazioni web]] e per i siti statici scritti in linguaggio [[Dart (linguaggio)|Dart]], permettendo così l'ampliamento della lista delle piattaforme supportate.
== Storia ==
La prima versione di Flutter
== Architettura
I componenti principali di Flutter sono:
* La piattaforma [[Dart (linguaggio)|Dart]]
* Il motore grafico di Flutter
* La Foundation library
* I Design-specific
=== 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 [[Software development kit|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'applicazione 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 (linguaggio)|Dart]], fornisce classi e funzioni di base utilizzate per costruire applicazioni che utilizzano Flutter, come le [[Application programming interface|API]] per comunicare con l'engine.
===
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<ref>{{Cita web|url=https://flutter.dev/docs/development/ui/widgets|titolo=Widget catalog|sito=flutter.dev|lingua=en|accesso=2019-10-02}}</ref> di Flutter è possibile consultare tutti i Widgets disponibili.
=== Design-specific
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 in Flutter==
<syntaxhighlight lang="dart" line="1" copy=1>
import 'package:flutter/material.dart';
void main() => runApp(HelloWorldApp());
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World App',
theme: ThemeData(
primaryColor: Colors.red[400],
accentColor: Colors.yellow,
fontFamily: "Roboto",
),
home: Scaffold(
appBar: AppBar(
title: Text('App Bar Title'),
),
body: Center(
child: Text('Hello World'),
),
),
);
}
}
</syntaxhighlight>
L'importazione del pacchetto (''package'') Material consente l'uso di classi e widget a tema Material Design. Questo pacchetto è fondamentale per la realizzazione dell'applicativo.
È disponibile anche il pacchetto Cupertino per la realizzazione di [[Interfaccia utente|UI]] in stile iOS.
Il widget <code>MaterialApp</code> è l'inizio dell'applicazione, esso permette di impostare il tema, la navigazione tra le pagine e la home page (oltre a tante altre impostazioni).
=== Pub.dev ===
Al fine della realizzazione di applicazioni più complesse è, talvolta, necessario sfruttare librerie esterne. A tale scopo, Google, ha messo a disposizione degli utenti il sito [https://pub.dev/ pub.dev]. Esso è la repository ufficiale per i pacchetti Dart e Flutter, dove sono disponibili sia librerie create e supportare direttamente da Flutter, che dai singoli utenti.
== Note ==
<references/>
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* [https://docs.flutter.dev/ Documentazione ufficiale Flutter]
* [https://dart.dev/docs Documentazione ufficiale Dart]
* [https://pub.dev/ Pub.dev]{{Collegamenti esterni}}
{{Portale|Google|Informatica}}
[[Categoria:Framework]]
|