.NET MAUI for C# Developers: Build cross-platform mobile and desktop applications
- Length: 296 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2023-03-31
- ISBN-10: 1837631697
- ISBN-13: 9781837631698
- Sales Rank: #110502 (See Top 100 Books)
A practical guide to mastering C# and .NET MAUI to build native cross-platform apps with a single codebase
Purchase of the print or Kindle book includes a free PDF eBook
Key Features
- Extend your skills to build cross-platform native apps for iOS, Android, Windows, and Mac
- Learn by working on a real-world project
- Go beyond MAUI and integrate with the .NET ecosystem
Book Description
While UI plays a pivotal role in retaining users in a highly competitive landscape, maintaining the same UI can be tricky if you use different languages for different platforms, leading to mismatches and un-synced pages. In this book, you’ll see how .NET MAUI allows you to create a real-world application that will run natively on different platforms. By building on your C# experience, you’ll further learn to create beautiful and engaging UI using XAML, architect a solid app, and discover best practices for this Microsoft platform.
The book starts with the fundamentals and quickly moves on to intermediate and advanced topics on laying out your pages, navigating between them, and adding controls to gather and display data. You’ll explore the key architectural pattern of Model-View-ViewModel: and ways to leverage it. You’ll also use xUnit and NSubstitute to create robust and reliable code.
By the end of this book, you’ll be well-equipped to leverage .NET MAUI and create an API for your app to interact with a web frontend to the backend data using C#.
What you will learn
- Explore the fundamentals of creating .NET MAUI apps with Visual Studio
- Understand XAML as the key tool for building your user interface
- Obtain and display data using layout and controls
- Discover the MVVM pattern to create robust apps
- Acquire the skills for storing and retrieving persistent data
- Use unit testing to ensure your app is solid and reliable
Who this book is for
Learning .NET MAUI is targeted squarely at C# programmers, whether or not they have experience with cross-platform or mobile applications, who wish to learn Microsoft’s premier platform for building iOS, Android, Windows and Mac apps using a single C#-based solution.
.NET MAUI for C# Developers Foreword Contributors About the authors About the reviewers Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Download a free PDF copy of this book Part 1 – Getting Started Chapter 1: Assembling Your Tools and Creating Your First App Technical requirements Getting and installing Visual Studio Installing Visual Studio Git Opening Visual Studio Quick tour of the app Summary Quiz You try it Chapter 2: What We Will Build: Forget Me Not Technical requirements What is Forget Me Not? Buddies Inviting Buddies Other pages What you’ll learn Summary Chapter 3: XAML and Fluent C# Technical requirements Understanding the structure of XAML The code-behind file Exploring the layout options VerticalStackLayout Image Label Code-behind and event handlers If you can do it in XAML, you can do it in C# C# versus Fluent C# Summary Quiz Try it out Chapter 4: MVVM and Controls Technical requirements Setting up for MVVM Creating folders The MVVM Community Toolkit Exploring views Forget Me Not labels Data binding Creating a public property Setting up BindingContext Assigning values to the View Model class properties Implementing Binding ViewModel versus code-behind Views Images Button properties ImageButton TapGestureRecognizer Entering text Behaviors Popups and dialogs Presenting the user with a choice ActionSheet Displaying a prompt Toast Snackbar BoxView Frame Brushes The Solid brush LinearGradientBrush RadialGradientBrush Summary Quiz You try it Chapter 5: Advanced Controls Technical requirements Keeping the user informed of activity ActivityIndicator ProgressBar Moving event handling to ViewModel Breaking it down Sending and receiving messages Getting started with WeakReferenceMessenger Creating the page in C# Displaying collections Overriding OnAppearing Understanding how the service works Displaying the collection of Preference objects The code-behind Styles Explicit versus implicit styles Style inheritance or BasedOn Summary Quiz You try it Chapter 6: Layout Technical requirements Stack layouts Grid Sizing rows and columns Named rows and columns ScrollView FlexLayout Summary Quiz You try it Part 2 – Intermediate Topics Chapter 7: Understanding Navigation Technical requirements Exploring the TabBar Creating the About and Buddies pages Assembling the About page Shell navigation Routing Passing values from page to page Passing values with the url (?) syntax Passing values with a dictionary Summary Quiz You try it Chapter 8: Storing and Retrieving Data Technical requirements Storing user preferences UserPreferencesViewModel Navigating to UserPreferences Retrieving the preferences Storing to a database on your device Installing SQLite Getting started with SQLite The Database class CRUD Local or remote? Summary Quiz You try it Chapter 9: Unit Testing Technical requirements Why create unit tests? Vote early and vote often Creating unit tests Setting the project reference Creating the first unit test Tweaking the project file Running the test ForgetMeNotDemo unit tests Implementing the triple-A pattern What’s wrong with this test? Mocks Dependency injection Creating an interface Modifying the class constructor The .NET MAUI IoC container Registering your interfaces, services, and ViewModels Using the NSubstitute package Adding NSubstitute to your test fixture Testing corner cases Summary Quiz You try it Part 3 – Advanced Topics Chapter 10: Consuming REST Services Technical requirements Using REST Services The Forget Me Not API architecture Creating the projects Fleshing out the models Examining the API domain objects Reviewing DTOs Other DTO files Understanding ForgetMeNot.APIClient Authentication Profile The Buddy region Using the API Creating the account Modifying the Login page Updating LoginPage The AccountService class Updating LoginViewModel Using AccountService to log in Setting up the Create Account page Setting up CreateAccountViewModel Handling the SignUp command What to do if it won’t build Summary Quiz You try it Chapter 11: Exploring Advanced Topics Technical requirements Selecting data templates at runtime Declaring ItemTemplates as resources The DataTemplate selection The DataTemplateSelector class Adding the template selector to the page’s resources Adding DataTemplateSelector to CollectionView Managing Visual State Defining the common visual states A button VisualState example Utilizing Community Toolkit behaviors Taking action with triggers Summary Quiz You try it Assessments Chapter 1, Assembling Your Tools and Creating Your First App Chapter 3, XAML and Fluent C# Chapter 4, MVVM and Controls Chapter 5, Advanced Controls Chapter 6, Layout Chapter 7, Understanding Navigation Chapter 8, Storing and Retrieving Data Chapter 9, Unit Testing Chapter 10, Consuming REST Services Chapter 11, Exploring Advanced Topics Index Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts Download a free PDF copy of this book
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: .NET MAUI for C# Developers: Build cross-platform mobile and desktop applications
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.