Formazione Avanzata Premium Flutter Engineering di Majid Hajian

Crea Straordinarie Flutter Apps con Sicurezza

flutter engineering book

Vai oltre il semplice programmare:

Immergiti nell'essenza di Flutter Engineering. Non si tratta solo di far funzionare le cose; si tratta di padroneggiare l'arte. Dalla comprensione delle strategie di alto livello all'assimilazione di concetti avanzati complessi, la mia missione è trasformarti in un professionista di Flutter.

FOO
BAR
BAZ

Questa guida è diretta e concisa, con un'enfasi sugli esempi pratici. Imparerai diversi argomenti capitolo per capitolo, al tuo ritmo. È essenziale avere esperienza pregressa con Flutter, Dart e la programmazione di base.

Cosa devo fare per diventare un ingegnere Flutter professionista migliore?

— Uno sviluppatore Flutter

Ciao! Sono Majid Hajian, autore del progetto "Flutter Engineering". Sono un appassionato ingegnere software dal 2006 e ho ricoperto vari ruoli, dallo sviluppatore all'architetto. Sono leader ed educatore nella comunità Flutter dal 2019. Da quando ho assunto questi ruoli, la domanda precedente continua a emergere.

Majid Hajian

Nel corso della mia carriera, ho lavorato in vari ruoli come sviluppatore backend, frontend, full-stack, architetto software e, più recentemente, come Responsabile delle Relazioni con gli Sviluppatori. Sfruttando la mia esperienza, ho dedicato quasi un anno allo sviluppo del progetto "Flutter Engineering". Con questo progetto, intendo migliorare le tue competenze e aiutarti a raggiungere l'eccellenza. Attraverso "Flutter Engineering" voglio condividere le preziose lezioni che ho imparato nel corso della mia carriera.

Sebbene tenda ad avere un approccio logico e analitico, che mi rende abile nella programmazione, sono sempre curioso su come diventare un ingegnere software migliore. Qual è il modo più efficace per progettare l'architettura di un'applicazione? Come posso gestire tutti gli aspetti dello sviluppo di applicazioni, non solo il codice?

Dai un'occhiata al progetto "Flutter Engineering"! Ho compilato un libro con contenuti architetturali e avanzati, e materiali di supporto come video, esempi di codice, un podcast e una newsletter.

Il progetto "Flutter Engineering" va oltre il libro, approfondendo concetti di ingegneria del software e argomenti avanzati pensati per lo sviluppo di applicazioni Flutter.

Ciao! Sono Jacopo Antonio Causin, un ingegnere italiano con oltre 8 anni di esperienza nello sviluppo di soluzioni software enterprise. Come coordinatore della traduzione italiana di questo libro, il mio obiettivo è rendere accessibile la conoscenza di questo libro alla comunità italiana degli sviluppatori.

Foto di Jacopo Antonio Causin

Sono CEO e CTO di Mecapptronics Srl, una startup innovativa specializzata in AI, Computer Vision, sviluppo mobile e architetture cloud, e di Receiptia Srl, una innovativa piattaforma di gestione documentale basata su intelligenza artificiale. La mia esperienza spazia dal front-end al back-end, con un forte focus su Flutter e le tecnologie più moderne.

Mi appassiona integrare tecnologie all'avanguardia come l'intelligenza artificiale, la blockchain e la computer vision in soluzioni pratiche e scalabili. Sono inoltre Founder e Lead Organizer del Google Developer Group Vicenza e del Flutter Meetup Vicenza, proprio perché credo che la condivisione della conoscenza sia il motore della crescita di ogni comunità.

Flutter è stato fondamentale nel mio percorso professionale e imprenditoriale. Spero che questo libro ti aiuti a scoprire tutto il potenziale di Flutter e ti ispiri a creare qualcosa di straordinario. Buona lettura!

Revisori e Contributori

Grazie ai miei fantastici amici il cui impegno per i dettagli ha garantito l'accuratezza e la chiarezza dei contenuti.

Avatar of Simon Lightfoot

Simon Lightfoot

Avatar of Mangirdas Kazlauskas

Mangirdas Kazlauskas

Avatar of Roman Jaquez

Roman Jaquez

Avatar of Erick Zanardo

Erick Zanardo

Avatar of Carlo Lucera

Carlo Lucera

Avatar of Marco Napoli

Marco Napoli

Avatar of Alessio Salvadorini

Alessio Salvadorini

Avatar of Pooja Bhaumik

Pooja Bhaumik

Avatar of Dominik Roszkowski

