GithubHelp home page GithubHelp logo

maui-projects-3rd-edition's Introduction

.NET MAUI Projects

This is the code repository for .NET MAUI Projects, published by Packt.

Build multi-platform desktop and mobile apps from scratch using C# and Visual Studio 2022

What is this book about?

.NET MAUI is a lightweight multi-platform development toolkit for building apps with a rich user interface. This third edition covers the latest features of .NET MAUI, including CollectionView and Shell, along with interesting concepts such as augmented reality (AR), machine learning, and cloud services.

This book covers the following exciting features:

  • Set up .NET MAUI to build native apps for multiple platforms using single project capabilities
  • Understand the core aspects of developing a mobile app, such as layout, UX, and rendering
  • Use custom renderers to gain platform-specific access
  • Discover how to create custom layouts for your apps with .NET MAUI Shell
  • Use Azure SignalR to implement serverless services in your .NET MAUI apps
  • Create a .NET MAUI Blazor application leveraging the power of web technologies
  • Build and train machine learning models using ML.NET, and Azure Cognitive Services

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions and Navigations

All of the code is organized into folders.

Following is what you need for this book: This book is for C# and .NET developers who want to learn .NET MAUI and get started with native .NET Core mobile application development from the ground up. Working knowledge of Visual Studio and C# will help you to get the most out of this book.

With the following software and hardware list you can run all code files present in the book (Chapter 1-12).

Software and Hardware List

Chapter Software required OS required
1-12 Visual Studio Code or Visual Studio 2022 Windows, Mac OS X, and Linux (Any)
1-12 .Net Windows, Mac OS X, and Linux (Any)

Related products

Get to Know the Authors

Michael Cummings is a Senior Development Engineer with Microsoft. He currently works on the Visual Studio tooling for building WPF, Xamarin.Forms, and .NET MAUI apps. He has experience as a developer and architect with concentrations in app development, design, deployment, and business process as it relates to technology. Michael has been a graphics and game programmer since the days of the TI99-4/A. He started the Boston XNA Developers Group. He has contributed to many open-source projects, including AXIOM, a .NET/Mono 3D rendering engine, and Planeshift, a 3D MMORPG. Michael also has experience with native game and graphics development (C++/DirectX) on Windows. Michael lives in Lexington, MA with his wife and their dog. When not working with technology he enjoys watching movies, trying out new recipes, and the occasional game of full-contact racquetball.

Daniel Hindrikes is a developer and architect with a passion for developing mobile apps powered by the cloud. Daniel fell in love with Xamarin in the early days of Xamarin when he realized that he could use C# even for iOS and Android apps and that he could share code with the Windows apps he was also building. But Daniel started to build mobile apps long before that, working on Android apps with Java and even Java ME apps (a long, long time ago). Daniel enjoys sharing his knowledge and can be found speaking at conferences, blogging, or recording the podcast, The Code Behind. Daniel works at the company tretton37 in Sweden and has experience working with both local and global customers.

Johan Karlsson has been working with Xamarin since the days of MonoTouch and Mono for Android, and it all started with writing a game. He is a full-stack developer, currently focusing on mobile applications using Xamarin, but has in the past worked a lot with ASP.NET MVC, Visual Basic.NET (not proud), and C# in general. Also, he's created a whole bunch of databases in SQL Server over the years. Johan works at tretton37 in Sweden and has about 20 years of experience in the trade of assembling ones and zeros.

maui-projects-3rd-edition's People

Contributors

borrillis avatar bsingha27 avatar markdsouzapackt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

maui-projects-3rd-edition's Issues

Chapter 6 "GalleryApp" PhotoImporter implementation class does not compile

Hello, thanks for your book, I came across Chapter 6, GalleryApp, and when writing the code for the PhotoImporter implementation class it would not compile, I got the following 3 errors:

  1. Partial method "PhotoImporter.Import()" must have an implementation part because it has accessibility modifier.

  2. part of method 'PhotoImporter.Get(int, int, Quality)' must have an implementation part because it has accessibility modifier.

  3. part of method 'PhotoImporter.Get(List, Quality)' must have an implementation part because it has accessibility modifier.

This is the 'IPhotoImporter' interface code:

public interface IPhotoImporter
{
    Task<ObservableCollection<Photo>> Get(int start, int count, Quality quality = Quality.Low); 
    Task<ObservableCollection<Photo>> Get(List<string> filenames, Quality quality = Quality.Low);
}

This is the code that implements class 'PhotoImporter ':


Internal part class PhotoImporter : IPhotoImporter
{
    private partial Task<string[]> Import();

    public partial Task<ObservableCollection<Photo>> Get(int start, int count, Quality quality);

    public partial Task<ObservableCollection<Photo>> Get(List<string> filenames, Quality quality);
}

image

In order to verify that I didn't write anything wrong, I even copied these two files of your source code into my project, but still the same error, I don't know what is wrong, I saw that your source code uses The version is .NET 7. I used .NET 7 and .NET 8 in my projects and both got the same error. However, it ran very well in your project. This problem caused me to struggle for a long time and I had to Came here like you looking for help, thank you

my coding environment:

  • Windows 10
  • .NET 7/.NET 8
  • visual studio 2022 17.9

Ch2 Android

Code built directly from repo source. Run on Android Emulator/default (Pixel 5) Create task and Save crashes the app.

Quick check on Windows works correctly.

Great book so far!

Chapter 2 - Misprints

Great book so far! I've completed the first project, DoToo. Couple of things: (These may be related to me using .NET 8 vs. .NET 7 that you use in the book, but I thought I'd point them out regardless... The behavior, for me, was the same on all platforms, Win, iOS, and Android.

  1. p.77 - ...Command="{Binding AddItemAsyncCommand}"... is not correct, it should be "AddItemCommand". It is correct in your code repo but the book is wrong.
  2. p.78 ...Command="{Binding SaveAsyncCommand}"... is not correct, it should be "SaveCommand". It is correct in your code repo but the book is wrong.
  3. p. 91 ...Command="{Binding ToggleFilterAsyncCommand}"... is not correct, it should be "ToggleFilterCommand".
  4. p. 92 <Setter Property="BackgroundColor"... did not work for me in .NET 8. I used <Setter Property="Background"... and the filter button worked as expected, changing background color dynamically based on value of ShowAll.

I downloaded and ran your code and it all worked as expected but again, I see you are targeting .NET 7 and I am targeting .NET 8.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.