Flutter in Action

Book description

Flutter in Action teaches you to build professional-quality mobile applications using the Flutter SDK and the Dart programming language. You’ll begin with a quick tour of Dart essentials and then dive into engaging, well-described techniques for building beautiful user interfaces using Flutter’s huge collection of built-in widgets. The combination of diagrams, code examples, and annotations makes learning a snap. As you go, you’ll appreciate how the author makes easy reading of complex topics like routing, state management, and async programming.

Table of contents

  1. Copyright
  2. Brief Table of Contents
  3. Table of Contents
  4. Foreword
  5. Preface
  6. Acknowledgments
  7. About This Book
  8. About the Author
  9. About the Cover Illustration
  10. Part 1. Meet Flutter
    1. Chapter 1. Meet Flutter
      1. 1.1. Why does Flutter use Dart?
      2. 1.2. On Dart
      3. 1.3. Who uses Flutter?
      4. 1.4. Who should be using Flutter?
      5. 1.5. Who this book is for
      6. 1.6. Other mobile development options
      7. 1.7. The immediate benefits of Flutter
      8. 1.8. Future benefits of Flutter: Web apps and desktop apps
      9. 1.9. A brief intro to how Flutter works
      10. 1.10. Flutter rendering: Under the hood
      11. 1.11. Final note
      12. Summary
    2. Chapter 2. A brief intro to Dart
      1. 2.1. Hello, Dart!
      2. 2.2. Common programming concepts in Dart
      3. 2.3. Control flow
      4. 2.4. Functions
      5. 2.5. Object-oriented programming (in Dart)
      6. Summary
    3. Chapter 3. Breaking into Flutter
      1. 3.1. Intro to the counter app
      2. 3.2. Widgets: The widget tree, widget types, and the State object
      3. 3.3. BuildContext
      4. 3.4. Enhancing the counter app with the most important widgets
      5. 3.5. Favor composition in Flutter (over inheritance)
      6. 3.6. Intro to layout in Flutter
      7. 3.7. The element tree
      8. 3.8. A final note
      9. Summary
  11. Part 2. Flutter user interaction, styles, and animations
    1. Chapter 4. Flutter UI: Important widgets, themes, and layout
      1. 4.1. Setting up and configuring a Flutter app
      2. 4.2. Structural widgets and more configuration
      3. 4.3. Styling and themes in Flutter
      4. 4.4. Common layout and UI widgets
      5. 4.5. ListView and builders
      6. Summary
    2. Chapter 5. User interaction: Forms and gestures
      1. 5.1. User interaction and gestures
      2. 5.2. Flutter forms
      3. 5.3. FormField widgets
      4. 5.4. Form UI and working with focus nodes
      5. 5.5. Managing form state with form methods
      6. Summary
    3. Chapter 6. Pushing pixels: Flutter animations and using the canvas
      1. 6.1. Introducing Flutter animations
      2. 6.2. CustomPainter and the canvas
      3. 6.3. Staggered animations, TweenSequence, and built-in animations
      4. 6.4. Reusable custom color transition widgets
      5. Summary
  12. Part 3. State management and asynchronous Dart
    1. Chapter 7. Flutter routing in depth
      1. 7.1. Routing in Flutter
      2. 7.2. Declarative routing and named routes
      3. 7.3. Routing on the fly
      4. 7.4. Routing animations
      5. Summary
    2. Chapter 8. Flutter state management
      1. 8.1. Deep dive into StatefulWidgets
      2. 8.2. Pure Flutter state management: The InheritedWidget
      3. 8.3. Blocs: Business Logic Components
      4. Summary
    3. Chapter 9. Async Dart and Flutter and infinite scrolling
      1. 9.1. Async Dart
      2. 9.2. Sinks and streams (and StreamControllers)
      3. 9.3. Using streams in blocs
      4. 9.4. Async Flutter: StreamBuilder
      5. 9.5. Infinite and custom scrollable widgets
      6. Summary
  13. Part 4. Beyond foundations
    1. Chapter 10. Working with data: HTTP, Firestore, and JSON
      1. 10.1. HTTP and Flutter
      2. 10.2. JSON serialization
      3. 10.3. Working with Firebase in Flutter
      4. 10.4. Dependency injection
      5. Summary
    2. Chapter 11. Testing Flutter apps
      1. 11.1. Tests in Flutter
      2. 11.2. Accessibility with the semantics widgets
      3. 11.3. Next steps with Flutter
      4. Summary
  14. Appendix A. Installation: Dart2
    1. A.1. Installation: Dart2
    2. A.2. Installation: Flutter SDK
    3. A.3. Tooling and a quick note on text editors
    4. A.4. DartPad
  15. Appendix B. The Pub package manager
    1. B.1. Hosted packages and versioning with Pub
    2. B.2. Using packages on your machine or from GitHub
    3. B.3. Using the packages
  16. Appendix C. Flutter for web developers
    1. C.1. The good news first
    2. C.2. How is layout handled in Flutter? Is there a flexbox equivalent?
    3. C.3. What about using an absolute position?
    4. C.4. What about the basics: Borders, padding, margin, and color?
    5. C.5. Manipulating text style
    6. C.6. Global styles
  17. Appendix D. Flutter for iOS developers
    1. D.1. What’s the equivalent of UIView in Flutter?
    2. D.2. What’s the paradigm or mental model difference?
    3. D.3. Can I build an app that uses iOS design patterns?
    4. D.4. How to I make complex layouts like UITableView?
    5. D.5. What’s similar to Storyboard?
    6. D.6. How do you draw to the screen?
    7. D.7. How do I add dependencies (like Cocoa Pods)?
    8. D.8. How do I interact with the device and use native APIs?
    9. D.9. Is there an equivalent to CoreData?
  18. Appendix E. Flutter for Android developers
    1. E.1. What’s the equivalent of a view in Flutter?
    2. E.2. What’s the paradigm or mental model difference?
    3. E.3. Where’s the XML layout file?
    4. E.4. How do I draw to the screen?
    5. E.5. What’s the equivalent of an intent in Flutter?
    6. E.6. What’s the equivalent of runOnUiThread() in Flutter?
    7. E.7. What’s the equivalent of a Gradle file? How do I add dependencies?
    8. E.8. What’s the equivalent of a LinearLayout? What about ScrollView?
    9. E.9. How do I access shared preferences or SQLite?
  19. Index
  20. List of Figures
  21. List of Tables
  22. List of Listings

Product information

  • Title: Flutter in Action
  • Author(s): Eric Windmill
  • Release date: January 2020
  • Publisher(s): Manning Publications
  • ISBN: 9781617296147