Dominik Roszkowski

Avatar of Oleksandr Leushchenko

Oleksandr Leushchenko

Avatar of Anna Leushchenko

Anna Leushchenko

Avatar of Tomáš Soukal

Tomáš Soukal

Avatar of Danielle Cox

Danielle Cox

Avatar of Manuela Sakura Rommel

Manuela Sakura Rommel

Avatar of Verena Zaiser

Verena Zaiser

Avatar of Cagatay Ulusoy

Cagatay Ulusoy

Avatar of Mike Rydstrom

Mike Rydstrom

Avatar of Muhammed Salih Guler

Muhammed Salih Guler

Avatar of Renan Araujo

Renan Araujo

Indice dei Contenuti

Ora avrai l'opportunità di esplorare il libro nella sua interezza in italiano.

Fondamenti di Flutter Engineering

  1. 1. Flutter Engineering: Concetti Chiave
    1. Ingegneria del software con Flutter
    2. Esplorando i principi fondamentali
    3. Ciclo di vita dello sviluppo in Flutter
    4. Flutter Engineering vs. Programmazione
    5. La posizione di Flutter nell'evoluzione tecnologica
    6. Conclusione
  2. 2. Svelare Flutter: Architettura e Engineering
    1. Decodificare l'importanza degli interni di Flutter
    2. La natura reattiva e dichiarativa di Flutter
    3. Il motto di Flutter
    4. Componenti principali e prospettive del framework
    5. Grafica, rendering e visualizzazione
    6. Navigare attraverso il ciclo di vita dei widget e delle app
    7. Gestione dei vincoli nell'interfaccia di Flutter
    8. Significato e utilizzo delle chiavi in Flutter
    9. Conclusione
  3. 3. Integrazione di Flutter con le Piattaforme Native
    1. Canale di Piattaforma
    2. FFI di Dart
    3. FFIgen
    4. JNIgen (Generatore di Interfaccia Nativa Java)
    5. Conclusione
  4. 4. Applicare i Principi di Engineering in Flutter
    1. Analisi della OOP (Programmazione Orientata agli Oggetti)
    2. Implementazione dei principi classici del software
    3. Conclusione
  5. 5. Design Pattern in Flutter
    1. Decodificare il ruolo dei design pattern
    2. Pattern Creazionali
    3. Pattern Strutturali
    4. Pattern Comportamentali
    5. Conclusione

Architettura

  1. 6. Fondamenti Architetturali
    1. Il ruolo critico delle decisioni architetturali
    2. Variabili che influenzano le scelte architetturali
    3. Navigare il panorama architetturale
    4. Coltivare una mentalità architetturale
    5. Architettura iterativa
    6. Raggiungere un equilibrio: Semplicità vs. Complessità
    7. Conclusione
  2. 7. Introduzione agli Stili Architetturali
    1. Conoscenza degli stili architetturali
    2. Stile a livelli (n livelli)
    3. Architettura guidata dagli eventi (EDA)
    4. Architettura Microkernel (Plug-in)
    5. Altre architetture e paradigmi
    6. Conclusione
  3. 8. Pattern di Architettura dell'Interfaccia Utente
    1. Il panorama delle architetture dell'interfaccia utente
    2. Architetture prominenti in Flutter
    3. Architetture oltre le norme di Flutter
    4. Architettura Pulita (Clean Architecture)
    5. Bilanciare i compromessi
    6. Personalizzare le architetture per Flutter
    7. Conclusione
  4. 9. Concorrenza e Parallelismo
    1. Demistificare concorrenza vs. parallelismo
    2. L'importanza di gestire le attività in modo efficiente
    3. Il principio del thread singolo dell'interfaccia di Flutter
    4. Il trio della programmazione asincrona
    5. Gestione dei flussi di dati asincroni
    6. Ampliare gli orizzonti con gli Isolate
    7. Conclusione
  5. 10. Funzionalità Offline in Flutter
    1. L'arma a doppio taglio: Sfide e benefici
    2. Adottare la filosofia offline-first
    3. Monitoraggio e gestione dei cambiamenti di connettività
    4. Garantire l'integrità dei dati durante le sincronizzazioni in background
    5. Pattern di caching
    6. Conclusione
  6. 11. Gestione dello Stato
    1. Definire e comprendere lo stato nelle applicazioni
    2. Stato locale vs. globale: Tecniche efficaci di scope
    3. Approcci integrati di Flutter
    4. Esplorare soluzioni popolari
    5. La flessibilità di Flutter: Sostituire e iterare
    6. Conclusione
  7. 12. Dependency Injection in Flutter
    1. I principi alla base della dependency injection
    2. Vantaggi del codice disaccoppiato
    3. Implementare la DI in un'applicazione Flutter
    4. Esplorare i pacchetti di dependency injection in Flutter
    5. Conclusione

