Flutter (software): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m aggiunti collegamenti alla documentazione ed al sito pub.dev
 
(31 versioni intermedie di 21 utenti non mostrate)
Riga 1:
{{Software
|SistemaOperativo = [[Windows]], [[MacOS]] e [[Linux]],
|Nome = Flutter
|SistemaOperativo2 = MacOS
|Logo = Google-flutter-logo.png
|SistemaOperativo3 = Linux
|DimensioneLogo = 120x300
|Genere = frameworkFramework
|Sviluppatore = [[Google]] and community
|Genere2 = Software development kit
|DataPrimaVersione = Alpha (v0.0.6) / Maggio 2017
|UltimaVersione = Flutter v1.9.1
|DataUltimaVersione = 11 settembre2019<ref>{{cita web |url=https://github.com/flutter/flutter/releases |titolo=Release 1.9.2 |editore=Github |accesso=02º settembre 2019 |lingua=en}}</ref>
|UltimaVersioneBeta = Release Preview 2 (v0.8.2)
|DataUltimaVersioneBeta = Settembre 2018
|SistemaOperativo = [[Windows]], [[MacOS]] e [[Linux]],
|Linguaggio = [[C (linguaggio)| C]], [[C++]], [[Dart (linguaggio)|Dart]] e [[Skia Graphics Engine]]
|Genere = framework
|SoftwareLibero = Si
|Categorie = [[Application framework]]
|SitoWeb = flutter.dev
}}
'''Flutter''' è un ''[[framework]] open-source'' creato da [[Google (azienda)|Google]] per la creazione di interfacce native per [[iOS]] e, [[Android]], [[Linux]], [[macOS]] e [[Microsoft Windows|Windows]] oltre ada essere il metodo principale per la creazione di applicazioni per [[Google Fuchsia]].
 
Con la versione 1.9, Google introduceha introdotto il supporto per le [[Applicazione web|applicazioni web]] e per i siti statici scritti in linguaggio [[Dart. Così, con questo aggiornamento(linguaggio)|Dart]], sipermettendo ècosì ampliatal'ampliamento ladella lista delle piattaforme supportate.
 
== Storia ==
La prima versione di Flutter fu conosciuta aveva come nome "Sky" e girava su [[Android]]. PresentatoÈ stato presentato al summit per sviluppatori Dart del 2015, con l'obbiettivoobiettivo di [[Rendering|renderizzare]] costantemente a 120 [[Frequenza dei fotogrammi|fps]]. Durante il Keynote del Google Developer Days a Shanghai, Google annunciaha annunciato Flutter Release Preview 2, il qualeche è stato l'ultimoultima grande rilasciopubblicazione di una versione prima di Flutter 1.0.<ref>{{Cita web|url=https://www.apptunix.com/whats-new-in-googles-flutter-for-mobile-app-developers|editore=Apptunix|titolo=Google Announced Flutter Release Preview 2|accesso=1 marzo 2019|urlarchivio=https://web.archive.org/web/20180925220106/https://www.apptunix.com/whats-new-in-googles-flutter-for-mobile-app-developers/|dataarchivio=25 settembre 2018|urlmorto=sì}}</ref> Il 4 dicembre 2018, Flutter 1.0 è stato rilasciatopubblicato all'evento ''Flutter Live'', e rappresentaha rappresentato la prima versione "stabile" del ''framework''. Il 3 marzo 2021 è stata pubblicata la versione 2.0 di Flutter<ref>{{Cita web|url=https://developers.googleblog.com/2021/03/announcing-flutter-2.html|titolo=Announcing Flutter 2|sito=Google Developers Blog|lingua=en|accesso=2021-03-08}}</ref>, che consente agli sviluppatori di generare in maniera stabile applicazioni [[multipiattaforma]] (Android, iOS, Windows, macOS, Linux, Web).
 
== Architettura Frameworkdel framework ==
I componenti principali di Flutter sono:
 
* La piattaforma [[Dart (linguaggio)|Dart]] Platform
* Il motore grafico di Flutter
* Flutter engine
* La Foundation library
* I Design-specific widgetswidget
 
=== 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.
 
=== WidgetsWidget ===
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 widgetswidget ===
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]
* {{Collegamenti esterni}}
* [https://dart.dev/docs Documentazione ufficiale Dart]
* [https://pub.dev/ Pub.dev]{{Collegamenti esterni}}
 
{{Portale|Google|Informatica}}
 
[[Categoria:Software proprietario]]
[[Categoria:Framework]]