[Fischio] Bene e benvenuti su Geek Bar, nuova settimana e nuovo episodio qua nel bar per gli sviluppatori [Fischio] Eccoci qua, ciao Luca Io sono partito a palla, come va? [Luca] Bene, bene, bene, sono carico perché è venerdì E quindi sono carichissimo, no bugia, stanchissimo [Luca] Cos'è che ho detto? È giovedì oggi, ok? [Risate] [Risate] Ok, siamo bolliti Io non ti posso essere d'aiuto Sappilo, perché oggi è esploso tutto al lavoro, vedi si è andato giù tutti gli utenti PagerDuty che suonava insomma, un delirio totale, quindi cerchiamo di riprenderci un po' con questa birretta serale anche perché oggi abbiamo un super ospite qua, no? - Sì, chi abbiamo? - Eh, te lo dico subito dopo averti ricordato come ogni settimana noiosamente i nostri contatti.Info che ho la github via email o @brenrepo su twitter e poi il nostro amato gruppo telegram.Telegram.Come lo possono trovare luca ce lo ricordi al volo? Certo andando su telegram e cercare il gruppo git bar podcast o semplicemente git bar siamo una community ci siamo siamo a quota quanti siamo quanto abbiamo detto 380 380 aggiudicato dobbiamo ingrandire le mura del nostro bar per farci stare tutti tra un po' Sì soprattutto prendere più boccali e più ordinare più birra quindi benvenuti su GITBAR il podcast dedicato al mondo dei full stack developer i mezzo artigiani, mezzo artisti che ogni giorno infilano le mani nel fango per creare nel modo più efficiente possibile quei prodotti digitali che quotidianamente usiamo Oggi condividiamo una birra con un ospite d'eccezione.È super presente nel mondo delle community in generale.È co-leader del GDG Roma, Yuna.Ciao, benvenuta.Ciao, grazie per avermi invitato.Che piacere averti qua.È da un po' che ci rincorriamo, a dire il vero, no? È un po' di mesi che ci scriviamo per riuscire a organizzare questa puntata.credo ci siamo incontrati virtualmente la prima volta dopo il Code Motion se non ricordo male verissimo verissimo da lì poi sono passati mesi ma finalmente ci siamo riusciti io con estremo piacere ho appunto il piacere di ospitarti qua nel nostro bar che sappilo da questo momento è anche un po' casa tua quindi sentiti libera di prendere da bere quello che vuoi e noi ci sentiremo liberi di farti qualche domanda.La prima domanda che voglio farti è come è iniziato tutto? Allora diciamo che il mio incontro con l'informatica è arrivato abbastanza presto, in effetti mi è stato insegnato a programmare praticamente subito, me l'hanno messo subito in mano il pc, c'erano ancora i Commodore, però tanto è bastato per far nascere questo amore.Per me quindi scrivere programmi è diventato subito un hobby, è stato quello che c'è stato subito dopo usare il Commodore per giocare.Quindi all'inizio quando magari non c'era ancora internet mi divertivo a fare dei piccoli giochi testuali, poi più tardi cambiando computer e con l'avventivo del del web, chiaramente ho avuto accesso a un sacco di materiale e quindi ho iniziato anche ad esplorare altri tipi di progetti, per esempio facevo piccoli gestionali tanto per divertirmi oppure piccoli client email quando c'erano le prime connessioni e chiaramente con il passare del tempo ho cominciato a pensare di rendere il mio hobby la mia professione, quindi mi sono laureata in ingegneria informatica e questo nonostante la mia formazione fosse è stata invece di tipo classico e umanistico e dopo la laurea ho iniziato a lavorare come sviluppatore e poi ho continuato per diversi anni fino ad oggi.Cosa ti ha dato un percorso di formazione umanistico nel tuo percorso professionale più tecnico, più scientifico? Cosa ha portato? In realtà la capacità di essere abbastanza eterogenea nel pensiero, nel senso che comunque quello che io amo di più è fare delle rendition di temi già visti oppure mescolare temi che non sono stati mai messi assieme e tirarne fuori qualcosa di simpatico.Sono stata anche molto fortunata, questo lo dico sempre perché per fortuna ho avuto degli insegnanti molto e che mi hanno supportato molto, che erano molto aperti e anche molto appassionati quindi sono riuscita a trasmettermi tantissimo questa passione e non nascondo che ogni tanto lo apro ancora il libro di Greco comunque.Sai che un po' è un mio rimpianto quello di non aver fatto invece degli studi umanistici che adesso col senno di poi dico probabilmente mi avrebbero regalato una prospettiva verso il mondo differente.Sai studiare filosofia da ragazzo rispetto a farlo adesso a 37 anni è completamente diverso, ti forma in un modo significativamente diverso e quindi ritorna il fatto che alla fine gli studi umanistici prima o poi ritornano in quello che facciamo tutti i giorni? Sì, forse poi quando li affrontiamo a posteriori, cioè quando non ci vengono imposti hanno anche poi tutto un altro sapore perché ne cogliamo sfumature diverse che vanno oltre la versione, vanno oltre la lettura guidata con un professore per cui ne traiamo anche più beneficio che diventa non solo nozionistico ma proprio anche di bagaglio nostro interiore secondo me.Vero, poi tu hai detto un'altra cosa che è qua c'è una mia curiosità retagio un po' degli studi universitari.Tu hai detto che hai fatto ingegneria informatica, come mai questa scelta verso l'ingegneria piuttosto che verso l'informatica tal quale? Allora, in realtà io ho cominciato con informatica e poi ho cambiato.Ad essere totalmente sincera, per me i primi anni all'università non sono stati facili, nel senso che comunque ho dovuto studiare molto, ho dovuto recuperare tanto di quello che non avevo avuto nel mio percorso prettamente classico.Diciamo e dalla fine niente ho fatto questo cambio in corsa che si è rivelato vincente perché sono poi di fatto riuscita a laurearmi.No però credo che adesso magari dico una fesseria, correggimi se sbaglio, anche questa tua passione verso Arduino, l'elettronica che un po' vediamo dai tuoi social è figlia un po' dei tuoi studi di ingegneria? Parzialmente, nel senso che l'interesse è stato acuito dalla consapevolezza di aver studiato tanta teoria dell'elettronica e aver fatto pochissima pratica all'università, ma è stata indirizzata anche dal fatto che in casa avevo delle persone che facevano elettronica e mi affascinava tantissimo, mi sembrava super complicata, gli uto mille fili da dove comincio.Arduino ha a questa capacità di portare l'elettronica veramente, cioè diciamo di avvicinarla tantissimo a noi sviluppatori perché poi alla fine la maggior parte della logica è nel codice, anche per fare cose molto abbastanza complicate, per cui ha questo big plus.Vero, verissimo.Per un attimo mi hai riportato al mio esame di elettrotecnica 1, mai cosa fu così difficile per me.Io ricordo di aver studiato anche tantissimo elettronica ed elettrotecnica per essere veramente sempre parata all'infinito mi sembravano super ostiche come materie.Vero verissimo ti faccio una domanda da prima appunto studiando ingegneria poi nel mondo dello sviluppo software.Cosa vuol dire essere una donna sviluppatore e cosa tutto l'industry può fare per tutelare questo lato appunto della diversity? Ok, in realtà sono stata abbastanza fortunata perché mi è capitato diciamo di collaborare con moltissime donne che hanno anche preso parte poi alla mia formazione durante la mia carriera.Sono stata in posti in cui la componente femminile era molto importante e ha portato veramente… chi gestiva ci credeva tantissimo e veramente ha portato tantissimo.È stato fantastico perché sicuramente uomini e donne hanno modi diversi di approcciare i problemi tecnici e vedere entrambe le situazioni, entrambe le cose mi ha permesso di prendere pro e contro di entrambe gli approcci.Hai mai trovato limitante il fatto di essere una donna? No, per fortuna no, anzi.Che bello, se ne fossero tante situazioni così.Dobbiamo cercare nel nostro piccolo comunque di intervenire proprio perché si creino situazioni dove non si senta questo scoglio però direi che possiamo passare a parlare dei giocattoli che è la cosa poi che che un po più ci entusiasma e oggi con te mi piacerebbe parlare di flutter.Faccio una premessa ne so zero cioè non ho neanche fatto nello word quindi se dico qualche fesseria ti prego correggimi Luca anche tu lanciami una scarpa da bolzano direttamente.E' suale.Credimi ne so veramente veramente poco.Allora ti chiedo ma Flatter cos'è un ecosistema un framework un linguaggio un che cos'è? Allora, da definizione Flutter è un tool, un tool open source.Questo tool è stato creato da Google e ha di bello che permette di creare applicazioni a partire da un unico codice sorgente che poi è scritto in Dart, quindi tu con una sola code base hai applicazioni per per piattaforme diverse, e che chiaramente si porrebbe come la panacea di tutti i mali dello sviluppo, perché insomma, one size fits all, come si vuole dire.A differenza di altri stack tecnologici, Flutter crea applicazioni che non passano da una web view, quindi quello che tu ottieni sono applicazioni native.La conseguenza di questo è che hai delle performance migliori e in effetti Flutter si prefigge lo scopo di fornire delle esperienze che garantiscano i 60 frame per secondo, i 60 fps.Diciamo che una cosa che è importante dire di Flutter come sviluppatore, perché ci sono incappata, è che presuppone un po' un cambio di vedute sul codice per un paio di motivi.Il primo è che in Flutter qualsiasi cosa è un widget, quindi l'intera interfaccia si compone di unità fondamentali.E il secondo è che si passa alla programmazione reattiva, cioè l'idea non è più quella di accedere al singolo componente con un get by ID o qualcosa del genere, ma di distruggere e ricostruire il componente affinché possa riflettere un nuovo stato dell'applicazione.Interessante capirà, tu hai detto che non gira su una web view, allora come si presenta poi a noi l'interfaccia? Cioè alla fine come funziona fondamentalmente? Allora, diciamo che se volessimo parlare del modo in cui sono compilate le applicazioni per esempio per Android, c'è un motore C e C++ che viene compilato proprio con l'NDK di Android.Invece il codice Dart, sia quello dell'SDK che il proprio, quindi quello dello sviluppatore, sono compilati in codice ARM nativo e librerie x86.Queste librerie sono inglobate in un progetto Android runner e il tutto viene impacchettato in una PK.Quindi al lancio l'applicazione carica Flutter e si occupa di gestire tutto, dal rendering fino alla gestione dell'input, passando per la gestione degli eventi e così via.Quindi si ha un'esperienza nativa.Quindi il rendering alla fine è fatto direttamente da Flutter, dal runtime fondamentalmente di Flutter se ho capito bene.Esattamente.Ad oggi chi la usa questa piattaforma in produzione? In realtà si è visto che viene usata tantissimo, ci sono un sacco di applicazioni in produzione, mi sembra di ricordare che anche alcuni grossi brand automobilistici abbiano usato Flutter, credo di ricordare che anche alcuni brand che producono lampadine intelligenti l'abbiano tanto che uno dei package per il bluetooth correntemente è stato diciamo caricato su pub.dev che è questo gigantesco repository community based di Flutter direttamente da questa casa produttrice.Quindi direi che insomma almeno l'Atomobile comincia ad essere adottato abbastanza frequentemente.Sì, io ho visto che anche Alibaba, così spulciando per questa chiaccherata, ripeto ho letto due articoli non di più, però ho visto che anche Alibaba lo utilizza in produzione.La domanda che voglio farti è Dart.Allora io credevo Dart, che Dart fosse ormai un linguaggio morto, perché lo ricordo nei tempi arcani quando poi veniva compilato in javascript e via dicendo.Un po flutter l'ha riportato in auge come linguaggio.Qua da capire se la scelta di Dart su flutter è una scelta di tipo strategico funzionale o una scelta commerciale tra virgolette di google per spingere un linguaggio che in realtà se no sarebbe andato nel famoso cimitero della grande G.Però la mia domanda è un'altra e tanti dei miei amici parlano benissimo di Dart e anche il nostro buon Mattia ne parla benissimo ma la mi chiedo, cosa rende Dart davvero un linguaggio così speciale? Allora ti posso rispondere per quel che riguarda l'adozione di Dart per Flutter, cioè insomma perché si è scelto poi di costruire Flutter proprio sopra Dart? In realtà leggendo un po' la documentazione, perché questo è un tema che viene trattato poi nei documenti ufficiali.Dart non è stato chiaramente l'unico linguaggio che è stato valutato, ma a quanto pare è stato poi l'unico a distinguersi quando si è cercato di tirare le somme per capire che cosa si potesse seriamente utilizzare per un progetto di questo tipo.In particolare, quello che si cercava, si cercava un linguaggio orientato agli oggetti, perché molti sviluppatori conoscono già questo tipo di interazione con i linguaggi di programmazione e con alte performance perché sostanzialmente si mirava ad avere un'esperienza fluida durante l'esecuzione delle applicazioni e che rendesse possibile fare anche delle predizioni sulle performance delle applicazioni.Ah ecco perché in realtà il dubbio che mi veniva è visto che comunque Google da un altro lato ha abbracciato Kotlin nello sviluppo nativo la mia domanda era perché non Kotlin perché Dart? Tu hai detto anche che Dart è un linguaggio orientato agli oggetti.Io leggendo ho trovato infatti come descrizione di Dart un linguaggio single object paradigm, quindi è un linguaggio dove l'orientamento agli oggetti è forte e si può sviluppare solo con quel paradigma.Correggimi se sbaglio.Trovi questo limitante? No, in realtà no, poi sempre chiaramente dipende uno che cosa vuol fare nel proprio sviluppo, però no.Potrei farti la domanda contraria visto che sei uno sviluppatore, ti sei mai trovato a essere limitato da questo paradigma? Io sì, però non faccio test essendo uno sviluppatore JavaScript e TypeScript, dove insomma per noi non è programmare, è vomitare codice con tutte le forme e di tutte le fattezze, nel senso che all'interno dei mili stati puoi trovare delle classi ma della programmazione funzionale a seconda del modulo che vai a vedere quindi la mia domanda nasceva proprio da quello, dico ma ritornare a programmare in un linguaggio dove comunque la programmazione oggetti molto forte per un attimo ma proiettato al java e non ti nascondo che mi è venuta la pelle d'occa ho avuto paura no penso che come dici tu dipenda poi anche un po delle esperienze pregresse di sviluppo che ci sono state insomma io ho fatto anche parecchio sviluppo java quindi non mi sembra una cosa così fuori dal mondo pensare per classi no no vabbè ma sapi sono io quello limitato che soprattutto devo dire che ho riscoperto con con javascript io ho fatto tanti anni PHP e l'ho fatto javastyle no? E con javascript ho riscoperto quel piacere selvaggio di che ne so di usare le funzioni tal quali senza passare per una classe e tutte queste queste queste belle cose.Anch'io ho usato PHP per un sacco di tempo per cui sì, l'ho usato sia a stile javascript che con le classi, con gli oggetti.Sapevo che quando si parlava di codice selvaggio prima o poi la parola PHP veniva fuori.Come diciamo sempre, giusto per per evidenziarlo php ha riempito tanti frigoriferi e continua a riempirne tanti cuoricini.Sì, veramente negli anni 2000 era veramente super super diffuso c'è stato un momento in cui è stato super diffuso.Io sfido sfido chi non ha fatto qualche soldo con php.Sono tutti molto picchi però alla fine sotto sotto.Esatto.Ritornando a Dart, secondo te in un ecosistema così così ricco di linguaggi ha senso investire un effort importante nello studiare veramente bene il linguaggio Dart, non nell'utilizzarlo, parlo proprio di approfondire il linguaggio.In questo momento probabilmente almeno in base alla mia esperienza personale al di fuori di questo tipo di sviluppo no, cioè almeno nella mia esperienza personale non ho visto altre applicazioni di questo linguaggio.Però insomma poi magari c'è qualcuno che mi può sventire e a dirmi ci sono anche persone che ci fanno dei web server con dart.Sì sì ho visto, no perché la mia domanda nasce dal fatto che comunque io un po' l'ho guardato con con interesse nel senso che comunque si presenta con tutto l'ecosistema Flutter no si presenta con un modo molto semplice molto rapido di fare mobile development e più di una volta mi sono chiesto vabbè ok io devo sviluppare un'applicazione mobile ma l'effort dell'imparare il linguaggio è giustificato cioè a quel punto non mi conviene fermarmi un attimo imparare kotlin o fermarmi un secondo e guardare swifty mi dirai sì ma è monopiataforma io scrivo in dart e e pubblico in entrambi.E a quel punto allora mi chiedo, e se io mi metto a fianco, ragionando così, un React Native non è più, diciamo, non trovo un effort minore nell'approcciare un React Native piuttosto che entrare nell'ecosistema Flutter? Probabilmente, non lo so, nel senso, anche qui immagino che dipenda dalla tua esperienza progressa.In realtà io arrivavo da Ionic quando sono incappata in Flutter, ci sono incappata perché è stato presentato al mio Google Livello per gruppo, quindi ho fatto il code, l'app, eccetera.Non l'ho trovato così ostico da imparare, almeno da imparare tanto quanto basta per tirare fuori un'applicazione poco complicata, un'applicazione mobile di base, tra virgolette.Diciamo che se vogliamo sempre tornare un po' a quello che sembrava essere l'intento, è che leggendo un po' il blog degli sviluppatori, si capisce che l'esigenza era appunto quella di voler compilare applicazioni più piattaforme a partire da un'unica codebase.Però l'idea era quella di permettere agli sviluppatori di concentrarsi un po' su cosa sviluppare piuttosto che come svilupparlo.Quindi di fare appunto questo, dico erroneamente forse "one size fits all", una volta che hai imparato quello.Ovvio, poi naturalmente se comunque si veniva da ecosistemi come quelli Ionic si correva veramente veloce perché una volta che si toccano i limiti del web development su shell mobile si piange lacrime amare per cui si cerca comunque un contesto un ecosistema più più semplice.Tu mi hai detto che Flutter o Dart ha un package manager molto ricco.Parliamo di Dart, giusto? Allora diciamo parliamo di tutto l'ecosistema di piattaforme supportate da Flutter.Adesso ti spiego perché.Non è tanto il package manager, è proprio il sito dei package che è pub.dev.C'è questo sito dove tu puoi andare e trovare tutti i package che sono stati sviluppati dalla community per Flutter.Quindi vedrai che magari...puoi capire che cosa supportano chiaramente perché parlando di Flutter parli poi di un insieme di piattaforme quindi puoi vedere se magari sono Dart, solamente Dart, oppure Dart Flutter, oppure Flutter per Windows, Flutter per per Windows e Mac OS, Flutter per Android e iOS.Quindi hai tutte le...puoi andare lì e capire bene che cosa stai scegliendoti a usare e su quali piattaforme ti garantirà la compatibilità.E sì, è molto ricco.Per quanto riguarda lo sviluppo mobile, tu mi hai detto che esiste un gozziliardo di pacchetti per cui alla fine molto del lavoro che fai è quello di integrare i vari elementi e farci sopra la tua logica di business della tua applicazione e via.Però per quanto riguarda invece l'interfacciarsi col sistema operativo che sta sotto adesso parliamo specificatamente di sviluppo mobile o desktop no? Come funziona? Esistono delle API come non so la butto là tipo le web api del browser che ti permettono di accedere al sistema operativo? Allora sì esiste una cosa che si chiama platform channel che ti permette di chiamare codice nativo all'interno di utilizzare codice nativo all'interno della tua applicazione flutter e quindi di fare tutte le cose che faresti col codice nativo per il resto poi anche se hai anche delle librerie che ti garantiscono le interop per esempio sul web con javascript quindi puoi far vibrare il telefono tramite javascript e cose di questo tipo.Ma allora mi chiedo abbiamo una serie di librerie abbiamo come dicevi delle performance da 60 frame al secondo che su mobile sono io direi grasso che cola e a livello di invece ergonomia della piattaforma, esperienza di sviluppo oltre a il sito dei pacchetti PACT si chiama giusto? Pub.dev.Ok oltre a quello a livello di di di di confortment di sviluppo come come si pone? Hai mai avuto cioè mai sbattuto la testa da...Sì, assolutamente.Diciamo questo è accaduto principalmente perché la documentazione che ho utilizzato io era, cioè è una documentazione in cui, sì, ti vengono spiegate tutte le basi, come fare le interfacce, come mettere su la logica dell'applicazione eccetera, però fondamentalmente ti propone uno state manager, o meglio, non ti propone uno state manager, perché la documentazione parla di set state, però rimanda poi lo studio dello state management a approfondimenti che devono essere personali.E questo rende un po' la prima impressione ad di flatter come quella di una grande caoticità, perché inevitabilmente si mescolano interfaccia e logica e finché non si è in grado di separarli, progetti di una certa complessità diventano molto ingestibili, anche perché la gestione dello Stato è abbastanza complicata da fare solamente con i set state.Poi immagino che sia un po' come col mondo javascript che da lì si scoperche il vaso di Pandora degli state manager e ce ne sono 70 che fanno la stessa cosa nello stesso modo ma un po' diverso l'uno dall'altro.Esatto, esatto.E quindi vai di guerre di religione.Se fosse mai capitato a qualcuno insomma di visitare il canale telegram degli sviluppatori flatter italiani, spesso questo discorso ritorna e spesso ci sono delle amichevoli guerre di religione sul tema.Però sai mi sembra particolare la cosa e ti spiego perché visto da fuori, ripeto io non ho una esperienza.Flutter come ecosistema vuoi anche per come è strutturato mi sembra che abbia un'impostazione anche abbastanza opinionated quindi con delle decisioni forti prese alla base e poi rimandare invece un elemento così importante come lo state manager la decisione del singolo sviluppatore senza magari guidarlo con uno state manager di default un po' mi stride come cosa no? Allora in realtà lo state manager diciamo di default non lo chiamerei di default uno state manager è stato tirato fuori ed è blocco però fondamentalmente poi come dici tu ognuno ha riportato, sono stati riportati tutti anche gli altri state manager attorno per cui potrai trovare Redux.Ok quindi per par condicio diciamo.Esatto, poi chiaramente lo state manager è di nuovo una cosa molto personale, ognuno usa il proprio e è anche un fatto di forma mentis.vero vero e invece per il testing? sì è possibile fare i test con flutter sia di tipo diciamo sia i classici unit test che test proprio di integrazione chiaramente e anche test a livello proprio di interfaccia dal telefono perché c'è una piattaforma di testing headless che permette di fare sì esatto anche queste cose.Ecco vero bellissimo questo perché chi, qua apro una piccola parentesi, chi ha provato a fare test di interfaccia, magari test in two-end dove simulare la pressione dei bottoni su applicazioni scritte in React Native sa quanto sangue ha dovuto sputare con tool come Appium o simili quindi avere comunque delle suite che funzionano bene per questo tipo di contesto è senza dubbio un vantaggio mica mica da ridere.Invece prima hai detto che con Flutter possiamo sviluppare anche delle applicazioni desktop no? Sì esatto anche se il supporto per il desktop è ancora per alcune piattaforme beta e in altri casi addirittura alfa.Questo è assolutamente possibile.In realtà, anche se siamo ancora così, ci sono già dei precedenti illustri di adozione che ci fanno ben sperare, perché per esempio Canonical, da quello che ho capito, si è impegnata a riscrivere un installer di Ubuntu con Flutter e ad usarlo di default per lo sviluppo delle applicazioni Ubuntu.Esatto, quello che penso sì è che poi uscendo dalla beta dall'alpha si svilupperà di pari passo anche l'ecosistema dei plugin che sono disponibili su pub.dev.Questo mi stupisce in realtà perché non me lo sarei mai aspettato da Canonical, una nazione è interessante comunque evidenzia un interesse che non è più del piccolo sviluppatore ma anche della grande entità che approccia verso una piattaforma rendendola matura in adozione è difficile da spiegare come concetto perché è già matura in adozione nel senso che è promossa da Google, Google ci mette l'effort a tutto l'interesse di fare un prodotto che tenga il livello di qualità tipico del brand che Google porta avanti.Però pensare anche a un'azienda esterna di quelle dimensioni è comunque un segnale importante.Ma nello sviluppo desktop come funziona? Esistono degli UI kit che emulano la UI delle applicazioni native oppure tu sei libero di utilizzare e disegnare i tuoi componenti che se non mi sbaglio in Flutter si chiamano widget giusto? Esatto esatto allora il discorso dei widget è è abbastanza particolare.Perché in realtà un'altra cosa che non ho detto, che però è abbastanza carina di Flutter, è che quando tu compili un'applicazione, quell'applicazione ha il look and feel della piattaforma su cui gira, fondamentalmente.E questo è possibile perché è il team di Flutter che si occupa, diciamo, di fare questa, perdonami il termine, localizzazione della UI rispetto alla piattaforma.Questo sì, è un pro in alcuni casi, almeno fino a un po' di tempo fa io l'ho sentito come un contro, nel senso che comunque poi esistono piattaforme come per esempio il web dove questa standardizzazione non tiene ed in effetti secondo me non è un caso che diciamo l'adozione di Flutter per il web sia andata un pochino a rilento.Ma per cui tu non hai una sorta di CSS per andare a dare una forma estetica ai tuoi elementi? Sì, puoi definire gli stili, per carità, questo puoi farlo, però comunque il look and feel dei componenti, o comunque il loro comportamento, è conforme a quello che l'utente si aspetterebbe sulla piattaforma dove lo utilizza.Quindi per esempio se parliamo di navigazione, il componente della navigazione navigherà su iOS in un modo e su Android in un altro, secondo quello che l'utente si aspetta di trovare sul suo telefono.Però puoi anche fare dei componenti custom partendo da quelle primitive, no? È possibile? Sì, esatto, assolutamente.Puoi sviluppare i tuoi componenti o estendere quelli che ci sono.E adesso arriviamo alla domanda difficile.In realtà ne hai parlato prima tu, Flutter essendo multiplattaforma tocca anche il web, ma con Flutter su web a che punto siamo? Allora Flutter su web è uscito dalla beta qualche tempo fa ed è entrato in versione stabile.Penso che sia una cosa che nel gruppo Flutter vedevo proprio di fare tantissimo, qualcuno non vedeva veramente l'ora.In realtà sì, è uscita dalla beta, ora è stabile.Personalmente non l'ho usata tantissimo ultimamente, fino a qualche tempo fa avevo trovato qualche limitazione, per il motivo che ti dicevo non è non è un non è facile.Io vengo da come diceva prima Luca da anni di sviluppo Flash, compianto sviluppo Flash qualcuno nel gruppo si ricorderà le applicazioni Air che si potevano fare sia in html css e javascript una sorta di antenato di cordova e ossia e ionic di cordova e electron scusate e poi però si potevano anche esportare sul web e io ricordo quel periodo come un periodo dove sviluppavo in un linguaggio bellissimo che era ActionScript che era veramente un bel linguaggio mi piaceva da impazzire c'erano elementi di programmazione reattiva io i primi observer li ho conosciuti lì cosa che quando sviluppavo invece sul PHP o quando sviluppavo in JavaScript era un pattern poco noto all'epoca però dall'altro lato c'era tutto questo web poco accessibile, rendering su dei plugin, con ovvi limiti di performance.Secondo te Flutter avrà l'opportunità di saltare questo tipo di limiti? E se sì, come pensi risolveranno questi problemi? Per esempio il problema della SEO dovuta a rendering per esempio su Canvas.Allora, per quel che riguarda la SEO, hanno già messo in chiaro che le applicazioni Flutter non sono fatte per sostituirsi ai siti web, quanto piuttosto per rendere disponibili delle applicazioni sul web.Quindi il target primario non è quello di renderle individuabili, quanto di rendere dei pezzi di codice utilizzabili.anche sul web, delle esperienze utilizzate anche sul web.Infatti il caso d'uso che propongono non è quello della pagina di contenuti, anzi, ma è quello del configuratore di automobili.Quindi di un'applicazione a sé stante da integrare all'interno della pagina web.Sul come faranno a rendere, diciamo, Flutter sul web migliore, Ti dico la verità, vorrei sedermi e guardarlo con te, perché secondo me è una bella sfida.Ed è una cosa che ha emerso, tra l'altro, questa enorme eterogeneità dei contenuti sul web e del modo in cui sono proposti, è emersa anche in una conferenza a cui ho avuto il piacere di partecipare ultimamente, che è gli Accessibility Days, in cui in effetti questa ecletticità poi diventa un ostacolo per l'accessibilità, cioè il fatto che non ci siano dei pattern di presentazione introduce delle sfide che ritroviamo appunto in più settori diversi.Sì, era una cosa che mi chiedevo, lavorando poi questo periodo con gli assistenti vocali proprio in un'ottica di accessibilità, era una domanda che mi facevo perché ok, gli assistenti vocali sono uno strumento del web però con flutter ci fai anche le applicazioni mobile e allora mi chiedo assistente vocale dell'iphone come si comporta non lo so se hai mai avuto esperienza perché sono ahimè delle delle esigenze un po un po limite oggi no probabilmente dovrebbero esserli di più e qua dovremmo fare un po un po tutti un un mia colpa però c'è l'assistente vocale come si comporta sulle applicazioni flutter anche a livello mobile anche a livello desktop essendo non utilizzando quelli che sono i building block del sistema operativo o i building block web che sono ormai degli elementi standard? Allora avendo studiato un po' di assistenti vocali posso dirti che ultimamente si hanno dato la possibilità di accedere e utilizzare completamente le applicazioni a livello di assistente ma l'ho visto solamente per le applicazioni Android.E' comunque un passo importante.Esatto.Su Flutter sinceramente non ti so dire.Dal punto di vista dell'accessibilità so che è possibile interagire con l'accessibility in modo da indirizzare la navigazione degli utenti con lo screen reader.Ok vabbè è già un passo io me lo chiedevo da da gnubo totale quale sono insomma mi facevo la domanda perché ripeto io vengo da un passato dove il flash player tutte ste cose diceva ma sì ma che c'è frega però internet era pieno di queste robe anche i gestionali ricordo dei gestionali fatti in flex non so se mai avuto modo di provare la tecnologia e di lì di accessibilità praticamente zero ci fermiamo un secondo perché è arrivato il momento di bere birra in fondo quando si parla tanto è necessario rinfrescare un po' la gola e noi lo facciamo grazie ai donatori, quelli che ogni settimana ci offrono una birra per alimentare le nostre parole e il nostro podcast.Questa settimana abbiamo due generosi donatori o frittori, non so se si dice così in italiano, che ci hanno offerto appunto la birretta serale.Il primo è Enrico che ci offre quattro birre scrivendo grazie per il podcast e i consigli ricevuti sul canale telegram grazie a te Enrico e a seguire abbiamo Daniele che ci offre una birra scrivendo grazie per il lavoro che fate siete una fonte inesauribile di ispirazione grazie a te Daniele quindi questa settimana grazie Enrico e Daniele abbiamo i nostri calici pieni calici che alzeremo in aria e con i quali brinderemo Domanda faccio una premessa sarò sembrato il denigratori di flattere in realtà lo guardo con estremo interesse perché specie per quelle situazioni dove non si hanno grossi budget per tenere un team per ogni platform che diventa davvero una cosa insostenibile e secondo me specialmente per lo sviluppo mobile e desktop è molto molto interessante.Ma come vedi il futuro di Flutter da qui a dieci anni di Flutter e Dart con lui? Sicuramente diciamo la domanda che chiaramente non potendo fare previsioni sullo sviluppo della piattaforma, anche se vedo che c'è un lavoro continuo e un miglioramento continuo, mi sono fatta questa domanda dal punto di vista occupazionale e ho visto che in realtà le richieste di professionalità per Flutter stanno aumentando abbastanza.Cioè se si fanno ricerche di annunci di lavoro sulla tecnologia, insomma, si trovano offerte anche da parte di realtà molto grandi, quindi direi che sia in crescita da quel punto di vista.Poi appunto mi aspetto che in realtà l'adozione anche aumenti tantissimo mano a mano che le varie piattaforme usciranno dalla beta, dalle alfa, perché a quel punto la comunità sarà veramente spronata a supportare anche nei plugin, le piattaforme di conseguenza ci sarà favorirà ancora di più probabilmente l'adozione della tecnologia.Verissimo, io magari non non lo lascio trasparire ma stiamo parlando di una tecnologia che è del 2018 giusto? Corregimi se sbaglio.Sì mi sembra di sì, non è antichissima.Quindi è giovanissima, ha tre anni quindi è normale, tre anni che sì nel nostro mondo velocissimo già ma per una tecnologia sono praticamente nulla, quindi diamo il tempo affinché appunto il nostro il nostro buon flutter diventi maturo e per fare questo tipo di percorso ha bisogno che sempre più situazioni anche con complessità crescente inizino ad adottarlo perché poi sappiamo come incontriamo nella nostra strada i problemi di lì a poco troviamo le soluzioni e la tecnologia si evolve.Hai detto che comunque iniziano a spuntare come funghi richieste di professionalità su Flutter.Allora la mia domanda è che un po' sempre incuriosisce il nostro gruppo ma dovendo iniziare da zero con questo ecosistema io lo chiamo ecosistema magari anche impropriamente però perché c'è un linguaggio ma c'è un compilatore c'è un sistema di pacchetti quindi però dovendo iniziare da zero Qual è secondo te il learning path più efficace per raggiungere una buona produttività? Ci sono in realtà i codelab, cioè c'è tutta la documentazione che è già abbastanza esaustiva, arriva con una serie di laboratori che si possono fare e che trattano sia i temi più basilari, cioè dove comincio, come configuro l'ambiente, come faccio il mio primo logboard, con Flutter, fino a temi un pochino più specialistici, per esempio come interagisco con altre tecnologie Google, Firebase, o mi sembra uno dei Codelab un po' di tempo fa realizzava una chat real time con Firebase.E quello già può essere un buon inizio, ci sono le community che possono sicuramente aiutare, e ci sono anche dei corsi su Udemy, che ogni tanto sono scontatissimi.Quello che ho seguito io è stato gratuito per un certo periodo di tempo ed è quello di Angela Yu.È abbastanza famoso ed è ottimo perché copre veramente, praticamente tutto.Mettiamo tutti questi elementi nelle nostre note dell'episodio.Quindi cosa rimane? Rimane da aprire il computer e iniziare con un Hello World, no? Sì, magari su più piattaforme.Perché no guarda mi riprometto davanti a tutti che ci riprovo ci ci provo e vediamo un po' cosa cosa ne viene fuori.Voglio però per un attimo passare invece a un altro argomento l'argomento community.Io so che sei la co-leader del GDG Roma.Rapidamente ci racconti che cos'è il GDG e soprattutto cosa fa una co-leader, qual è il suo impegno? Allora GDG in realtà è un acronimo, è un un acronimo per Google Developers Group.È un meetup, è una community di sviluppatori.Nonostante il nome, parliamo di un sacco di cose, non parliamo solamente di tecnologia e Google.Quando era possibile ci riunivamo dal vivo, su base mensile, adesso lo facciamo in maniera virtuale.Il mio ruolo lì è quello di aiutare un po' a organizzare gli eventi, fare dei talk e cose di questo tipo insomma.È stata un'esperienza super formativa, non è che ero super timida, un'esperienza life changing.Quindi per tutti quelli che stanno nel Lazio fate una una una capatina appena si potrà, no? sì esatto e in realtà sì ci sono in diverse regioni quindi ognuno potrà trovare il Google diveloper più vicino.Fantastico quindi mi raccomando andate a trovare Yuna.noi nel nostro podcast abbiamo un momento tipico e topico e si chiama il paese dei balocchi è un momento dove i nostri ospiti ci raccontano con il giusto entusiasmo un libro, un talk, una conferenza, un tool, un algoritmo, qualunque cosa abbia catturato la loro attenzione o insomma li abbia entusiasmati talmente tanto da dire "oh guarda questo è una figata".Tu hai qualcosa che ti ha colpito in particolare? E con Duco nel paese dei balocchi.Ah, il paese dei balocchi.Sì, in realtà potrei citarti una cosa in ognuna di queste categorie, però il momento aha, quello che si suol dire, nella mia vita, io sono una grande divoratrice di corsi Corsera, esatto, è stato uno di questi corsi che parlava di reti sociali ed economiche, è stato fantastico, a io che pensavo di non essere appassionata di grafi, in realtà ho cominciato ad essere una cultrice della materia, quindi tra l'altro questo corso era molto eterogeneo e per quello mi piaceva tantissimo, parlava di grafi, parlava di teoria dei giochi e ha veramente risposto a un pilone.Io ricordo un tuo talk su quell'argomento, Un talk che non so se è pubblico, qualora fosse pubblico lo metteremo nelle note degli episodi perché lo ricordo a un Code Motion se non...Sì sì credo sia sulla piattaforma di Code Motion.Allora mettiamo il link alla piattaforma di Code Motion ed era particolarissimo ricordo quel talk.Come mai l'hai portato proprio a Code Motion? In realtà, CodeMotion era un po' un modo per mettermi alla prova.L'idea era...io, vabbè, ok, ho fatto la speaker nelle community, però insomma CodeMotion mi dava l'occasione di avere un tipo di platea un pochino più ampia.Magari mi sarebbe piaciuto tantissimo fare l'esperienza di vederla dal vivo.Purtroppo non è stato possibile, spero ci sarà quest'occasione nel futuro.L'idea era quella di portare un contenuto non rivisto, un pochino più particolare.Quindi sono partita dalla mia esperienza di sviluppo di una libreria JavaScript basata sul corso Porsera, sulle cose che ho imparato lì.Poi ho sviluppato questo argomento a diversi livelli, perché materia non solo economica ma anche sociologica eccetera.Che bello, fantastico.Qua emerge un po' il tuo lato umanistico no? Esatto.[Musica] Fantastico, guarda Iuna mi ha fatto super piacere averti qua a fare questa chiacchierata nel Gitbar.come dico sempre a tutti i nostri ospiti ormai GateBar è un po' anche casa tua quindi vieni a trovarci quando vuoi c'è sempre una birra in fresco qualora fossi a Stenia c'è anche dell'altro da bere non ce n'è tanto devo dire la verità però c'è sempre qualcosa in fresco e ripeto vienici a trovare quando hai qualcosa di particolare da raccontare ti fa piacere condividere con noi.Io ti ringrazio a nome mio e a nome di tutta la community di Gitbar quindi grazie, grazie davvero e allora ci sentiamo prestissimo.Ok grazie a voi e buona serata.Eccoci qua anche per questa settimana abbiamo finito è stata un interessantissima chiacchierata con Giuna che tra l'altro è presente nel gruppo Telegram è stato super piacevole ci riserviamo il grito di riromperle le scatole prossimamente.Detto questo io vi devo ricordare rapidamente i contatti info@gitbar.it via email @brainrepo su twitter oppure nel nostro gruppo telegram che in questo momento visto che sto registrando dopo circa due settimane da quando è stato registrato l'episodio siamo arrivati a 400 proprio in questo preciso momento sono le 9 e 43 di giovedì tra qualche minuto esce l'episodio e nulla io vi ricordo rapidamente che se l'episodio vi è piaciuto potete e avete naturalmente un device apple potete anche stellinarci o scrivere due righe di recensione questo ci aiuta a arrivare a più persone e quindi fare in modo che ci riusciamo a posizionare dentro la classifica dei podcast di apple che comunque viene utilizzata come source per quasi tutte le applicazioni di podcast per cui facetelo please visto che siamo tantissimi se ne avete l'opportunità fatelo mi raccomando e nulla io vi do appuntamento alla prossima settimana ancora quindi sette giorni prima del prossimo episodio cosa fare in questi sette giorni? beh c'è il gruppo telegram detto questo io vi saluto un salutone da budoni a A presto, ciao! Gitbar, il circolo dei fullstack developer.Una volta a settimana ci troviamo davanti a due birre e con Brain Repo parliamo di linguaggi e tecniche di sviluppo web, di metodologie e di strumenti immancabili nella cassetta degli attrezzi dei fullstack dev.[Musica]