Processi

  1. 13. Norme e Linee Guida di Stile
    1. Il ragionamento dietro le regole
    2. Elaborare linee guida significative
    3. Assicurare il rispetto delle regole
    4. Sfruttare l'automazione per la coerenza
    5. Linter e dartfmt
    6. Conclusione
  2. 14. La Collaborazione nello Sviluppo
    1. Fondamenti del controllo di versione
    2. Adottare CI/CD nello sviluppo Flutter
    3. Code review efficaci
    4. Conclusione
  3. 15. L'Arte della Documentazione
    1. Lo spettro della documentazione nello sviluppo software
    2. Adottare la filosofia di documentazione di Flutter
    3. Trattare la documentazione come un'entità vivente
    4. I pericoli della documentazione obsoleta
    5. Conclusione
  4. 16. Testing in Flutter
    1. Perché il testing è importante: Oltre la ricerca di bug
    2. Comprendere la piramide dei test in Flutter
    3. Fondamenti di test unitari e di widget
    4. Test double
    5. Test double in Flutter
    6. Il mondo dei test di integrazione e golden test
    7. Conclusione
  5. 17. Ambienti e Flavor
    1. La necessità di ambienti e flavor multipli
    2. Integrare CI/CD senza problemi
    3. Conclusione

Ingegneria Etica

  1. 18. Priorità alla Sicurezza in Flutter
    1. Principi fondamentali di sicurezza
    2. La triade CIA: Confidenzialità, Integrità, Disponibilità
    3. Affrontare la Top 10 di OWASP
    4. Analisi statica e dinamica
    5. Best practice di sicurezza specifiche per Flutter
    6. Conclusione
  2. 19. Crittografia in Flutter
    1. Distinguere i tipi di cifratura
    2. Fondamenti dell'hashing
    3. Garantire l'integrità dei dati con le firme digitali
    4. Conclusione
  3. 20. Protezione della Privacy degli Utenti
    1. Comprendere le terminologie chiave della privacy
    2. Adottare la filosofia Privacy by Design
    3. Best practice per supportare la privacy dell'utente
    4. Normative internazionali sulla protezione dei dati
    5. Conclusione
  4. 21. Accessibilità per Tutti
    1. Riconoscere le diverse disabilità
    2. I benefici tangibili del design inclusivo delle app
    3. I quattro pilastri dell'accessibilità
    4. Strumenti e widget che promuovono l'accessibilità
    5. Audit di accessibilità in Flutter
    6. Conclusione

Sviluppo Avanzato dell'Interfaccia Utente

  1. 22. Creare Interfacce Utente Adattive
    1. Considerazioni UI specifiche per piattaforma
    2. Sfruttare le caratteristiche uniche della piattaforma
    3. Conclusione
  2. 23. Tecniche di Interfaccia Utente Responsive
    1. Principi del design responsive
    2. Approcci alla responsività in Flutter
    3. Adattare la UI all'orientamento dello schermo
    4. Conclusione
  3. 24. i18n e l10n
    1. i18n vs. l10n: Differenze chiave
    2. Implementare l'internazionalizzazione in Flutter
    3. Adattarsi alle lingue da destra a sinistra
    4. Conclusione
  4. 25. Adottare la Tematizzazione in Flutter
    1. Temi in Flutter
    2. Tecniche di tematizzazione personalizzata
    3. Gestione dei temi scuro e chiaro
    4. Passi per tematizzare MaterialApp
    5. Strumenti di tematizzazione
    6. Conclusione
  5. 26. Custom Painter e Shader
    1. L'arte del CustomPainter
    2. Esplorare gli Shader
    3. Usare gli Shader in Flutter
    4. Conclusione

Parole Finali

