Flutter und Dart - Das umfassende Handbuch für die professionelle App-Entwicklung - Ausgabe 2025

Gebundene Ausgabe
49,90 €
inkl. MwSt. versandkostenfrei!

Produktdetails  
Verlag Rheinwerk Verlag
Auflage 2. Auflage, 08.07.2025
Seiten 633
Format 18,0 x 3,4 x 24,5 cm
Gewicht 1302 g
ISBN-10 336710972X
ISBN-13 9783367109722
Bestell-Nr 36710972A

Produktbeschreibung  

Wenn es um plattformübergreifende App-Entwicklung geht, macht Flutter Träume wahr: GUI-Bibliotheken, die das beste aus der Android- und der iOS-Welt flexibel zur Auswahl stellen, starke Tools und moderne Sprachfeatures - erleben Sie selbst, wie produktiv und elegant sich damit arbeiten lässt. Hier finden Sie alles, was Sie für den Einstieg und die professionelle Programmierung brauchen. Lernen Sie das Framework Flutter und die Sprache Dart mit all ihren Stärken kennen. Die Autoren führen in alle wichtigen Konzepte ein und vergessen dabei nicht, auf Fallstricke hinzuweisen. Mit vielen Beispielen, konkreten Praxistipps und Sinn für die wichtigen Details.



Aus dem Inhalt:



  • Installation und Werkzeuge

  • Abhängigkeiten verwalten

  • Widgets, Themes und Styles

  • Hot Reload und effiziente Workflows

  • Lokalisierung und Barrierefreiheit

  • Releases für iOS und Android

  • Flutter Modules, Natives einbetten und C-Schnittstellen

  • Unit-Tests, Widgets testen

  • Logging und Analytics


Inhalt:



  Materialien zum Buch ... 19


TEIL I.  Einführung ... 21


  1.  Über dieses Buch ... 23


       1.1 ... Was Sie in diesem Buch lernen werden ... 24

       1.2 ... Null-Safety als Default-Einstellung ab Flutter 2.2 ... 26

       1.3 ... Danksagung ... 26



  2.  Installation und die Wahl der IDE ... 27


       2.1 ... Flutter herunterladen und installieren ... 27

       2.2 ... Die Wahl der IDE ... 31

       2.3 ... Die Flutter-Installation voll im Griff ... 36



  3.  Warum Sie mit Dart voll ins Schwarze treffen ... 39


       3.1 ... Der Ursprung von Dart ... 40

       3.2 ... Ein erstes Dart-Programm ... 41

       3.3 ... Wichtige Begleiter ... 43

       3.4 ... Variablen ... 44

       3.5 ... Datentypen ... 48

       3.6 ... Funktionen ... 66

       3.7 ... Klassen, Mixins und Enums ... 77

       3.8 ... Generika ... 108

       3.9 ... Collections ... 111

       3.10 ... Kontrollstrukturen ... 127

       3.11 ... Exceptions und Errors ... 134

       3.12 ... Asynchrone Programmierung ... 138

       3.13 ... Die Library ... 147

       3.14 ... Ein Projekt strukturieren ... 149

       3.15 ... Code dokumentieren ... 150

       3.16 ... Null-Safety ... 152

       3.17 ... Zusammenfassung ... 156



  4.  Pubs: Abhängigkeiten komfortabel verwalten ... 159


       4.1 ... Von der Library zum Package ... 159

       4.2 ... Ein Meer aus pubs ... 160

       4.3 ... Wo Licht ist, da fällt auch Schatten ... 160

       4.4 ... Packages verwenden ... 162

       4.5 ... Versionen ... 166

       4.6 ... Der System-Cache ... 169

       4.7 ... Der Build Runner ... 169

       4.8 ... Zusammenfassung ... 170



