Build for iOS & Android With Flutter!Flutter is an exciting development toolkit that lets you build apps for iOS, Android and even web and desktop, all from a single codebase.
It uses a declarative approach to UI development. You can "hot reload" code while developing, and apps will perform at native speed thanks to its custom rendering engine.
With Flutter and Flutter Apprentice, you can achieve the dream of building fast applications, faster.
Who This Book Is ForThis book is for developers who are new to Flutter, and also developers that already have some experience with building apps for the iOS and Android platforms, or web apps.
Topics Covered in Flutter Apprentice- Widgets: Use Flutter widgets to build modern mobile user interfaces.
- Navigation: Navigate between multiple screens within a Flutter app, including using deep links.
- Networking and Persistence: Fetch data from the network, parse the JSON response and cache data locally in a SQLite database.
- State Management: Explore the all-important idea of state management in Flutter and learn about various state management techniques and tools.
- Streams: Learn about Dart streams and how to use them in Flutter apps.
- Deployment: Learn to prepare and deploy your app to mobile app stores.
One thing you can count on: After reading this book, you’ll be prepared to create and deploy full-featured mobile apps to both the iOS App Store and the Google Play Store, without having to write two separate apps.
Author(s): raywenderlich Tutorial Team, Mike Katz, Kevin David Moore, Vincent Ngo
Publisher: Razeware LLC
Year: 2021
Language: English
Commentary: True PDF
Pages: 615
Book License
What You Need
Book Source Code & Forums
About the Cover
About the Authors
About the Editors
About the Artist
Acknowledgements
Content Development
Introduction
How to read this book
Chapter 1: Getting Started
What is Flutter?
Flutter’s history
The Flutter architecture
What’s ahead
Getting started
Getting the Flutter SDK
Trying it out
Key points
Where to go from here?
Chapter 2: Hello, Flutter
Creating a new app
Making the app yours
Clearing the app
Building a recipe list
Adding a recipe detail page
Key points
Where to go from here?
Chapter 3: Basic Widgets
Getting started
Styling your app
Setting a theme
App structure and navigation
Creating custom recipe cards
Key points
Where to go from here?
Chapter 4: Understanding Widgets
What is a widget?
Unboxing Card2
Rendering widgets
Getting started
Types of widgets
Key points
Where to go from here?
Chapter 5: Scrollable Widgets
Getting started
Introducing ListView
Setting up ExploreScreen
Creating a FutureBuilder
Building Recipes of the Day
Nested ListViews
Creating FriendPostListView
Adding final touches for ExploreScreen
Getting to Know GridView
Building the Recipes screen
Other scrollable widgets
Challenges
Key points
Where to go from here?
Chapter 6: Interactive Widgets
Getting started
Creating the grocery item model
Creating the Grocery screen
Creating the empty Grocery screen
Switching tabs
Managing tab state
Managing the grocery items
Adding new packages
Creating GroceryItemScreen
Creating GroceryTile
Building GroceryTile
Finishing GroceryTile
Saving the user’s work
Creating GroceryListScreen
Adding gestures
Dismissing items with a swipe
Key points
Where to go from here?
Chapter 7: Routes & Navigation
Introducing Navigator
Navigator 1.0 overview
Navigator 1.0’s disadvantages
Navigator 2.0 overview
Navigation and unidirectional data flow
Is Navigator 2.0 always better than Navigator 1.0?
Getting started
Changes to the project files
Looking over the UI flow
Managing your app state
Creating the router
Using your app router
Adding screens
Showing the Splash screen
Displaying the Login screen
Transitioning from Login to Onboarding screen
Transitioning from Onboarding to Home
Handling tab selection
Showing the Grocery Item screen
Navigating to the Profile screen
Navigating to raywenderlich.com
Logging out
Handling the Android system’s Back button
Key points
Where to go from here?
Chapter 8: Deep Links & Web URLs
Understanding deep links
Getting started
Overview of Fooderlich’s paths
Recapping Navigator 2.0
Deep links under the hood
Creating a navigation state object
Creating a route information parser
Connecting the parser to the app router
Converting a URL to an app state
Converting the app state to a URL
Testing deep links
Running the web app
Key points
Where to go from here?
Chapter 9: Shared Preferences
Getting started
Saving data
The shared_preferences plugin
Key points
Where to go from here?
Chapter 10: Serialization With JSON
What is JSON?
Automating JSON serialization
Creating model classes
Key points
Where to go from here?
Chapter 11: Networking in Flutter
Signing up with the recipe API
Using the HTTP package
Connecting to the recipe service
Building the user interface
Key points
Where to go from here?
Chapter 12: Using the Chopper Library
Why Chopper?
Preparing to use Chopper
Preparing the recipe service
Converting request and response
Encoding and decoding JSON
Using interceptors
Generating the Chopper file
Logging requests & responses
Using the Chopper client
Key points
Where to go from here?
Chapter 13: State Management
Architecture
Why you need state management
Widget state
Application state
Managing state in your app
Using Provider
UI Models
Creating the recipe class
Convert data into models to display
Creating a repository
Creating a memory repository
Using a mock service
Other state management libraries
Key points
Where to go from here?
Chapter 14: Streams
Types of streams
Adding streams to Recipe Finder
Sending recipes over the stream
Exercise
Switching between services
Adding streams to Bookmarks
Adding streams to Groceries
Key points
Where to go from here?
Chapter 15: Saving Data With SQLite
Databases
Adding a database to the project
Adding an SQLite repository
Running the app
Using Moor
Key points
Where to go from here?
Chapter 16: Platform Specific App Assets
Setting the app icon
Setting the app’s name
Adding a launch screen
Key points
Where to go from here?
Chapter 17: Build & Release an Android App
Set up for release
Build an app bundle
Uploading to the Google Play Store
Uploading a build
Distribution
Key points
Where to go from here?
Chapter 18: Build & Release an iOS App
Creating the signing
Setting up the App Store
Uploading to the App Store
Sharing builds through TestFlight
Key points
Where to go from here?
Conclusion
Appendix A: Chapter 5 Solution 1
Appendix B: Chapter 5 Solution 2