Vai al contenuto

Flutter (software): differenze tra le versioni

Da Wikipedia, l'enciclopedia libera.
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m Esempio di Hello World in Flutter: Eliminato una riga vuota
 
(15 versioni intermedie di 14 utenti non mostrate)
Riga 1: Riga 1:
{{Software
{{Software
|UltimaVersioneBeta = Release Preview 2 (v0.8.2)
|DataUltimaVersioneBeta = Settembre 2018
|SistemaOperativo = Windows
|SistemaOperativo = Windows
|SistemaOperativo2 = MacOS
|SistemaOperativo2 = MacOS
|SistemaOperativo3 = Linux
|SistemaOperativo3 = Linux
|Genere = Framework
|Genere = Framework
|Genere2 = SDK
|Genere2 = Software development kit
}}
}}
'''Flutter''' è un [[framework]] open-source creato da [[Google (azienda)|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''' è un [[framework]] open-source creato da [[Google (azienda)|Google]] per la creazione di interfacce native per [[iOS]], [[Android]], [[Linux]], [[macOS]] e [[Microsoft Windows|Windows]] oltre ad essere il metodo principale per la creazione di applicazioni per [[Google Fuchsia]].


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.
Con la versione 1.9, Google introduce il supporto per le [[Applicazione web|applicazioni web]] e per siti statici scritti in linguaggio [[Dart (linguaggio)|Dart]]. Così, con questo aggiornamento, si è ampliata la lista delle piattaforme supportate.


== Storia ==
== 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 [[Frequenza dei fotogrammi|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.<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 rilasciato all'evento ''Flutter Live'', e rappresenta la prima versione "stabile" del framework.
La prima versione di Flutter fu conosciuta come "Sky" e girava su [[Android]]. Presentato al summit per sviluppatori Dart del 2015, con l'obiettivo di renderizzare costantemente a 120 [[Frequenza dei fotogrammi|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.<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 rilasciato all'evento ''Flutter Live'', e rappresenta la prima versione "stabile" del framework. Il 3 marzo 2021 viene rilasciata la versione Flutter 2.0<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 Framework ==
== Architettura Framework ==
Riga 29: Riga 27:
La Foundation library, scritta in [[Dart (linguaggio)|Dart]], fornisce classi e funzioni di base utilizzate per costruire applicazioni che utilizzano Flutter, come le API per comunicare con l'engine.
La Foundation library, scritta in [[Dart (linguaggio)|Dart]], fornisce classi e funzioni di base utilizzate per costruire applicazioni che utilizzano Flutter, come le API per comunicare con l'engine.


=== Widgets ===
=== Widget ===
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.
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 widgets ===
=== Design-specific widget ===
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.
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|Hello, World]] in Flutter==
== Esempio di Hello World in Flutter==
<syntaxhighlight lang="dart" line="1">
<syntaxhighlight lang="dart" line="1">
import 'package:flutter/material.dart';
import 'package:flutter/material.dart';
Riga 63: Riga 61:
}
}
</syntaxhighlight>
</syntaxhighlight>
<br />


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.
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 UI in stile iOS.
È disponibile anche il pacchetto Cupertino per la realizzazione di [[Interfaccia utente|UI]] in stile iOS.


Il widget "MaterialApp" è l'inizio dell'applicazione, esso permette di impostare il tema, la navigazione tra le pagine e la home page (oltre a tante altre impostazioni).
Il widget "MaterialApp" è l'inizio dell'applicazione, esso permette di impostare il tema, la navigazione tra le pagine e la home page (oltre a tante altre impostazioni).
Riga 72: Riga 69:
== Note ==
== Note ==
<references/>
<references/>

== Altri progetti ==
{{interprogetto}}


== Collegamenti esterni ==
== Collegamenti esterni ==

Versione attuale delle 21:42, 30 nov 2024

Flutter
software
Logo
Logo
GenereFramework (non in lista)
Software development kit (non in lista)
SviluppatoreGoogle, Jonah Williams, Adam Barth, Greg Spencer e Ian Hickson
Data prima versione23 ottobre 2014
Ultima versione3.24.5 (13 novembre 2024)
Sistema operativoMicrosoft Windows
macOS
Linux
LinguaggioSkia Graphics Engine
Dart
C++
LicenzaBSD 3-clausole
(licenza libera)
Sito webflutter.dev/

Flutter è un framework open-source creato da Google per la creazione di interfacce native per iOS, Android, Linux, macOS e Windows oltre ad essere il metodo principale per la creazione di applicazioni per Google Fuchsia.

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.

La prima versione di Flutter fu conosciuta come "Sky" e girava su Android. Presentato al summit per sviluppatori Dart del 2015, con l'obiettivo 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.[1] Il 4 dicembre 2018, Flutter 1.0 è stato rilasciato all'evento Flutter Live, e rappresenta la prima versione "stabile" del framework. Il 3 marzo 2021 viene rilasciata la versione Flutter 2.0[2] che consente agli sviluppatori di generare in maniera stabile applicazioni multipiattaforma (Android, iOS, Windows, macOS, Linux, Web).

Architettura Framework

[modifica | modifica wikitesto]

I componenti principali di Flutter sono:

  • Dart Platform
  • Flutter engine
  • Foundation library
  • Design-specific widgets

Flutter engine

[modifica | modifica wikitesto]

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'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

[modifica | modifica wikitesto]

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.

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 widget

[modifica | modifica wikitesto]

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

[modifica | modifica wikitesto]
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'),
        ),
      ),
    );
  }
}

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 UI in stile iOS.

Il widget "MaterialApp" è l'inizio dell'applicazione, esso permette di impostare il tema, la navigazione tra le pagine e la home page (oltre a tante altre impostazioni).

  1. ^ Google Announced Flutter Release Preview 2, su apptunix.com, Apptunix. URL consultato il 1º marzo 2019 (archiviato dall'url originale il 25 settembre 2018).
  2. ^ (EN) Announcing Flutter 2, su Google Developers Blog. URL consultato l'8 marzo 2021.
  3. ^ (EN) Widget catalog, su flutter.dev. URL consultato il 2 ottobre 2019.

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]