{"id":1447,"date":"2024-05-14T09:00:00","date_gmt":"2024-05-14T07:00:00","guid":{"rendered":"https:\/\/spin.srl\/blog\/?p=1447"},"modified":"2024-05-14T10:25:35","modified_gmt":"2024-05-14T08:25:35","slug":"flutter-sviluppa-app","status":"publish","type":"post","link":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/","title":{"rendered":"Flutter: sviluppa app per smartphone in un solo colpo"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"618\" height=\"510\" src=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/sfondo_articolo_flutter.png\" alt=\"flutter\" class=\"wp-image-1448\" srcset=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/sfondo_articolo_flutter.png 618w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/sfondo_articolo_flutter-300x248.png 300w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/sfondo_articolo_flutter-150x124.png 150w\" sizes=\"auto, (max-width: 618px) 100vw, 618px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Quando si sceglie di sviluppare un\u2019applicazione mobile si pongono alcuni quesiti, uno di questi \u00e8 il seguente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Per quali piattaforme deve essere sviluppato? iOs o Android?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Se la risposta \u00e8 \u201centrambi\u201d ecco che si pone un ulteriore quesito: utilizzare il linguaggio nativo o un framework multi-piattaforma?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La domanda non \u00e8 banale e presto capiremo il perch\u00e9. I linguaggi nativi per questi due sistemi operativi sarebbero rispettivamente Swift (iOs) e Java\/Kotlin (Android).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Utilizzare questi linguaggi richiede uno sforzo maggiore dal momento che l\u2019applicazione sviluppata non sar\u00e0 in alcun modo eseguibile sull\u2019altro sistema. \u00c8 per questo che in questo articolo presenteremo Flutter e, senza perderci troppo in giri di parole, analizzeremo quali sono i suoi punti di forza e di debolezza, affinch\u00e9 tu possa capire se vale la pena, per il tuo caso specifico, affrontare lo studio di questo framework.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>Flutter: il momento delle presentazioni<\/strong><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"677\" height=\"166\" src=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/Dartflutter.png\" alt=\"\" class=\"wp-image-1449\" style=\"width:595px;height:auto\" srcset=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/Dartflutter.png 677w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/Dartflutter-300x74.png 300w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/Dartflutter-150x37.png 150w\" sizes=\"auto, (max-width: 677px) 100vw, 677px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Flutter \u00e8 un framework sviluppato da Google che si basa sul linguaggio, sempre di mamma Google, Dart. Dunque, di per s\u00e9 Flutter non \u00e8 un linguaggio di programmazione, \u00e8 per l\u2019appunto un framework basato su Dart.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tratta di un framework open source, dunque, oltre ad essere disponibile gratuitamente, \u00e8 sostenuto da una vasta comunit\u00e0 di collaboratori che lo fanno crescere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dart, l\u2019anima di questo framework, \u00e8 un linguaggio di programmazione ad oggetti simile a qualsiasi altro linguaggio che adotti questo paradigma di programmazione. La sintassi, per chi non fosse alle primissime armi, \u00e8 intuitiva e veloce da apprendere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La filosofia di Flutter \u00e8 quella di sviluppare applicazioni scrivendo solamente una volta il codice: infatti nel momento della compilazione sar\u00e0 Flutter stesso a adattare quello che abbiamo scritto alla piattaforma in uso. Solitamente si parla di Flutter per lo sviluppo mobile, ma questo non \u00e8 corretto, sebbene in questo articolo parleremo solo di sviluppo mobile: con Flutter \u00e8 possibile sviluppare anche web app e applicazioni desktop.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sviluppare con Flutter potrebbe risultare molto intuitivo a uno sviluppatore web abituato a definire layout mediante dei container &lt;div&gt;. Infatti Flutter lo potremmo sintetizzare con una parola: Widget.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"432\" src=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/meme_flutter.png\" alt=\"\" class=\"wp-image-1450\" style=\"width:485px;height:auto\" srcset=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/meme_flutter.png 635w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/meme_flutter-300x204.png 300w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/meme_flutter-150x102.png 150w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">I widget possiamo vederli come delle scatole in grado di contenere altre scatole nel loro interno. Ogni scatola possiamo decorarla come vogliamo e dargli le funzionalit\u00e0 che preferiamo. Quindi potremmo avere un grosso scatolone (la schermata principale) e al suo interno mettere altre scatole pi\u00f9 piccole (bottoni, immagini, scatole complesse fatte di altre scatole).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sebbene inizialmente potrebbe risultare un approccio antipatico o, peggio, complicato, \u00e8 con il tempo che si apprezza questa struttura: ti renderai conto di come ogni cosa si trova al suo posto e ti risulter\u00e0 pi\u00f9 facile modificare l\u2019interfaccia in ogni momento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Perch\u00e9 scegliere Flutter?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prima abbiamo accennato al fatto che non fosse banale prendere una scelta simile. Intuitivamente si potrebbe pensare che ci\u00f2 che semplifica un lavoro sia sicuramente la scelta migliore. Ma questo \u00e8 giusto solamente nella maggior parte dei casi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Infatti, \u00e8 doverosa un\u2019osservazione: un linguaggio nativo \u00e8 per definizione il linguaggio che un sistema operativo \u201ccapisce meglio\u201d rendendo pi\u00f9 reattiva ed efficiente l\u2019app stessa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Metaforicamente \u00e8 come se tu, madrelingua italiano, conoscessi benissimo l\u2019inglese. Sei perfettamente in grado di comunicare in inglese e lo fai senza intoppi, ma sicuramente nel parlare la tua lingua madre saresti pi\u00f9 spedito. Se questo pu\u00f2 andare bene per la maggior parte dei lavori, potrebbero essercene alcuni in cui il ritmo frenetico delle istruzioni non ti consentirebbe di stare perfettamente al passo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quello che bisogna dunque chiedersi \u00e8 il livello di efficienza che desideri dalla tua app, tenendo inoltre conto che alcune funzionalit\u00e0 avanzate del sistema operativo sono pi\u00f9 complesse da raggiungere senza il linguaggio nativo. Stai sviluppando applicazioni molto complesse come, ad esempio, un videogioco in 3D? Stai sviluppando un\u2019applicazione di editing video? Stai sviluppando un\u2019applicazione che deve accedere ai dati biometrici salvati nel dispositivo? Questi sono esempi in cui potresti dover ragionare bene sull\u2019utilizzo di Flutter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al contrario: stai sviluppando un\u2019applicazione per organizzare partite di calcetto? Stai sviluppando un\u2019applicazione gestionale per la tua azienda? Stai sviluppando un\u2019applicazione per il tuo negozio? Stai sviluppando un videogioco indie? In questi casi \u00e8 molto vantaggioso prendere in considerazione Flutter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Attenzione: allo stato attuale Flutter \u00e8 un framework veramente avanzato sul tema delle prestazioni e nulla impedisce di fare applicazioni molto complesse con esso. Non \u00e8 raro, infatti, che vi imbattiate in discussioni riguardo la sua \u201cquasi\u201d equivalenza alle prestazioni di un\u2019app nativa. Questo \u00e8 sicuramente vero, tuttavia il fatto che sia molto avanzato in tal senso non vuol dire che \u00e8 perfettamente uguale alle prestazioni native.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Flutter presenta inoltre alcune caratteristiche che ne migliorano l\u2019appeal:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hot reload: permette di vedere le modifiche apportate al codice in tempo reale, senza dover riavviare l&#8217;app, velocizzando lo sviluppo e la prototipazione. In poche parole Flutter aggiorna solo gli elementi che hanno subito una modifica, lasciando intatto tutto il resto, risparmiandosi di ricaricare volta per volta tutto il codice.<\/li>\n\n\n\n<li>Look&amp;Feel fedele ad Android e iOS. A breve approfondiremo questo concetto.<\/li>\n\n\n\n<li>Molto di moda. E no, non si tratta di un&#8217;affermazione superficiale di qualcuno a cui piace seguire la massa: una tecnologia che va di moda \u00e8 una tecnologia ampiamente supportata dalla community. Vuol dire che online trovi tantissimo materiale di studio e tantissime risposte ai tuoi quesiti.<\/li>\n\n\n\n<li>Codice veloce e leggero. Anche se lo abbiamo gi\u00e0 detto \u00e8 bene ribadirlo in questa lista.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Cosa serve per sviluppare app con Flutter?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per iniziare a lavorare con Flutter oltre a una buona dose di forza di volont\u00e0 nell\u2019imparare \u00e8 necessaria una minima esperienza nell\u2019ambito della programmazione. Nulla impedisce di iniziare a imparare da Flutter, tuttavia ci sono alcuni paradigmi che sarebbe bene imparare al di fuori di un framework. Un framework \u00e8 infatti uno strumento che semplifica il lavoro di uno sviluppatore, ma poggiare le basi della propria formazione orientandosi direttamente a un framework potrebbe risultare confusionario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In ogni caso quello che bisogna imparare per primo \u00e8 il linguaggio Dart. Ti consiglio di cercare risorse gratuite (YouTube) o a pagamento (ad esempio su Udemy) su questo linguaggio prima di cominciare a pensare a Flutter. Durante il tuo apprendimento potresti utilizzare il compilatore Dart online a questo indirizzo (<a href=\"https:\/\/dartpad.dev\/\">https:\/\/dartpad.dev\/<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dopodich\u00e9 \u00e8 il momento di installare Flutter sul tuo sistema seguendo le istruzioni disponibili al sito ufficiale del framework: <a href=\"https:\/\/docs.flutter.dev\/get-started\/install\">https:\/\/docs.flutter.dev\/get-started\/install<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A questo punto \u00e8 il momento di studiare il framework&nbsp; in s\u00e9. Come prima ti consiglio di cercare risorse video di qualit\u00e0 su YouTube o piattaforme come Udemy. Se capisci bene l\u2019inglese punta su quelle risorse, altrimenti sono comunque disponibili ottime risorse in italiano.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>Un esempio di applicazione Flutter<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c8 consuetudine mostrare un \u201cHello world\u201d quando si presenta per la prima volta un linguaggio o un framework, e certamente non vogliamo essere da meno in questa occasione.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import 'package:flutter\/material.dart';\n\nvoid main() =&gt; runApp(HelloWorld());\n\nclass HelloWorld extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Hello World',\n      home: Scaffold(\n        appBar: AppBar(\n          title: Text('La mia prima applicazione Flutter'),\n        ),\n        body: Center(\n          child: Text('Hello World'),\n        ),\n      ),\n    );\n  }\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>Alternative a Flutter<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Potresti pensare che l\u2019unica alternativa allo sviluppo nativo delle applicazioni sia Flutter ma fortunatamente non \u00e8 cos\u00ec. Un framework molto popolare in tal senso \u00e8 React Native. A questo si aggiunge Xamarin, di Microsoft. C\u2019\u00e8 poi Ionic che offre delle prestazioni molto inferiori a flutter, &nbsp;che si basa sull\u2019uso di JavaScript e con cui \u00e8 difficile ottenere un layout che rispetti il look&amp;feel di un\u2019app nativa (cosa che Flutter riesce a replicare egregiamente).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il look&amp;feel non \u00e8 altro che l\u2019aspetto grafico che ti fa capire su che dispositivo ti trovi. In altri termini guardando l\u2019app ti rendi conto di essere su Android oppure su iOs. Esattamente come il vedere 3 pallini in altro a sinistra di una finestra ti fa capire di essere su macOS e non su Windows (che lo riconosci dai 3 bottoni quadrati in alto a destra).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"459\" height=\"142\" src=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/lookfeel.png\" alt=\"\" class=\"wp-image-1451\" srcset=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/lookfeel.png 459w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/lookfeel-300x93.png 300w, https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/lookfeel-150x46.png 150w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Il concetto di look&amp;feel possiamo semplificarlo in questa immagine: immagino che anche senza la didascalia avresti distinto i sistemi operativi in uso.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><strong>Test &amp; Deploy della tua app<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per la fase di test e di rilascio della tua applicazione sar\u00e0 fondamentale eseguire l\u2019applicazione su un dispositivo virtuale (emulatore) oppure un dispositivo reale. In fase di installazione di Flutter provvedi a installare un emulatore Android (ci sono diversi modi, il pi\u00f9 semplice e veloce \u00e8 l\u2019utilizzo di Android Studio) e un emulatore iOs (mediante Xcode).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c8 importante sapere che, in piena coerenza con la filosofia Apple, affinch\u00e9 tu possa testare e distribuire la tua applicazione su ambiente iOs \u00e8 necessario utilizzare macOS con Xcode installato. Puoi utilizzare al limite macOS&nbsp; virtuali (ad esempio sui <a href=\"https:\/\/www.macincloud.com\/\">https:\/\/www.macincloud.com\/<\/a>) ma \u00e8 un approccio piuttosto scomodo a mio avviso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per la pubblicazione sui rispettivi store (Play Store e App Store) dovrai avere un account sviluppatore che, sfortunatamente, non \u00e8 gratuito. Google vende la \u201clicenza da sviluppatore\u201d al prezzo una tantum di 25\u20ac, quindi una volta pagata questa somma potrai per sempre pubblicare sugli store Google senza mai pi\u00f9 sborsare un euro. Diversamente Apple ha preferito la strada dell\u2019abbonamento annuale che ha un costo decisamente maggiore: una licenza da programmatore costa 99\u20ac l\u2019anno (ma include, tra le varie cose, la possibilit\u00e0 di partecipare agli eventi di Apple come i WWDC).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando si sceglie di sviluppare un\u2019applicazione mobile si pongono alcuni quesiti, uno di questi \u00e8&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1448,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"powered_cache_disable_cache":false,"footnotes":""},"categories":[15,4],"tags":[],"class_list":["post-1447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-evidenza","category-generale"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Flutter: sviluppa app per smartphone in un solo colpo - SPIN S.r.l.<\/title>\n<meta name=\"description\" content=\"Vuoi creare applicazioni per smarthphone in modo facile, veloce e divertente? Scopri come farlo nel 2026 con SPIN S.r.l.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter: sviluppa app per smartphone in un solo colpo - SPIN S.r.l.\" \/>\n<meta property=\"og:description\" content=\"Vuoi creare applicazioni per smarthphone in modo facile, veloce e divertente? Scopri come farlo nel 2026 con SPIN S.r.l.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\" \/>\n<meta property=\"og:site_name\" content=\"SPIN S.r.l.\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/spin.srl.ricerca.innovazione.trasf.tecnologico\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-14T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-14T08:25:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/sfondo_articolo_flutter.png\" \/>\n\t<meta property=\"og:image:width\" content=\"618\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Vittorio Matranga\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@consorziospin\" \/>\n<meta name=\"twitter:site\" content=\"@consorziospin\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vittorio Matranga\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\"},\"author\":{\"name\":\"Vittorio Matranga\",\"@id\":\"https:\/\/spin.srl\/blog\/#\/schema\/person\/c0cc42cac6e321e02716a272f09d8860\"},\"headline\":\"Flutter: sviluppa app per smartphone in un solo colpo\",\"datePublished\":\"2024-05-14T07:00:00+00:00\",\"dateModified\":\"2024-05-14T08:25:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\"},\"wordCount\":1492,\"publisher\":{\"@id\":\"https:\/\/spin.srl\/blog\/#organization\"},\"articleSection\":[\"Evidenza\",\"Generale\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\",\"url\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\",\"name\":\"Flutter: sviluppa app per smartphone in un solo colpo - SPIN S.r.l.\",\"isPartOf\":{\"@id\":\"https:\/\/spin.srl\/blog\/#website\"},\"datePublished\":\"2024-05-14T07:00:00+00:00\",\"dateModified\":\"2024-05-14T08:25:35+00:00\",\"description\":\"Vuoi creare applicazioni per smarthphone in modo facile, veloce e divertente? Scopri come farlo nel 2026 con SPIN S.r.l.\",\"breadcrumb\":{\"@id\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/spin.srl\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flutter: sviluppa app per smartphone in un solo colpo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/spin.srl\/blog\/#website\",\"url\":\"https:\/\/spin.srl\/blog\/\",\"name\":\"SPIN S.r.l.\",\"description\":\"Blog\",\"publisher\":{\"@id\":\"https:\/\/spin.srl\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/spin.srl\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/spin.srl\/blog\/#organization\",\"name\":\"SPIN S.r.l.\",\"url\":\"https:\/\/spin.srl\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/spin.srl\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2023\/01\/cropped-cropped-cropped-new_logo.webp\",\"contentUrl\":\"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2023\/01\/cropped-cropped-cropped-new_logo.webp\",\"width\":325,\"height\":60,\"caption\":\"SPIN S.r.l.\"},\"image\":{\"@id\":\"https:\/\/spin.srl\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/spin.srl.ricerca.innovazione.trasf.tecnologico\/\",\"https:\/\/twitter.com\/consorziospin\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/spin.srl\/blog\/#\/schema\/person\/c0cc42cac6e321e02716a272f09d8860\",\"name\":\"Vittorio Matranga\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/spin.srl\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a5c9e2319ad8d9ba376b0b728e0bb1a019bc06142f5222ac428323d3af054e33?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a5c9e2319ad8d9ba376b0b728e0bb1a019bc06142f5222ac428323d3af054e33?s=96&d=mm&r=g\",\"caption\":\"Vittorio Matranga\"},\"description\":\"In questo blog mi occupo di tematiche legate in diversa forma al tema dell'innovazione e della tecnologia. Sin da piccolo appassionato di informatica mi divertivo a creare siti web e applicazioni elementari cercando di capire cosa ci fosse sotto il cofano. Questa passione mi ha condotto alla mia professione di informatico dopo aver conseguito una laurea in informatica presso l'Universit\u00e0 della Calabria (Unical). Periodicamente pubblico articoli attinente a questi temi.\",\"sameAs\":[\"https:\/\/spin.srl\/blog\",\"https:\/\/linkedin.com\/in\/vittorio-matranga\/\"],\"url\":\"https:\/\/spin.srl\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Flutter: sviluppa app per smartphone in un solo colpo - SPIN S.r.l.","description":"Vuoi creare applicazioni per smarthphone in modo facile, veloce e divertente? Scopri come farlo nel 2026 con SPIN S.r.l.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/","og_locale":"it_IT","og_type":"article","og_title":"Flutter: sviluppa app per smartphone in un solo colpo - SPIN S.r.l.","og_description":"Vuoi creare applicazioni per smarthphone in modo facile, veloce e divertente? Scopri come farlo nel 2026 con SPIN S.r.l.","og_url":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/","og_site_name":"SPIN S.r.l.","article_publisher":"https:\/\/www.facebook.com\/spin.srl.ricerca.innovazione.trasf.tecnologico\/","article_published_time":"2024-05-14T07:00:00+00:00","article_modified_time":"2024-05-14T08:25:35+00:00","og_image":[{"width":618,"height":510,"url":"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2024\/05\/sfondo_articolo_flutter.png","type":"image\/png"}],"author":"Vittorio Matranga","twitter_card":"summary_large_image","twitter_creator":"@consorziospin","twitter_site":"@consorziospin","twitter_misc":{"Scritto da":"Vittorio Matranga","Tempo di lettura stimato":"8 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/#article","isPartOf":{"@id":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/"},"author":{"name":"Vittorio Matranga","@id":"https:\/\/spin.srl\/blog\/#\/schema\/person\/c0cc42cac6e321e02716a272f09d8860"},"headline":"Flutter: sviluppa app per smartphone in un solo colpo","datePublished":"2024-05-14T07:00:00+00:00","dateModified":"2024-05-14T08:25:35+00:00","mainEntityOfPage":{"@id":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/"},"wordCount":1492,"publisher":{"@id":"https:\/\/spin.srl\/blog\/#organization"},"articleSection":["Evidenza","Generale"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/","url":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/","name":"Flutter: sviluppa app per smartphone in un solo colpo - SPIN S.r.l.","isPartOf":{"@id":"https:\/\/spin.srl\/blog\/#website"},"datePublished":"2024-05-14T07:00:00+00:00","dateModified":"2024-05-14T08:25:35+00:00","description":"Vuoi creare applicazioni per smarthphone in modo facile, veloce e divertente? Scopri come farlo nel 2026 con SPIN S.r.l.","breadcrumb":{"@id":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/spin.srl\/blog\/flutter-sviluppa-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/spin.srl\/blog\/"},{"@type":"ListItem","position":2,"name":"Flutter: sviluppa app per smartphone in un solo colpo"}]},{"@type":"WebSite","@id":"https:\/\/spin.srl\/blog\/#website","url":"https:\/\/spin.srl\/blog\/","name":"SPIN S.r.l.","description":"Blog","publisher":{"@id":"https:\/\/spin.srl\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/spin.srl\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/spin.srl\/blog\/#organization","name":"SPIN S.r.l.","url":"https:\/\/spin.srl\/blog\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/spin.srl\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2023\/01\/cropped-cropped-cropped-new_logo.webp","contentUrl":"https:\/\/spin.srl\/blog\/wp-content\/uploads\/2023\/01\/cropped-cropped-cropped-new_logo.webp","width":325,"height":60,"caption":"SPIN S.r.l."},"image":{"@id":"https:\/\/spin.srl\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/spin.srl.ricerca.innovazione.trasf.tecnologico\/","https:\/\/twitter.com\/consorziospin"]},{"@type":"Person","@id":"https:\/\/spin.srl\/blog\/#\/schema\/person\/c0cc42cac6e321e02716a272f09d8860","name":"Vittorio Matranga","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/spin.srl\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a5c9e2319ad8d9ba376b0b728e0bb1a019bc06142f5222ac428323d3af054e33?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a5c9e2319ad8d9ba376b0b728e0bb1a019bc06142f5222ac428323d3af054e33?s=96&d=mm&r=g","caption":"Vittorio Matranga"},"description":"In questo blog mi occupo di tematiche legate in diversa forma al tema dell'innovazione e della tecnologia. Sin da piccolo appassionato di informatica mi divertivo a creare siti web e applicazioni elementari cercando di capire cosa ci fosse sotto il cofano. Questa passione mi ha condotto alla mia professione di informatico dopo aver conseguito una laurea in informatica presso l'Universit\u00e0 della Calabria (Unical). Periodicamente pubblico articoli attinente a questi temi.","sameAs":["https:\/\/spin.srl\/blog","https:\/\/linkedin.com\/in\/vittorio-matranga\/"],"url":"https:\/\/spin.srl\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/posts\/1447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/comments?post=1447"}],"version-history":[{"count":4,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/posts\/1447\/revisions"}],"predecessor-version":[{"id":1455,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/posts\/1447\/revisions\/1455"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/media\/1448"}],"wp:attachment":[{"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/media?parent=1447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/categories?post=1447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spin.srl\/blog\/wp-json\/wp\/v2\/tags?post=1447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}