Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Flutter und Dart

Das umfassende Handbuch für die professionelle App-Entwicklung

(Autor)

Buch | Hardcover
651 Seiten
2021 | 1. Auflage
Rheinwerk (Verlag)
978-3-8362-8146-1 (ISBN)

Lese- und Medienproben

Flutter und Dart - Marc Marburger
CHF 55,85 inkl. MwSt
  • Von Hello World bis zu komplexen Apps für Android und iOS
  • Inkl. Cloud- und Datenbankanbindung, Deployment, Accessibility, Unit Tests u.v.m.
  • Praxistipps zu Layout, Performanz und Design

App-Entwicklung effizient und elegant

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 Produktivitätstools 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. Marc Marburger stellt Ihnen das Framework und die Sprache Dart mit all ihren Stärken vor, führt Sie in alle wichtigen Konzepte ein und vergisst dabei nicht, auf Fallstricke hinzuweisen. Mit vielen Beispielen, konkreten Praxistipps und Sinn für die wichtigen Details.

Einstieg in Flutter und in Dart
Alles, was Sie für den Einstieg brauchen, finden Sie hier. Ob es um die Installation geht, den Aufbau des Frameworks oder die Syntax von Dart. So können Sie unabhängig von Ihren Vorkenntnissen zügig loslegen.

Von Anfang an professionell
Lernen Sie von Anfang an, Dart und Flutter auf professionelle Weise zu nutzen. Freuen Sie sich auf Best Practices und erprobte Anleitungen für anspruchsvolle Features. Sehen Sie auch, wie Sie den Entwicklungs-Workflow effizient gestalten.

Viele Praxistipps und Details
Marc Marburger geht für Sie ins Detail, zeigt mögliche Stolperfallen auf und erläutert wichtige Konzepte – und zwar immer im Zusammenhang und anhand vieler konkreter Beispiele. So profitieren Sie von seiner Praxiserfahrung und gehen Ihre eigenen Projekte gut gerüstet an.

Features, die begeistern
Deklarative GUIs, Hot Reload, Null-Safety, Futures, native Widgets, die Rendering Pipeline – diese Features bedeuten Produktivitätsschub, flexibles Arbeiten und Konzentration auf die Qualität Ihrer Apps. Erleben Sie es selbst!

Aus dem Inhalt:
Installation und Werkzeuge
Widgets, Themes und Styles
Features: Null-Safety, Navigation 2.0 u. v. m.
Hot Reload und effiziente Workflows
Flutter Modules
Performance und Best Practices
Native C-Schnittstellen
Unit- und Widget-Tests
Logging und Analytics
Cloud-Schnittstellen am praktischen Beispiel

Marc Marburger hat langjährige Erfahrung in der App- und Softwareentwicklung. Angefangen hat er nach dem Abschluss in Informatik mit C++ und Assembler in der Industrieautomatisierung. Plattformübergreifende Apps beschäftigen ihn seit 2012, von C# auf der Windows-Plattform über Xamarin kommend liegt sein Fokus nun auf Dart und Flutter, die er täglich als freiberuflicher Softwareentwickler in Kundenprojekten einsetzt.



Materialien zum Buch ... 18


TEIL I. Einführung ... 19


1. Über dieses Buch ... 21


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

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

1.3 ... Danksagung ... 24



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


2.1 ... Flutter herunterladen und installieren ... 25

2.2 ... Die Wahl der IDE ... 29

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



3. Warum man mit Dart voll ins Schwarze trifft ... 37


3.1 ... Der Ursprung von Dart ... 37

3.2 ... Ein erstes Dart-Programm ... 39

3.3 ... Wichtige Begleiter ... 41

3.4 ... Variablen ... 42

3.5 ... Datentypen ... 47

3.6 ... Funktionen ... 65

3.7 ... Klassen, Mixins und Enums ... 79

3.8 ... Generika ... 112

3.9 ... Collections ... 116

3.10 ... Kontrollstrukturen ... 133

3.11 ... Exceptions und Errors ... 141

3.12 ... Asynchrone Programmierung ... 145

3.13 ... Die Library ... 155

3.14 ... Struktur eines Projekts ... 157

3.15 ... Dokumentation des Codes ... 159

3.16 ... Null-Safety ... 160

3.17 ... Zusammenfassung ... 169



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


4.1 ... Von der Library zum Package ... 171

4.2 ... Ein Meer aus pubs ... 172

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

4.4 ... Packages verwenden ... 173

4.5 ... Versionen ... 177

4.6 ... Der System Cache ... 180

4.7 ... Der Build Runner ... 181

4.8 ... Zusammenfassung ... 181



TEIL II. Bedienoberflächen ... 183


5. Widgets ... 185


5.1 ... Ein erstes Widget ... 186

5.2 ... Stateful Widgets ... 197

5.3 ... Material Design und Cupertino Design ... 214

5.4 ... Vom Widget zum Rendering Object ... 218

5.5 ... Keys ... 221

5.6 ... Zusammenfassung ... 227



6. Layouting ... 229


6.1 ... Positionierung ... 229

6.2 ... Scroll-Widgets ... 254

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

6.4 ... MediaQueryData ... 292

