Va bene, quindi la prima cosa di cui voglio parlare è: "Cos'è esattamente Flutter? ". E per essere in grado di rispondere a questa domanda, dobbiamo prima entrare nella mente di uno sviluppatore di app per dispositivi mobili. Quindi eccone uno. Questo è Bob. Ed è uno sviluppatore iOS. Ora, Bob ha creato questa app davvero fantastica in cui invece di abbinare altre persone, puoi abbinare i cibi! E puoi capire quale cibo vuoi mangiare di più. Ed è un'app super popolare. Tutti lo adorano. Ma c'è solo un problema. È solo su iOS. Quindi a giorni alterni riceve una domanda: "Quando arriverà su Android? ". "Quando arriverà su Android? " "Quando arriverà su Android? "E ad un certo punto, finalmente ne ha avuto abbastanza e decide di andare a comprare un sacco di libri. studiare Giava. studia lo sviluppo di Android e, infine, è in grado di avere entrambi questi pulsanti sul suo sito Web: "Scaricalo su Google Play" e "Scarica su App Store". Quindi ora ha la stessa app su Google Play e App Store. Ora questo è ottimo per gli utenti, ma per Bob significa che quando ha aggiornamenti che vuole apportare all'app o correzioni di bug, deve inviarli sia al Play Store che all'App Store. Quindi due posti adesso invece di uno. E deve mantenere due basi di codice. Quindi c'è un sacco di lavoro su tutta la linea. Praticamente è il doppio della quantità di lavoro che aveva prima. Ma non è tutto perché riceve lamentele dagli utenti che dicono "Ehi, nella tua app alcuni layout sembrano davvero strani". "Non sembra giusto. " "Ad esempio, perché questo pulsante è grande il doppio di tutto il resto? " "Cosa c'è che non va nella tua app? "Ora, questo perché non solo deve supportare una vasta gamma di diverse dimensioni dello schermo e proporzioni per l'ecosistema iOS - iPad, iPhone, iPhone più vecchi, ma ora ha anche un sacco di dispositivi Android. E poiché i dispositivi Android possono essere realizzati letteralmente da chiunque, il numero di schermi di diverse dimensioni è enorme. Ed è davvero difficile tenere il passo con tutte le diverse dimensioni dello schermo per poter progettare la tua app in modo che abbia un bell'aspetto su tutte. Ora è qui che entra in gioco Flutter. I ragazzi di Flutter avevano questa domanda: "Stiamo vedendo sempre più schermi ovunque. "Ci sono schermi sui frigoriferi. Ci sono schermi alla fermata dell'autobus. " "Ci sono schermi nel tuo specchio. E sono tutte proporzioni diverse e dimensioni dello schermo diverse. " "Allora perché non possiamo creare qualcosa che possa consentire in modo intelligente e semplice agli sviluppatori di progettare belle" "interfacce per tutti questi diversi tipi di schermi? "E questo è esattamente ciò che è Flutter. È semplicemente un kit di strumenti che rende facile per gli sviluppatori progettare bellissime interfacce per tutti i tipi di dimensioni dello schermo e dispositivi. E viene fornito con un sacco di widget predefiniti che semplificano il layout della tua app. Quindi cose semplici come disporre la tua app con righe o con colonne o pile. E prende in prestito alcuni dei concetti dal web design in cui puoi avere cose che sono centrate o hanno padding e margini. E se potessi usare questo sistema per progettare e sviluppare per quasi tutti i dispositivi? Perché tutto ciò che Flutter fa è richiedere una finestra vuota sul dispositivo, sia su Android o iOS o web o desktop. Tutto quello che sta chiedendo è solo una semplice finestra vuota. E ciò che Flutter farà è, disegnerà su quella finestra vuota qualunque cosa debba essere renderizzata e qualunque animazione, interazione o cambiamento. È tutto dipinto da Flutter. Quindi questo significa che invece di dover creare app iOS alla maniera di Apple e rendere le app Android alla maniera di Android, puoi semplicemente utilizzare un sacco di widget precostruiti da Flutter, come un pulsante di azione mobile o un indicatore di avanzamento lineare. E puoi semplicemente inserirli nella tua app, indipendentemente dalla piattaforma su cui stai lavorando. E hanno persino progettato widget che sembrano la parte giusta per ogni piattaforma. Quindi, ad esempio, i tuoi avvisi potrebbero apparire così sulla tua app Android, ma puoi anche specificare che se la tua app è in esecuzione su iOS, allora dovrebbero apparire così, facendo sembrare la tua app come se fosse stata creata in modo nativo . Ecco come funziona Flutter. Hai accesso a tutta una serie di widget in modo da poter vedere questi widget come blocchi Lego quasi. E collegandoli insieme e personalizzandoli ti ritroverai con la tua bellissima app che può essere distribuita quasi ovunque. Diamo un'occhiata a quanto può essere facile lavorare con i widget nella vita reale. Ho creato un'app vuota. E andrò avanti e aggiungerò una barra delle app. E questo è un widget predefinito creato da Flutter. E non appena premo Salva, la mia barra delle app viene dipinta sullo schermo. Quindi non mi piace in blu. Quindi personalizziamolo per cambiarlo in rosso. Quindi ora ho aggiunto il widget dei colori e ho cambiato il colore. Quindi ora aggiungiamo un widget di testo che aggiunge un titolo alla barra dell'app. E proprio come Lego, ho collegato tutti i miei widget e sono riuscito a creare la mia barra delle applicazioni in pochi secondi. E ci sono un sacco di widget diversi che sono pre-costruiti. Ad esempio, se desideri un pulsante di azione mobile, creiamo semplicemente quel widget. E possiamo personalizzarlo cambiando le sue proprietà come il colore di sfondo o cosa dovrebbe esserci dentro. Pezzo per pezzo, widget per widget, posso costruire la mia app e personalizzarla a mio piacimento con pochissime righe di codice. E se volessi alcune funzionalità? Bene, posso semplicemente creare una variabile per tenere traccia, ad esempio, del numero di ciambelle che ho mangiato in un giorno e posso modificare il mio campo di testo per incorporare quella variabile numerica. E poi tutto ciò che accade è quando l'utente preme il pulsante rosso, quindi aumenterà il numero di ciambelle che ho mangiato. E Flutter rende incredibilmente facile creare una bella interfaccia per la nostra app utilizzando questi widget e permettendoci di personalizzare i widget a nostro piacimento. Infine, creare funzionalità su questi widget è semplice come aggiornare una serie di variabili. E in cui ci addentreremo. Quindi, ora che ho creato la mia app contatore di ciambelle, la parte migliore è che ora posso distribuire quel codice su tutti i tipi di dispositivi e piattaforme diversi senza dover riscrivere il codice o imparare una nuova tecnologia, una nuova abilità o una nuova programmazione linguaggio.