Have you ever thought of creating beautiful, blazing-fast native apps for iOS and Android from a single codebase? Have you dreamt of taking your native apps to the web and desktop without it costing a fortune? If so, Pragmatic Flutter: Building Cross-Platform Mobile Apps for Android, iOS, Web & Desktop is the right place to start your journey to developing cross-platform apps. Google’s Flutter is the brand-new way for developing beautiful, fluid, and blazing-fast cross-platform apps for Android, iOS, web, and desktops (macOS, Linux, Windows).
Google’s new Fuchsia OS user interface (UI) is implemented using Flutter as well. Learning to develop mobile apps with Flutter opens the door to multiple devices, form-factors, and platforms using a single codebase. You don’t need any prior experience using Dart to follow along in this book; however, it’s recommended that readers have some familiarity with writing code using one of the object-oriented programming languages.
Your journey starts with learning to structure and organize the Flutter project to develop apps for multiple platforms. Next, you will explore the fundamentals of Flutter widgets. The journey continues with Flutter’s layout widgets while also learning to build responsive layouts. You will get an understanding of organizing and applying themes and styles, handling user input, and gestures. Then you will move on to advanced concepts, such as fetching data over the network and integrating and consuming REST API in your app. You will get hands-on experience on design patterns, data modeling, routing, and navigation for multi-screen apps. When you are finished, you will have a solid foundational knowledge of Flutter that will help you move on to building great and successful mobile apps that can be deployed to Android, iOS, web, and desktop (macOS, Linux, Windows) platforms from a single codebase.
Table of Contents
1. Dart Fundamentals: A Quick Reference to Dart 2
2. Introduction to Flutter
3. Setting Up Environment
4. Flutter Project Structure
5. Flutter App Structure
6. Flutter Widgets
7. Building Layouts
8. Responsive Interfaces
9. Building User Interface for BooksApp
10. Flutter Themes
11. Persisting Data
12. Integrating REST API
13. Data Modeling
14. Navigation and Routing
15. The Second Page – BookDetailsPage Widget
16. Introduction to State Management
18. Provider and ChangeNotifier
19. BLoC Design Pattern
20. Unit Testing
21. Widget Testing
22. Integration Testing
23. Rolling into the World
Priyanka Tyagi has over 13 years of experience designing and developing software, web and mobile systems for a diverse range of industries from automobile and e-commerce to entertainment and EdTech. Her expertise lies in Flutter, Dart, Android, Firebase, Mobile SDKs, AWS/Google cloud-based solutions, cross-platform apps and game-based learning. Priyanka earned her M.S. in Computer Science from Illinois Institute of Technology, Chicago, IL. In the past, she led the Android team at Disney Interactive, and contributed significantly to Disney wide core-platform services. As CTO at Zapptitude Inc, she helped build cloud-based Assessment as a Service (ASAS) platform for game/app based learning. Now, she works as a freelance Software Engineering Consultant. In her free time she likes to volunteer her time in local public schools to introduce computer science to young minds.