Roundup of .NET MAUI. - Week of August 15, 2022
Tags: dotnet, programming, design
Published: 2022-08-22 14:22:37

This week (or last week?) I'm going to switch things up and organize the content that caught my attention into categories.  I'm seeing more libraries and content themes emerging. 

Table of Contents:
* [UI Design](#design) - new controls and how-tos
* [App Architecture](#architecture)
* [Bar Code Scanning](#barcodes)
* [Business](#business) - data storage, authentication, NFC, DataGrid, PRINTING!

## UI Design <a name="design"></a>

### Libraries

**LiveCharts**

{% embed https://github.com/beto-rodriguez/LiveCharts2 %}

**StateButton**

{% embed https://github.com/IeuanWalker/Maui.StateButton %}

These videos show off how to implement beautiful UI in .NET MAUI.

**BreadCrumb**

{% embed https://github.com/IeuanWalker/Maui.Breadcrumb %}

**Plainer**

This lib strips controls down to the bare styles to make them "easy to style". Hmm, useful?

{% embed https://github.com/enisn/Xamarin.Forms.Plainer %}

**Image Pinch to Zoom**

{% embed https://github.com/TBertuzzi/Bertuzzi.MAUI.PinchZoomImage %}



### Animated Menu

Yes! Love this so much. Naweed has had a busy week churning out videos for a variety of different apps. 

{% embed https://youtu.be/qkfBGIypRLI?t=525 %}

{% embed https://youtube.com/shorts/bItbCoxFI10?feature=share %}

### Javier Codes

We all know Javier can make some beautiful apps, and if you don't then this is a great introduction. Chill out with some great music and just watch as Javier brings this design to life. 

{% embed https://youtu.be/b8B7ZyksFyQ %}

### Composite Button with Activity Indicator

Pragnesh shows us how to make a button that has state and includes a spinner inside it. This is a good example of how you can compose controls to make custom UI experiences.

{% embed https://youtu.be/7CafvZ17oUE %}

### Themes

Chris shows us how to give the user various UI themes to choose from at runtime.

{% embed https://youtu.be/eu52qX-qww4 %}

### Draw/Copy Paths and Shapes to XAML

This is a great tip everyone should know. When your designer gives you a source file, you can often copy the shape data directly from the design tool, or you can crack open an SVG in a text editor and copy the data to XAML.

{% embed https://youtu.be/rdopvfMgvww %}


## App Architecture <a name="architecture"></a>

### Naweed's MauiTubePlayer

This series of videos works through architectural design decisions we all need to make when implementing common functionality across an application.

{% embed https://youtu.be/nXGQcVqxuoY %}

### [Turkish] Folder Structure

{% embed https://youtu.be/_Nf9HZQsOZI %}


## Bar Code Scanning <a name="barcodes"></a>

### ZXing Library

Jonathan Dick (Redth) updated his popular library to .NET 6 and there's a [preview on NuGet](https://www.nuget.org/packages/ZXing.Net.Maui/) ready to use! 

{% embed https://github.com/redth/ZXing.Net.Maui %}

I added this myself to the [.NET Point of Sale demo app](https://github.com/dotnet/maui-samples/blob/main/6.0/Apps/PointOfSale/src/PointOfSale/Pages/Handheld/ScanPage.xaml), but cut it from the [.NET Conf demo](https://youtu.be/zp3Ja-jAjq4) due to time. It's there and works if anyone wants to wire it up and polish the UI. :)

Other's have picked up on this feature and are showing off. 

{% embed https://youtube.com/shorts/ajpRN9oihuE?feature=share %}

Here Gerald teaches us how to scan all the codes!

{% embed https://youtu.be/ostgj2xB_ok %}


## Business <a name="business"></a>

### Libraries

**NFC**

A library for .NET MAUI to do Near Field Communication (NFC).

{% embed https://github.com/franckbour/Plugin.NFC %}

**DataGrid**

This looks brand new.

{% embed https://github.com/akgulebubekir/Maui.DataGrid %}

### Storage

Daniel published several videos last week on storing data with .NET MAUI. 

{% embed https://www.youtube.com/watch?v=3xqIXS1SBaU %}

{% embed https://youtu.be/xCVZimANTmQ %}

{% embed https://www.youtube.com/watch?v=Yi7SAyh7k8w %}

### MSAL.NET Authentication

Carl Franklin takes inspiration from our recent .NET Conf and puts together an Azure AD login with MSAL.NET.

{% embed https://www.youtube.com/watch?v=p8NRvakFW2M %}

### Printing

Thomas hooked up a button in the .NET Point of Sale app and added printing with the [PrinterUtility](https://www.nuget.org/packages/PrinterUtility) NuGet. Nice! Source link below.

{% embed https://twitter.com/ThomasG73771703/status/1560064472579981314 %}

[GitHub Source](https://github.com/Bliitze/PointOfSale/blob/master/PointOfSale/Helpers/PosPrint.cs)