6.5 ... Overlay ... 297

6.6 ... Die Gerüste ... 307

6.7 ... Zusammenfassung ... 318



7. Navigation ... 319


7.1 ... Ein erster Sprung ... 319

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

7.3 ... Eine Route austauschen ... 325

7.4 ... Routen entfernen ... 327

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

7.6 ... NavigatorObserver ... 328

7.7 ... Daten austauschen ... 330

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

7.9 ... Routen als URIs ... 334

7.10 ... Verschachtelte Navigator-Objekte ... 334

7.11 ... Navigator 2.0 ... 336

7.12 ... Zusammenfassung ... 355



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


8.1 ... Ein InheritedWidget ... 357

8.2 ... Das eigene InheritedWidget: TimeInfo ... 358

8.3 ... Zusammenfassung ... 361



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


9.1 ... Der BloC ... 363

9.2 ... BloC und ValueListenable ... 364

9.3 ... ChangeNotifier ... 368

9.4 ... Streams ... 371

9.5 ... Futures ... 379



10. Mit dem Nutzer interagieren ... 383


10.1 ... Button, TextField und Co ... 383

10.2 ... Wischen, Schieben und Ziehen ... 405

10.3 ... Dialogs und die Snackbar ... 413



11. Themes und Styles ... 419


11.1 ... BoxDecoration ... 419

11.2 ... Clipping ... 423

11.3 ... Text ... 427

11.4 ... ThemeData und CupertinoThemeData ... 430

11.5 ... Effekte durch Widgets ... 431



12. Animationen ... 435


12.1 ... Implizite Animationen ... 435

12.2 ... Tween-Animationen ... 440

12.3 ... Explizite Animationen ... 443

12.4 ... AnimatedWidget und der AnimatedBuilder ... 448



13. Arbeiten mit Canvas und Paint ... 453


13.1 ... CustomPaint und CustomPainter ... 453

13.2 ... Zusammenfassung ... 461



TEIL III. Inhalte und Accessibility ... 463


14. Assets und Medien ... 465


14.1 ... Bilder ... 465

14.2 ... Icons ... 471

14.3 ... Videos ... 474

14.4 ... Schriften ... 474

14.5 ... Textressourcen ... 476



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


15.1 ... Localization ... 479

15.2 ... Accessibility ... 500

15.3 ... Zusammenfassung ... 511



16. Die Cloud: Unendliche Weiten ... 513


16.1 ... Daten mit GET beziehen ... 514

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

16.3 ... POST, PUT und PATCH ... 519

16.4 ... Delete ... 527

16.5 ... Mehr zu Requests ... 528

16.6 ... Das Package dio ... 531

16.7 ... JSON-Serialisierung und -Deserialisierung ... 539

16.8 ... Die Webview ... 544

16.9 ... Zusammenfassung ... 563



17. Persistieren: Caches und Datenbanken ... 565


17.1 ... shared_preferences ... 565

17.2 ... flutter_cache_manager ... 569

17.3 ... Datenbanken ... 574

17.4 ... Zusammenfassung ... 587



TEIL IV. Sensoren und Hardware ... 589


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


18.1 ... Geräteinformationen ... 591

18.2 ... Bewegungssensoren und Batterie ... 593

18.3 ... Verbindungsdaten ... 595

18.4 ... Berechtigungen ... 595

18.5 ... Kamera und Fotobibliothek ... 597

18.6 ... Standortbestimmung ... 598

18.7 ... Zusammenfassung ... 599



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


19.1 ... Method Channels ... 602

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

19.3 ... Hybride Apps ... 612



TEIL V. Endgame ... 621


20. Analytics, Tests und Releases ... 623


20.1 ... Logging ... 623

20.2 ... Analytics ... 625

20.3 ... Debugging ... 625

20.4 ... Profiling ... 628

20.5 ... Testing ... 629

20.6 ... Releases ... 640



Index ... 645

»Begonnen wird mit einer vollwertigen Einführung in Dart. Mit "Pubs" und "Widget" wird dann in Flutter eingeführt. [...] Reichlich Einsatz von Code-Listings und Screenshots. Für die (kleine) Zielgruppe auch sprachlich-didaktisch eine gute Darstellung.« EKZ-Informationsdienst 202109

»Begonnen wird mit einer vollwertigen Einführung in Dart. Mit "Pubs" und "Widget" wird dann in Flutter eingeführt. [...] Reichlich Einsatz von Code-Listings und Screenshots. Für die (kleine) Zielgruppe auch sprachlich-didaktisch eine gute Darstellung.«

Erscheinungsdatum
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Mobile- / App-Entwicklung
Schlagworte Android • App-Entwicklung • apps entwickeln • Apps programmieren • DART • Flutter • Hand-Buch Bücher Wissen Lernen Kurse Seminare Beruf Ausbildung Studium Tutorials Workshops • Ios • Performance • plattformübergreifend • Release • Software-Entwicklung • Unit-Tests
ISBN-10 3-8362-8146-5 / 3836281465
ISBN-13 978-3-8362-8146-1 / 9783836281461
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Roman

von Marlo Morgan

Buch | Softcover (1998)
Goldmann (Verlag)
CHF 15,90