TEIL II.  Bedienoberflächen ... 171


  5.  Widgets ... 173


       5.1 ... Ein erstes Widget ... 174

       5.2 ... Stateful Widgets ... 182

       5.3 ... Material Design und Cupertino Design ... 194

       5.4 ... Vom Widget zum Rendering Object ... 197

       5.5 ... Keys ... 201

       5.6 ... Zusammenfassung ... 205



  6.  Layouting ... 207


       6.1 ... Positionierung ... 207

       6.2 ... Scroll-Widgets ... 231

       6.3 ... Constraints, Höhen und Breiten ... 259

       6.4 ... MediaQueryData ... 267

       6.5 ... Overlay ... 273

       6.6 ... Die Gerüste ... 283

       6.7 ... Zusammenfassung ... 294



  7.  Navigation ... 295


       7.1 ... Ein erster Sprung ... 295

       7.2 ... Wenn Flutter nach dem Weg fragt: Named Routes ... 299

       7.3 ... Eine Route austauschen ... 301

       7.4 ... Routen entfernen ... 303

       7.5 ... Großflächig aufräumen mit push und pop ... 304

       7.6 ... NavigatorObserver ... 304

       7.7 ... Daten austauschen ... 305

       7.8 ... Den Android-Back-Button zähmen ... 308

       7.9 ... Routen als URIs ... 309

       7.10 ... Verschachtelte Navigator-Objekte ... 309

       7.11 ... Navigator 2.0 ... 311

       7.12 ... Zusammenfassung ... 329



  8.  Früchte am Baum: InheritedWidgets ... 331


       8.1 ... Ein InheritedWidget ... 331

       8.2 ... Das eigene InheritedWidget: TimeInfo ... 332

       8.3 ... Zusammenfassung ... 335



  9.  BloCs: View Logic aus dem Weg räumen ... 337


       9.1 ... Der BloC ... 337

       9.2 ... BloC und ValueListenable ... 338

       9.3 ... ChangeNotifier ... 342

       9.4 ... Streams ... 345

       9.5 ... Futures ... 352

       9.6 ... Frische Pizza mit flutter_bloc ... 355

       9.7 ... Zusammenfassung ... 358



10.  Mit dem Nutzer interagieren ... 359


       10.1 ... Button, TextField und Co ... 359

       10.2 ... Wischen, Schieben und Ziehen ... 380

       10.3 ... Dialogs und die Snackbar ... 387



11.  Themes und Styles ... 395


       11.1 ... BoxDecoration ... 395

       11.2 ... Clipping ... 399

       11.3 ... Text ... 403

       11.4 ... ThemeData und CupertinoThemeData ... 406

       11.5 ... Effekte durch Widgets ... 406



12.  Animationen ... 411


       12.1 ... Implizite Animationen ... 411

       12.2 ... Tween-Animationen ... 416

       12.3 ... Explizite Animationen ... 419

       12.4 ... AnimatedWidget und der AnimatedBuilder ... 424



13.  Arbeiten mit Canvas und Paint ... 429


       13.1 ... CustomPaint und CustomPainter ... 429

       13.2 ... Zusammenfassung ... 437



TEIL III.  Assets und Medien ... 439


14.  Assets und Medien ... 441


       14.1 ... Bilder ... 441

       14.2 ... Icons ... 446

       14.3 ... Videos ... 450

       14.4 ... Schriften ... 452

       14.5 ... Textressourcen ... 453

       14.6 ... Zusammenfassung ... 455



15.  Den Nutzerkreis vergrößern: Localization und Accessibility ... 457


       15.1 ... Localization ... 457

       15.2 ... Accessibility ... 475

       15.3 ... Zusammenfassung ... 486



16.  Die Cloud: Unendliche Weiten ... 487


       16.1 ... Daten mit GET beziehen ... 488

       16.2 ... Ein eigener (HTTP-)Client ... 489

       16.3 ... POST, PUT und PATCH ... 493

       16.4 ... Delete ... 500

       16.5 ... Mehr zu Requests ... 502

       16.6 ... Das Package dio ... 505

       16.7 ... JSON-Serialisierung und -Deserialisierung ... 512

       16.8 ... Die Webview ... 517

       16.9 ... Zusammenfassung ... 532



17.  Persistieren: Caches und Datenbanken ... 533


       17.1 ... shared_preferences ... 534

       17.2 ... flutter_cache_manager ... 538

       17.3 ... Datenbanken ... 542

       17.4 ... NoSQL mit Hive CE ... 554

       17.5 ... Eine wirklich nützliche Beispiel-App ... 556

       17.6 ... Zusammenfassung ... 567



TEIL IV.  Sensoren und Hardware ... 569


18.  Mit der Außenwelt kommunizieren ... 571


       18.1 ... Geräteinformationen ... 571

       18.2 ... Bewegungssensoren und Batterie ... 573

       18.3 ... Verbindungsdaten ... 574

       18.4 ... Berechtigungen ... 575

       18.5 ... Kamera und Fotobibliothek ... 576

       18.6 ... Standortbestimmung ... 577

       18.7 ... Zusammenfassung ... 579



19.  Den Kanal wechseln: Channels zur Plattform ... 581


       19.1 ... Method Channels ... 582

       19.2 ... Foreign Function Interface (FFI) ... 588

       19.3 ... Hybride Apps ... 592



TEIL V.  Endgame ... 601


20.  Analytics, Tests und Releases ... 603


       20.1 ... Logging ... 603

       20.2 ... Analytics ... 605

       20.3 ... Debugging ... 605

       20.4 ... Profiling ... 607

       20.5 ... Testing ... 609

       20.6 ... Releases ... 620

       20.7 ... Zusammenfassung ... 624



  Index ... 625

Autorenporträt  
Mehr Angebote zum Thema