Bonus Book: Flutter, Above and Beyond

  1. 1. Advanced Techniques
    1. Native Platform View
    2. WebAssembly (WASM) with Flutter
    3. Bridging with Native Code: FFIgen/JNIgen
    4. Embedded Elements in Flutter
    5. Techniques for Code-Generation in Flutter
    6. Deep Links vs Dynamic links
    7. Implementing a Force Upgrade Strategy
    8. State Restoration
    9. Error Handling and Exception Techniques
    10. Feature Flags
  2. 2. Expanding Flutter's Reach
    1. Integrating Flutter with IoT
    2. Game Development using Flutter
    3. Exploring 3D Graphics with Flutter
  3. 3. Dart Server-side
    1. Exploring the Depths of Server-side Dart
    2. Edge Functions with Dart
    3. 4. What's Next?
  4. 4. Enhancing Performance in Flutter
    1. The Importance of Performance in UX
    2. Performance Metrics and Goals
    3. Dart's JIT & AOT Compilation
    4. Flutter Profiling Techniques
    5. Delving into Threading and Concurrency
    6. Performance Best Practices and Pitfalls
    7. The Dangers of Over-Engineering
    8. Conclusion
  5. 5. Optimization (Part 1)
    1. Rendering Optimization Techniques
      • Leveraging const Constructors
      • Minimizing Overdraw
    2. Data Processing Efficiency
      • Adopting Lazy Evaluation
      • Optimal Algorithm and Data Structure Use
    3. Memory Management Best Practices
      • Detecting and Resolving Memory Leaks
    4. Advanced Threading Techniques
      • Working with Isolates
      • Employing the RepaintBoundary Widget
    5. Conclusion
  6. 6. Optimization (Part 2)
    1. Efficient Network Operations
      • Network Data Caching
    2. Optimizing Images and Assets
      • Selecting Optimal Image Formats
      • Asset Compression and Caching
      • Preloading and Deferred Loading Techniques
    3. Reducing App Size and Storage
      • Embracing Tree Shaking
      • ABI-specific APK Reduction
      • Detailed App Size Analysis
      • Code spliting
    4. Conclusion

Flutter Engineering Academy

Se sei convinto, ordina il libro ora, ottenendo automaticamente l'accesso alla newsletter.

Se sei indeciso, ricorda che la newsletter è una risorsa gratuita e di grande valore.

The Essential - eBook

$49 $19.99
USD + local taxes
  • One time purchase
  • Access 5 parts and over 500 pages
  • Digital format only (PDF, ePub)
  • Completed exercises
  • Free premium newsletter subscription
Have question? check out FAQ

Flutter Engineers Newsletter

Unlock your exclusive access to future trainings! Join now for insights and early access to free content! This book is just the beginning!

I'm all about helping you level up and truly shine in your field. Promise, no spam or unnecessary emails.

Domande frequenti

Tutto quello che devi sapere

Cosa significa esattamente "aggiornamento a vita" nel pacchetto mastery?
I libri sono un acquisto una tantum, senza abbonamento ricorrente. Quando acquisti uno qualsiasi dei materiali di formazione, avrai accesso a tutto il contenuto di quel pacchetto per sempre. Anche quando aggiornerò il contenuto, ti invierò una nuova copia!
È un costo mensile?
No e no. Paga una volta, tienili per sempre.
Offrite sconti per studenti?
Certamente! Inviami un'email a [email protected] e dimostrami che sei uno studente, e ti invierò un codice sconto. Che tu frequenti una scuola tradizionale, corsi serali o bootcamp di programmazione, sei coperto!
Il prezzo è troppo alto per me, posso ottenere uno sconto?
Certamente! Sono qui per aiutarti a migliorare, non per guadagnare. Inviami un'email a [email protected] e raccontami perché il prezzo è alto per te e quanto puoi pagare per il pacchetto che stai cercando.
Posso ottenere una fattura?
Certo! Dopo aver effettuato un acquisto, ti invieremo automaticamente una ricevuta via email. Quell'email includerà un link per generare una fattura più dettagliata che può includere i dati della tua azienda, se ne hai bisogno per fini fiscali.
C'è un DRM?
Il libro è completamente privo di DRM! Il mio obiettivo è aiutarti, non complicarti la vita.
Posso aggiornare al pacchetto mastery in seguito?
Assolutamente! Inviami un'email a [email protected] e ci penserò io.
Cosa succede se decido che non fa per me?
Nessun problema! Se cambi idea, inviami un'email a [email protected] entro 15 giorni dall'acquisto, e ti rimborserò completamente, senza fare domande. Tieni presente, tuttavia, che potrebbe esserci una piccola commissione di rimborso dal mio fornitore per coprire i costi di elaborazione del pagamento.
Ho un'altra domanda!
Nessun problema! Inviami un'email a [email protected]
Come posso accedere e vedere i video?
I video di supporto sono attualmente in fase di registrazione e saranno pubblicati ad aprile/maggio 2024. Se ti sei iscritto alla newsletter, tieni d'occhio la tua email per ricevere aggiornamenti.