Nell'ultimo decennio, lo sviluppo software è diventato trasversale 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.
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
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