{"id":1080,"date":"2024-07-07T10:09:07","date_gmt":"2024-07-07T08:09:07","guid":{"rendered":"http:\/\/playnerd.site\/?p=1080"},"modified":"2024-07-07T10:24:11","modified_gmt":"2024-07-07T08:24:11","slug":"flutter-prima-puntata","status":"publish","type":"post","link":"https:\/\/www.playnerd.site\/index.php\/2024\/07\/07\/flutter-prima-puntata\/","title":{"rendered":"FLUTTER &#8211; Prima puntata"},"content":{"rendered":"\n<p><strong>Installiamo l&#8217;ambiente di lavoro e familiarizziamo con gli strumenti di sviluppo<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz.webp\" alt=\"flutter prima puntata\" class=\"wp-image-1096\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz.webp 1024w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-300x300.webp 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-150x150.webp 150w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-768x768.webp 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Con Flutter, anche Google, ha finalmente fatto capolino nel panorama dei Framework per lo sviluppo di applicazioni mobili cross-platform. Flutter con Dart si pone in modo diverso da React Native o altre tecnologie similari, perch\u00e9 oltre ad ottenere un linguaggio tutto suo, object oriented, molto simile a Java o Kotlin, non adotta nel suo modello di sviluppo nessun layer intermedio. A differenza di come fa Cordova con Angular, per citare un\u2019altra realt\u00e0 esistente oggi sul mercato, Flutter&nbsp;disegna i suoi componenti direttamente senza un layer di supporto.<\/p>\n\n\n\n<p>Per chi voglia approfondire i concetti base di Flutter e di cosa stiamo trattando, e bene che faccia riferimento al sito di riferimento di Flutter e di chi lo sviluppa e lo mantiene&nbsp; <a href=\"https:\/\/flutter.dev\/\">https:\/\/flutter.dev\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>INSTALLAZIONE AMBIENTE DI SVILUPPO<\/strong><\/h2>\n\n\n\n<p>Facciamo una premessa, l\u2019installazione del framework flutter \u00e8 attuabile indipendentemente su Android Studio, IntelliJ Idea nonch\u00e9 Visual Studio Code. Dopo aver fatto una breve panoramica di cosa \u00e8 Flutter, passiamo qui a trattarne l\u2019installazione.<\/p>\n\n\n\n<p>Se volete \u00e8 possibile considerare la lettura anche di questa pagina ufficiale <a href=\"https:\/\/flutter.dev\/docs\/get-started\/install\">https:\/\/flutter.dev\/docs\/get-started\/install<\/a><\/p>\n\n\n\n<p>Scarichiamo Flutter<em>&nbsp; <\/em><a href=\"https:\/\/docs.flutter.dev\/get-started\/install\">https:\/\/docs.flutter.dev\/get-started\/install<\/a><\/p>\n\n\n\n<p><em>Come noterete la pagina web ha letto su quale sistema operativo state operando e di conseguenza vi suggerisce di gi\u00e0 la scelta pi\u00f9 opportuna per il download del pacchetto appropriato da utilizzare.<\/em><\/p>\n\n\n\n<p>Effettuata la volta scelta, la pagina di download, vi propone una scelta, a seconda che intendiate sviluppare applicazioni desktop, mobili o web. Ci\u00f2 permette all\u2019ambiente di configurarsi adeguatamente a seconda dell\u2019utilizzo scelto. Ovviamente \u00e8 possibile successivamente sviluppare per qualsiasi ambiente e destinazione d\u2019uso che desiderate.<\/p>\n\n\n\n<p>Se non siete sicuri di ci\u00f2 che potreste sviluppare, la pagina vi raccomanda Android come ambiente di lavoro.<\/p>\n\n\n\n<p>Come dicevamo in premessa, potete scegliere in questa fase quale IDE andare ad utilizzare tra:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/code.visualstudio.com\/docs\/setup\/windows\">Visual Studio Code<\/a> con l&#8217;estensione <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=Dart-Code.flutter\">Flutter extension for VS Code<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developer.android.com\/studio\/install#windows\">Android Studio<\/a> con <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/9212-flutter\">Flutter plugin for IntelliJ<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.jetbrains.com\/help\/idea\/installation-guide.html\">IntelliJ IDEA<\/a> con <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/9212-flutter\">Flutter plugin for IntelliJ<\/a><\/li>\n<\/ul>\n\n\n\n<p>La cosa importante \u00e8 unicamente che per quell\u2019ambiente si possa avere a disposizione l\u2019estensione o il plugin necessario per utilizzare la piattaforma FLUTTER con Dart.<\/p>\n\n\n\n<p>Qui \u00e8 presente l&#8217;archivio contenente le ultime versioni di Flutter SDK rilascite<\/p>\n\n\n\n<p> <a href=\"https:\/\/docs.flutter.dev\/release\/archive\">https:\/\/docs.flutter.dev\/release\/archive<\/a><\/p>\n\n\n\n<p>Dopo aver letto attentamente la pagina, che indica quali tools e utility \u00e8 necessario che abbiate installato come prerequisito di funzionamento e gli accorgimenti utili al corretto funzionamento dei vostri strumenti di sviluppo (PATH e quant\u2019altro),&nbsp; siete adesso pronti all\u2019uso del Framework.<\/p>\n\n\n\n<p>Io per scelta personale utilizzer\u00f2 Visual Studio Code con le estensioni per Flutter e Dart.<\/p>\n\n\n\n<p>Se anche voi siete daccordo, dopo aver installato VS Code \u2013 se non gi\u00e0 presente nel sistema &#8211; avviatelo (comunque se dovete ancora installarlo \u00e8 disponibile per il download a questo indirizzo: <a href=\"https:\/\/code.visualstudio.com\/\">https:\/\/code.visualstudio.com\/<\/a>) e tramite il menu <em>File -> Preferences > Extensions<\/em> si procede a installare Flutter, presente tra tutti i plugin proposti dall&#8217;ambiente di VS.<\/p>\n\n\n\n<p>Dopo aver provveduto al necessario, per verificare che tutto sia settato correttamente, apriamo una shell e digitiamo <em><strong>flutter doctor<\/strong><\/em><\/p>\n\n\n\n<p>Sar\u00e0 generato un report a video dove ci sar\u00e0 indicato se mancano o meno dei componenti fondamentali per Flutter, come ad esempio Android toolchain.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"554\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_1.jpg\" alt=\"\" class=\"wp-image-1081\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_1.jpg 1004w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_1-300x166.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_1-768x424.jpg 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n\n\n\n<p>Nel qual caso provvedete ad installare le parti mancanti o accettare le licenze necessarie al funzionamento di Android Toolchain e poi verificate nuovamente con lo stesso comando <em>doctor<\/em> che sia tutto a posto.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1003\" height=\"245\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_2.jpg\" alt=\"\" class=\"wp-image-1082\" style=\"width:729px;height:auto\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_2.jpg 1003w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_2-300x73.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_2-768x188.jpg 768w\" sizes=\"auto, (max-width: 1003px) 100vw, 1003px\" \/><\/figure>\n\n\n\n<p>Questo deve essere un risultato corretto affinch\u00e8 tutto funzioni a dovere<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"441\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_3.jpg\" alt=\"\" class=\"wp-image-1084\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_3.jpg 1004w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_3-300x132.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_3-768x337.jpg 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n\n\n\n<p>Per ulteriori approfondimenti vi rimando a vari tutorial o guide ufficiali di riferimento di Flutter e se proprio non ne venite a capo, scrivetemi pure nei commenti e sar\u00f2 lieto di aiutarvi nei vari passaggi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">CREAZIONE ED ESECUZIONE PRIMO PROGETTO IN FLUTTER<\/h2>\n\n\n\n<p>Creiamo il nostro primo progetto di prova con <strong><em>flutter<\/em> <em>create<\/em> <em>buongiorno<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"672\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_4-1024x672.jpg\" alt=\"\" class=\"wp-image-1085\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_4-1024x672.jpg 1024w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_4-300x197.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_4-768x504.jpg 768w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_4.jpg 1045w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Occhio a non usare iniziali maiuscole, perch\u00e9 da come si pu\u00f2 osservare flutter non ama le maiuscole nei nomi dei progetti, ci notifica infatti che il nome scelto non \u00e8 valido per un pacchetto Dart<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"615\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_5.jpg\" alt=\"\" class=\"wp-image-1086\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_5.jpg 1004w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_5-300x184.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_5-768x470.jpg 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n\n\n\n<p>Esaminando la directory \u201c<em>buongiorno<\/em>\u201d vediamo che Flutter ha creato tutti i file necessari al funzionamento del progetto.<\/p>\n\n\n\n<p>Da notare che esiste anche una directory all\u2019interno del progetto denominata \u201cios\u201d.<\/p>\n\n\n\n<p>Al suo interno sono stati generati&nbsp; i file necessari al funzionamento del progetto in ios ma per sviluppare per Apple \u00e8 necessario avere un Mac, perch\u00e9 l\u2019ambiente Xcode \u00e8 disponibile solo per IOS, a differenza di Android Studio che \u00e8 multipiattaforma. Quindi qualora vogliate sviluppare con XCode sar\u00e0 necessario dotarsi di un Mac, scaricare Xcode e le librerie CocoaPods.<\/p>\n\n\n\n<p>Per eseguire le applicazioni \u00e8 necessario avere dei dispositivi su cui \u00e8 possibile far girare le App, sia che essi siano fisici o virtuali.<\/p>\n\n\n\n<p>Avrete notato che \u201cflutter doctor\u201d ci avvisa delle presenza di dispositivi riconosciuti (Connected Devices) &nbsp;e nel caso non ci fosse nessun dispositivo collegato si pu\u00f2 sempre crearne di Virtuali (AVD) con Android Studio.<\/p>\n\n\n\n<p>Supponiamo ci siano nella nostra piattaforma dei dispositivi collegati, eseguiamo il progetto appena creato con <em><strong>flutter run<\/strong><\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"627\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_6-1024x627.jpg\" alt=\"\" class=\"wp-image-1087\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_6-1024x627.jpg 1024w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_6-300x184.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_6-768x470.jpg 768w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_6.jpg 1039w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"580\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_7-1024x580.jpg\" alt=\"\" class=\"wp-image-1088\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_7-1024x580.jpg 1024w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_7-300x170.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_7-768x435.jpg 768w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_7.jpg 1039w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>e notiamo che all\u2019esecuzione ci viene chiesto dove eseguire la nostra App. Scegliamo [1] Windows e la nostra App sar\u00e0 elaborata per l\u2019esecuzione sull&#8217; ambiente di sistema. Si aprir\u00e0 una finestra con il titolo della nostra App, che non fa che visualizzare che si tratta di una Demo ed al click sul pulsante \u201c<strong>+<\/strong>\u201d ci notifica il numero di volte che abbiamo cliccato il bottone.<\/p>\n\n\n\n<p>Come \u00e8 possibile osservare, flutter ci informa, sulla shell, il tempo necessario ad elaborare l\u2019App. All\u2019uscita dall\u2019App ci sar\u00e0 invece notificata la disconnessione dal device su cui girava.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"495\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_8.jpg\" alt=\"\" class=\"wp-image-1089\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_8.jpg 1004w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_8-300x148.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_8-768x379.jpg 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n\n\n\n<p>Durante l\u2019esecuzione dell\u2019App si ha la possibilit\u00e0, tramite l\u2019indirizzo locale <a href=\"http:\/\/127.0.0.1:9100?uri=http:\/127.0.0.1:50229\/R7c0nhw4uc8=\/\">http:\/\/127.0.0.1:9100?uri=http:\/\/127.0.0.1:50229\/R7c0nhw4uc8=\/<\/a> di interagire con l\u2019App<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"480\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_9-1024x480.jpg\" alt=\"\" class=\"wp-image-1090\" style=\"width:727px;height:auto\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_9-1024x480.jpg 1024w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_9-300x141.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_9-768x360.jpg 768w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_9.jpg 1086w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>E\u2019 questo \u00e8 il menu con il quale ispezionare o fare il Debug dell\u2019Applicazione<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"84\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_10-1024x84.jpg\" alt=\"\" class=\"wp-image-1091\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_10-1024x84.jpg 1024w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_10-300x25.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_10-768x63.jpg 768w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_10.jpg 1064w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Tramite il comando <em><strong>flutter emulators<\/strong><\/em> \u00e8 possibile elencare i dispositivi disponibili su cui far girare la nostra App.<\/p>\n\n\n\n<p>La stessa cosa \u00e8 possibile effettuare con il comando <em><strong>emulator -list-avds<\/strong><\/em> presente nell\u2019SDK Tools di Android<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"458\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_11.jpg\" alt=\"\" class=\"wp-image-1092\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_11.jpg 1004w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_11-300x137.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_11-768x350.jpg 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n\n\n\n<p>Scegliamo un dispositivo ed eseguiamo. Io ho scelto un Google Pixel 5 presente tra  i miei devices: <em><strong>flutter emulators &#8211;launch Pixel_5_API_30<\/strong><\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"725\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_12.jpg\" alt=\"\" class=\"wp-image-1093\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_12.jpg 1004w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_12-300x217.jpg 300w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_12-768x555.jpg 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"412\" height=\"886\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_Android.jpg\" alt=\"\" class=\"wp-image-1094\" style=\"width:341px;height:auto\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_Android.jpg 412w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/flutter_Android-140x300.jpg 140w\" sizes=\"auto, (max-width: 412px) 100vw, 412px\" \/><\/figure>\n\n\n\n<p>Ed ecco la nostra app buongiorno eseguita nel dispositivo selezionato.<\/p>\n\n\n\n<p>E\u2019 la magia di Flutter !<\/p>\n\n\n\n<p>Qualora vogliate farlo per un IPhone, lo stesso \u00e8 possibile fare con IOS su MAC con il comando<\/p>\n\n\n\n<p>$ <em><strong>open -a Simulator<\/strong><\/em><\/p>\n\n\n\n<p><br>oppure $ <strong><em>flutter emulators &#8211;launch apple_ios_simulator<\/em><\/strong><br><br>$ <strong><em>flutter run<\/em><\/strong><br><br>Ci saranno notificati i dispositivi disponibili e scegliendo un Iphone, l\u2019applicazione girer\u00e0 alla stessa maniera di come funzionava in Android<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"263\" height=\"531\" src=\"http:\/\/playnerd.site\/wp-content\/uploads\/2024\/07\/Iphone_flutter.jpg\" alt=\"\" class=\"wp-image-1095\" style=\"width:326px;height:auto\" srcset=\"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/Iphone_flutter.jpg 263w, https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/Iphone_flutter-149x300.jpg 149w\" sizes=\"auto, (max-width: 263px) 100vw, 263px\" \/><\/figure>\n\n\n\n<p>Abbiamo esaminato l&#8217;ambiente e creato un&#8217;applicazione di prova. Nella prossima puntata analizzeremo pi\u00f9 da vicino il linguaggio Dart e come opera nell&#8217;ambiente Flutter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Installiamo l&#8217;ambiente di lavoro e familiarizziamo con gli strumenti di sviluppo Con Flutter, anche Google, ha finalmente fatto capolino nel panorama dei Framework per lo sviluppo di applicazioni mobili cross-platform. Flutter con Dart si pone in modo diverso da React Native o altre tecnologie similari, perch\u00e9 oltre ad ottenere un linguaggio tutto suo, object oriented,&#8230;<\/p>\n","protected":false},"author":2,"featured_media":1099,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","iawp_total_views":3,"footnotes":""},"categories":[2,9],"tags":[],"class_list":["post-1080","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-develop","category-highlights"],"magazineBlocksPostFeaturedMedia":{"thumbnail":"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1-150x150.webp","medium":"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1-300x300.webp","medium_large":"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1-768x768.webp","large":"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1.webp","1536x1536":"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1.webp","2048x2048":"https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1.webp"},"magazineBlocksPostAuthor":{"name":"PlayNerd","avatar":"https:\/\/secure.gravatar.com\/avatar\/f27bf6da72b84eef3177bb82584b1928da8209533462374c776eb0720ab54fae?s=96&d=retro&r=g"},"magazineBlocksPostCommentsNumber":"0","magazineBlocksPostExcerpt":"Installiamo l&#8217;ambiente di lavoro e familiarizziamo con gli strumenti di sviluppo Con Flutter, anche Google, ha finalmente fatto capolino nel panorama dei Framework per lo sviluppo di applicazioni mobili cross-platform. Flutter con Dart si pone in modo diverso da React Native o altre tecnologie similari, perch\u00e9 oltre ad ottenere un linguaggio tutto suo, object oriented,...","magazineBlocksPostCategories":["Develop","Highlights"],"magazineBlocksPostViewCount":370,"magazineBlocksPostReadTime":6,"magazine_blocks_featured_image_url":{"full":["https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1.webp",1024,1024,false],"medium":["https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1-300x300.webp",300,300,true],"thumbnail":["https:\/\/www.playnerd.site\/wp-content\/uploads\/2024\/07\/DALL\u00b7E-2024-07-07-10.08.08-An-illustration-representing-the-Flutter-development-framework.-The-image-should-include-the-Flutter-logo-prominently-surrounded-by-elements-symboliz-1-150x150.webp",150,150,true]},"magazine_blocks_author":{"display_name":"PlayNerd","author_link":"https:\/\/www.playnerd.site\/index.php\/author\/playnerd\/"},"magazine_blocks_comment":22,"magazine_blocks_author_image":"https:\/\/secure.gravatar.com\/avatar\/f27bf6da72b84eef3177bb82584b1928da8209533462374c776eb0720ab54fae?s=96&d=retro&r=g","magazine_blocks_category":"<a href=\"#\" class=\"category-link category-link-2\">Develop<\/a> <a href=\"#\" class=\"category-link category-link-9\">Highlights<\/a>","_links":{"self":[{"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/posts\/1080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/comments?post=1080"}],"version-history":[{"count":7,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/posts\/1080\/revisions"}],"predecessor-version":[{"id":1106,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/posts\/1080\/revisions\/1106"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/media\/1099"}],"wp:attachment":[{"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/media?parent=1080"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/categories?post=1080"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.playnerd.site\/index.php\/wp-json\/wp\/v2\/tags?post=1080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}