Learning .NET MAUI: Unlock the potential of .NET MAUI for Cross-Platform app development
9789355518804
A practical guide to cross-platform app development with .NET MAUI and C#
Key Features ● Get familiar with .NET MAUI, i
156
63
8MB
English
Pages 429
Year 2023
Report DMCA / Copyright
DOWNLOAD EPUB FILE
Table of contents :
Cover Page
Title Page
Copyright Page
Dedication
About the Author
About the Reviewer
Acknowledgements
Preface
Table of Contents
1. Introduction to Flutter
Introduction
Structure
Objectives
An Abridged History of Apps
The History of Multi-Platform App Development
A New Multi-Platform App Development Solution
The Rapid Development of Flutter
Why Developers Are Flocking to Flutter
Looking Forward
Conclusion
References
2. Market Opportunities for Flutter Developers
Introduction
Structure
Objectives
The Growth of Flutter in the Marketplace
Who is Using Flutter, and What are They Using it for?
Case Study: Alibaba
Case Study: BMW
Case Study: ByteDance
Case Study: eBay
Case Study: Toyota
Case Study: Google
Conclusion
References
3. Installing Flutter and Configuring Your IDE
Introduction
Structure
Objectives
Tools
Getting Started on Windows
Getting Started on macOS
Additional Information for Devices with Apple Silicon (M1, M2, and so on)
Installing and Configuring Visual Studio Code
Building and Running Your First Flutter Application
Conclusion
Further Reading
4. Introduction to Widgets
Introduction
Structure
Objectives
Briefly Exploring the Default Flutter Application
What is a Widget and How is it Drawn to the Screen?
Stateless Widgets
Creating a Custom Stateless Widget
Stateful Widgets
Inherited Widgets
Introduction to BuildContext
Conclusion
Questions
Key Terms
Further Reading
5. Handling User Input
Introduction
Structure
Objectives
Buttons
Capturing Text Input
Pickers, Selectors, and Dropdowns
Radios, Checkboxes, Switches, and Segmented Controls
Sliders
Forms and FormFields
Building a Simple Signup Form
Conclusion
Questions
Key Terms
Further Reading
6. Using 3rd Party Libraries and External Assets
Introduction
Structure
Objectives
Introduction to pubspec.yaml
Adding Images and Other Assets to Your Application
Introduction to the Pub Package Management System
Finding Useful Packages on Pub
Using a Package to Play Audio
Popular Pub packages
Conclusion
Questions
Key Terms
Command Reference
Further Reading
7. Working with APIs and Asynchronous Operations
Introduction
Structure
Objectives
Welcome to the Future
Requesting Data From an API
Classifying API Responses
Sending Data to an API
Flutter’s Asynchronous Widgets
Sinks and Streams
Conclusion
Questions
Key Terms
Further Reading
8. Navigation and Routing
Introduction
Structure
Objectives
General Discussion of Navigation and Routing Concepts
Introduction to Navigator 1.0
Routing Using Named Routes
Passing Arguments into a Route
Returning Data from a Screen
Animating Widget from One Route to Another
Introduction to Navigator 2.0 — the Router API
Using Packages to Help with Routing
Conclusion
Questions
Key Terms
Further Reading
9. State Management and the BLoC
Introduction
Structure
Objectives
Ephemeral Versus App State
Some Prep Work Before We Begin
A Brief Aside to Explain Some New Concepts
Using Inherited Widgets to Manage App State
Using Provider to Manage App State
Using BLoC’s Cubit to Manage App State
Using BLoC to Manage App State
Conclusion
Questions
Key Terms
Further Reading
10. Reactivity and Platform-Specific Considerations
Introduction
Structure
Objectives
Building Responsive Layouts
Benefits and Limitations of dart:io
App Icons and Splash Screens
Material, Cupertino, Yaru, and Fluent UI (oh my!)
Platform-Specific Navigation Paradigms
Using Packages to Build Cross-Platform UIs
Conclusion
Questions
Further Reading
11. Debugging, Troubleshooting, and Performance Considerations
Introduction
Structure
Objectives
Debugging and Troubleshooting Concepts
Logging Output to the Debug Console
Setting Breakpoints and Exploring Runtime Variables
Handling Exceptions
Introduction to Flutter’s DevTools
Defining Performance Issues
Exploring Profile Mode
When a ListView is not a ListView
Optimizing Widgets
Conclusion
Questions
Key Terms
12. Creating Your First Application
Introduction
Structure
Objectives
About the Application
Understanding the Technical Requirements
Building the Skeleton of Your Application
The WeatherIcon Class
Code Generation
Building the API Layer
Finishing the application
Conclusion
Questions
Key Terms
Command Reference
Further Reading
References
13. Finding Flutter Jobs
Introduction
Structure
Objectives
How to Hack the System and Make the Jobs Come to You
Question and Answer Time with Top Flutter Recruiters
Conclusion
14. Preparing for and Succeeding in the Job Interview
Introduction
Structure
Objectives
The Interview Process, Start to Finish
What to Expect During a Technical Interview
The Culture Fit Interview: Evaluating a Company and Being Evaluated
Negotiating Compensation
Answering Some Interview Questions
Conclusion
15. Your Road Ahead
Introduction
Structure
Objective
How to Prepare for Your New Job
Tips for Collaboration with Other Developers
Additional Skills You’ll Need to Seek Out
Suggestions for Furthering Your Career
Conclusion
Flutter Community Links
Index