SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
>< nextprevious
FlutterAlla conquista del mobile Multi-Piattaforma
>< nextprevious
Google alla conquista del mobile multi piattaforma
Nell'ultimo decennio, lo sviluppo software si è “orizzontalizzato” anche e sopratutto nel campo mobile.

Le piattaforme ed i frameworks utili a tale scopo sono diversi, con i loro pro e contro.

Tra tutti spicca Flutter, un nuovo framework made by Google,

che riesce brillantemente ad unire la versatilità della programmazione ad alto livello, senza rinunciare alle performances

che solo il codice nativo può raggiungere. Il tutto "servito" per iOS ed Android.
Programma
01
Le criticità dello sviluppo Mobile
Quali sono le principali problematiche
relative allo sviluppo software in campo
Mobile
02
03
04
Soluzioni dei competitors
Le soluzioni alle problematiche del punto
01, proposte dai competitors. Si deve
scendere a dei compromessi
Flutter: LA Soluzione by Google
Capiremo cosa offre Google, quali sono
i vantaggi rispetto le altre soluzioni e
parleremo di performances
Live Coding
Creeremo un’app minimale per iOS ed
Android che esegua il retrieve di alcuni
dati da un backend
>< nextprevious
Senior Software developer, System Architect
Mike Gazzaruso
>< nextprevious
Full-Stack Developer (Devoloop, MGSoft…)
Mobile solutions iOS/Android (Devoloop, MGSoft, Keliweb…)
PEGA System Architect (Nexive, Zoppas, Porsche…)
Audio DSP Engineer (Devoloop Srls, Propellerheads Software…)
*nix System Administrator (UNIRoma3, RV Academy srl, h2I, Keliweb…)
Intelligenza Artificiale (definite.tech)
Flutter Evangelist (flutterdevelopers.com)
Italiancoders Group (https://italiancoders.it)
IoT (Raspberry, Arduino)
ASM, C, C++, Java, Python, JS, Angular, React, Flutter/Dart, Obj-C, Swift…
Sviluppo Mobile
>< nextprevious
Mobile Development
(Pro)
I dispositivi mobili consentono di avere l’informazione a portata di mano
La potenza di calcolo è esponenzialmente aumentata negli ultimi anni
Valido strumento di integrazione per gli applicativi Enterprise
Possibilità di inviare aggiornamenti, offerte, (…), In tempo reale
Scelta OS che verte ad oggi sui due main competitors: iOS / Android
>< nextprevious
Mobile Development
(Cons)
Sviluppo in parallelo su 2 codebases separate
Learning curve raddoppiata
Effort di manutenzione raddoppiato
Risorse raddoppiate
Aggiornamenti OS -> Aggiornamenti SDK
….
>< nextprevious
Le “soluzioni”
>< nextprevious
Cordova
Apache
‣ Sandbox (WebView)
‣ UI/JS Single threaded
Xamarin
Microsoft
‣ UI Components nativi
‣ C# 
‣ .NET Framework
‣ Boilerplate code
React Native
Facebook
‣ Bridge ad API Native
‣ Unstable
‣ Upgrade ostico
Le “soluzioni” ed i loro caveat
>< nextprevious
Flutter: LA Soluzione
>< nextprevious
Flutter
• Flutter è un Framework che utilizza il linguaggio Dart
• Prima versione nel 2015 (codename: Sky)
• Release Preview 2: Settembre 2018
• Flutter 1.0 Stable: 4 Dicembre 2018
>< nextprevious
PERFORMANCES
ISOLATES
Il codice viene compilato
per intero in nativo,
utilizzando NDK (C/C++)
su Android ed LLVM su
iOS. Le prestazioni sono
notevolmente superiori
rispetto agli altri
competitors
Cosa rende vincente Flutter
>< nextprevious
Dart può sfruttare la
Concurrency (approccio
multithread-like) grazie al
package ‘dart:isolate’, in
questo modo è possibile
attuare parallelizzazione
dei processi, qualora sia
richiesto dal nostro
applicativo
DART ED INSTANT RUN
PLATFORM CHANNELS
Dart (made by Google) è
stato concepito per
essere sia interpretato
che compilato. In fase di
sviluppo si possono
apprezzare le modifiche
effettuate al codice in
tempo reale grazie
all’Hot Reload
(istantaneo)
Cosa rende vincente Flutter
>< nextprevious
Si può scendere a
‘basso livello’ e
comunicare con le API
dell’OS, grazie ad un
meccanismo
estremamente semplice
e funzionale.
NON ESISTE UN EDITOR UI
FRAMEWORK GIOVANE
Non esiste ad oggi, uno
strumento per comporre
la UI in stile
“drag’n’drop” (come
succede in Android
Studio o XCode)
Bisogna fare attenzione:
>< nextprevious
Sebbene sia ‘made by
Google’ e ‘Ready for
production’, Flutter si
affaccia da poco sul
panorama, ciò ha un
impatto non di poco
conto, nonostante le
community ed il
supporto siano eccellenti
>< nextprevious
>< nextprevious
Struttura gerarchica
>< nextprevious
Relativo codice
Live Coding
>< nextprevious
Riferimenti
>< nextprevious
‣ Mike Gazzaruso: https://mike.gazzaruso.com / email:mike@gazzaruso.com
‣ Linkedin: https://it.linkedin.com/in/mikegazzaruso
‣ Documentazione Flutter: https://flutter.dev/
‣ Flutters Developers Italia Website: https://flutterdevelopers.com
‣ Italiancoders Website: https://italiancoders.it/
‣ Flutter Devs Italia FB: https://www.facebook.com/groups/flutterdevelopersitalia/

Weitere ähnliche Inhalte

Ähnlich wie Flutter: Google alla conquista del mobile multi piattaforma

Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Codemotion
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaAndrea Dottor
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppoLorenzo Braghetto
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Androidmobiledevcamp
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatoreSMAU
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developerssparkfabrik
 
Flash Platform su dispositivi mobili
Flash Platform su dispositivi mobiliFlash Platform su dispositivi mobili
Flash Platform su dispositivi mobililuca mezzalira
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Introduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidIntroduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidOpen Makers Italy
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net orientedAlessandro Morvillo
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di riaLorenzo Bortolotto
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Daniele Falamesca
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
 

Ähnlich wie Flutter: Google alla conquista del mobile multi piattaforma (20)

Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
Xamarin: Shared Library and Portable Class Library - Aristide Di Francesco - ...
 
Android
AndroidAndroid
Android
 
Io, Android
Io, AndroidIo, Android
Io, Android
 
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache CordovaMulti-Device Hybrid Apps con Visual Studio e Apache Cordova
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppo
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Android
 
Smau milano 2012 arena social media davide-senatore
Smau milano 2012   arena social media davide-senatoreSmau milano 2012   arena social media davide-senatore
Smau milano 2012 arena social media davide-senatore
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
Flash Platform su dispositivi mobili
Flash Platform su dispositivi mobiliFlash Platform su dispositivi mobili
Flash Platform su dispositivi mobili
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Introduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile AndroidIntroduzione al sistema operativo mobile Android
Introduzione al sistema operativo mobile Android
 
Sviluppare una app mobile net oriented
Sviluppare una app mobile net orientedSviluppare una app mobile net oriented
Sviluppare una app mobile net oriented
 
Framework per la realizzazione di ria
Framework per la realizzazione di riaFramework per la realizzazione di ria
Framework per la realizzazione di ria
 
Reportage Delphi Day 2012
Reportage Delphi Day 2012Reportage Delphi Day 2012
Reportage Delphi Day 2012
 
Federico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile CordovaFederico Massi.it - Intro alle app mobile Cordova
Federico Massi.it - Intro alle app mobile Cordova
 
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
Corso di Basi e Fondamenti di Programmazione in C++ Lezione 1
 
platforms
platformsplatforms
platforms
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformance
 
Introduzione a .Net Core
Introduzione a .Net CoreIntroduzione a .Net Core
Introduzione a .Net Core
 

Mehr von Commit University

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfCommit University
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfCommit University
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Commit University
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit University
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PACommit University
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Commit University
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting forCommit University
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityCommit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfCommit University
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Commit University
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsCommit University
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftCommit University
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneCommit University
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcCommit University
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeCommit University
 

Mehr von Commit University (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdfBreaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
Breaking REST Chains_ A Fastify & Mercurius Pathway to GraphQL Glory.pdf
 
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdfAccelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
Accelerating API Development: A Pit Stop with Gin-Gonic in Golang-Slide.pdf
 
Slide-10years.pdf
Slide-10years.pdfSlide-10years.pdf
Slide-10years.pdf
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
 
Vue.js slots.pdf
Vue.js slots.pdfVue.js slots.pdf
Vue.js slots.pdf
 
Commit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptxCommit - Qwik il framework che ti stupirà.pptx
Commit - Qwik il framework che ti stupirà.pptx
 
Sviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PASviluppare da zero una Angular Web App per la PA
Sviluppare da zero una Angular Web App per la PA
 
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
Backstage l'Internal Developer Portal Open Source per una migliore Developer ...
 
Prisma the ORM that node was waiting for
Prisma the ORM that node was waiting forPrisma the ORM that node was waiting for
Prisma the ORM that node was waiting for
 
Decision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit UniversityDecision-making for Software Development Teams - Commit University
Decision-making for Software Development Teams - Commit University
 
Component Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdfComponent Design Pattern nei Game Engine.pdf
Component Design Pattern nei Game Engine.pdf
 
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
Un viaggio alla scoperta dei Language Models e dell’intelligenza artificiale ...
 
Prototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step FunctionsPrototipazione Low-Code con AWS Step Functions
Prototipazione Low-Code con AWS Step Functions
 
KMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and SwiftKMM survival guide: how to tackle struggles between Kotlin and Swift
KMM survival guide: how to tackle struggles between Kotlin and Swift
 
Da Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazioneDa Vuex a Pinia: come fare la migrazione
Da Vuex a Pinia: come fare la migrazione
 
Orchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lcOrchestrare Micro-frontend con micro-lc
Orchestrare Micro-frontend con micro-lc
 
Fastify has defeated Lagacy-Code
Fastify has defeated Lagacy-CodeFastify has defeated Lagacy-Code
Fastify has defeated Lagacy-Code
 
SwiftUI vs UIKit
SwiftUI vs UIKitSwiftUI vs UIKit
SwiftUI vs UIKit
 

Flutter: Google alla conquista del mobile multi piattaforma

  • 1. >< nextprevious FlutterAlla conquista del mobile Multi-Piattaforma
  • 2. >< nextprevious Google alla conquista del mobile multi piattaforma Nell'ultimo decennio, lo sviluppo software si è “orizzontalizzato” anche e sopratutto nel campo mobile. Le piattaforme ed i frameworks utili a tale scopo sono diversi, con i loro pro e contro. Tra tutti spicca Flutter, un nuovo framework made by Google, che riesce brillantemente ad unire la versatilità della programmazione ad alto livello, senza rinunciare alle performances che solo il codice nativo può raggiungere. Il tutto "servito" per iOS ed Android.
  • 3. Programma 01 Le criticità dello sviluppo Mobile Quali sono le principali problematiche relative allo sviluppo software in campo Mobile 02 03 04 Soluzioni dei competitors Le soluzioni alle problematiche del punto 01, proposte dai competitors. Si deve scendere a dei compromessi Flutter: LA Soluzione by Google Capiremo cosa offre Google, quali sono i vantaggi rispetto le altre soluzioni e parleremo di performances Live Coding Creeremo un’app minimale per iOS ed Android che esegua il retrieve di alcuni dati da un backend >< nextprevious
  • 4. Senior Software developer, System Architect Mike Gazzaruso >< nextprevious Full-Stack Developer (Devoloop, MGSoft…) Mobile solutions iOS/Android (Devoloop, MGSoft, Keliweb…) PEGA System Architect (Nexive, Zoppas, Porsche…) Audio DSP Engineer (Devoloop Srls, Propellerheads Software…) *nix System Administrator (UNIRoma3, RV Academy srl, h2I, Keliweb…) Intelligenza Artificiale (definite.tech) Flutter Evangelist (flutterdevelopers.com) Italiancoders Group (https://italiancoders.it) IoT (Raspberry, Arduino) ASM, C, C++, Java, Python, JS, Angular, React, Flutter/Dart, Obj-C, Swift…
  • 6. Mobile Development (Pro) I dispositivi mobili consentono di avere l’informazione a portata di mano La potenza di calcolo è esponenzialmente aumentata negli ultimi anni Valido strumento di integrazione per gli applicativi Enterprise Possibilità di inviare aggiornamenti, offerte, (…), In tempo reale Scelta OS che verte ad oggi sui due main competitors: iOS / Android >< nextprevious
  • 7. Mobile Development (Cons) Sviluppo in parallelo su 2 codebases separate Learning curve raddoppiata Effort di manutenzione raddoppiato Risorse raddoppiate Aggiornamenti OS -> Aggiornamenti SDK …. >< nextprevious
  • 9. Cordova Apache ‣ Sandbox (WebView) ‣ UI/JS Single threaded Xamarin Microsoft ‣ UI Components nativi ‣ C#  ‣ .NET Framework ‣ Boilerplate code React Native Facebook ‣ Bridge ad API Native ‣ Unstable ‣ Upgrade ostico Le “soluzioni” ed i loro caveat >< nextprevious
  • 10. Flutter: LA Soluzione >< nextprevious
  • 11. Flutter • Flutter è un Framework che utilizza il linguaggio Dart • Prima versione nel 2015 (codename: Sky) • Release Preview 2: Settembre 2018 • Flutter 1.0 Stable: 4 Dicembre 2018 >< nextprevious
  • 12. PERFORMANCES ISOLATES Il codice viene compilato per intero in nativo, utilizzando NDK (C/C++) su Android ed LLVM su iOS. Le prestazioni sono notevolmente superiori rispetto agli altri competitors Cosa rende vincente Flutter >< nextprevious Dart può sfruttare la Concurrency (approccio multithread-like) grazie al package ‘dart:isolate’, in questo modo è possibile attuare parallelizzazione dei processi, qualora sia richiesto dal nostro applicativo
  • 13. DART ED INSTANT RUN PLATFORM CHANNELS Dart (made by Google) è stato concepito per essere sia interpretato che compilato. In fase di sviluppo si possono apprezzare le modifiche effettuate al codice in tempo reale grazie all’Hot Reload (istantaneo) Cosa rende vincente Flutter >< nextprevious Si può scendere a ‘basso livello’ e comunicare con le API dell’OS, grazie ad un meccanismo estremamente semplice e funzionale.
  • 14. NON ESISTE UN EDITOR UI FRAMEWORK GIOVANE Non esiste ad oggi, uno strumento per comporre la UI in stile “drag’n’drop” (come succede in Android Studio o XCode) Bisogna fare attenzione: >< nextprevious Sebbene sia ‘made by Google’ e ‘Ready for production’, Flutter si affaccia da poco sul panorama, ciò ha un impatto non di poco conto, nonostante le community ed il supporto siano eccellenti
  • 19. Riferimenti >< nextprevious ‣ Mike Gazzaruso: https://mike.gazzaruso.com / email:mike@gazzaruso.com ‣ Linkedin: https://it.linkedin.com/in/mikegazzaruso ‣ Documentazione Flutter: https://flutter.dev/ ‣ Flutters Developers Italia Website: https://flutterdevelopers.com ‣ Italiancoders Website: https://italiancoders.it/ ‣ Flutter Devs Italia FB: https://www.facebook.com/groups/flutterdevelopersitalia/