DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

David Ortinau
David Ortinau

Posted on

Roundup of .NET MAUI. - Week of August 8, 2022

This was a big week for .NET MAUI content, starting with .NET Conf: MAUI! We had a great time bringing your a wide range of .NET MAUI content from our studio in Redmond and speakers around the globe.

Table of Contents:

.NET Conf: MAUI

If you only watch one session, I shamelessly must recommend my keynote presentation with Maddy Montaquila.

The rest of the 24 sessions are nicely catalogued at https://docs.microsoft.com/events/dotnetconf-focus-on-maui/.

Books

Michael Stonis from EightBot has written Enterprise Application Patterns with .NET MAUI and updated the companion eShop application to go with it.

eshop-mobile-client

eshop-mobile-client is a reference .NET MAUI multi-platform client app whose imagined purpose is to serve the mobile workforce of a fictitious company that sells products. The app allows you to manage the catalog, view products, and manage the basket and the orders.

Dependencies

Though eshop-mobile-client mobile app relies on the repo eShopOnContainers for it's backend but by default it uses its internal MockServices for all it's functionalities. For more details refer to the Setup section.

eShopOnContainers

Architecture

The app architecture consists of two parts:

  1. A .NET MAUI mobile app for iOS, macOS, Android, and Windows.
  2. Several .NET Web API microservices which are deployed as Docker containers.

.NET MAUI App

This project exercises the following platforms, frameworks, and features:

  • .NET MAUI
    • XAML
    • Behaviors
    • Bindings
    • Converters
    • Central Styles
    • Animations
    • IoC
    • Messaging Center
    • Custom Controls
    • xUnit Tests
  • Azure Mobile Services
    • C# backend
    • WebAPI
    • Entity Framework
    • Identity Server 4

Backend Services

All the backend…

Libraries

InfiniteScroll

This is a port of Matthew Liebowitz's Xamarin.Forms library that adds this behavior to ListView.

https://www.nuget.org/packages/TheSalLab.MauiInfiniteScrolling

Scandit Barcode Scanning

Scandit has updated their Xamarin.Forms library for .NET 6.

https://www.nuget.org/packages/Scandit.DataCapture.Core.Xamarin.Forms/6.14.0-beta.2#readme-body-tab

LiveCharts

James Montemagno turned me on to this SkiaSharp based charting library last week at .NET Conf, and I really want to check it out.

https://www.nuget.org/packages/LiveChartsCore.SkiaSharpView.Maui/2.0.0-beta.350

KeyboardHookLite

I'm stoked for this library that enables a global keyboard listener! This is a common need I have in desktop applications. Right now it only appears to work with Windows.

https://www.nuget.org/packages/KeyboardHookLite

ZXing Barcode Scanner

Our fearless leader Redth has published a .NET MAUI version of his popular barcode scanning library ZXing. It's primarily for mobile, so the Windows bit is just enough to not crash which is perfect me most of our needs.

If you're poking around in the Point of Sale demo I made for .NET Conf, you'll find this put to use. :)

https://www.nuget.org/packages/ZXing.Net.Maui/

ContextMenuContainer

While the official .NET 7 roadmap includes a ContextMenu, you don't need to wait. This library has support for all 4 .NET MAUI platforms today.

https://www.nuget.org/packages/ContextMenuContainer/1.1.0.2-preview#readme-body-tab

Videos

A Better Pub/Sub Messenger

James brings us a quick rundown on using the new Messenger in CommunityToolkit.Mvvm, and I love it! It reminds me a lot of TinyMessenger.

UI Design for .NET MAUI

Leomaris Reyes provides some great tips for honing your skills to create beautiful UI with .NET MAUI.

Webinar: Create a Shopping UI with .NET MAUI and sqlite

Roulette Game

Nice, simple example of animation.

https://github.com/kei-soft/KJunBlog/tree/master/Maui.RouletteGame

Everything you need to know about CollectionView

Drawing Graphics Controls

Chris makes it sound so easy, and I suspect it is!

iOS App Extensions

DrawingView

Gerald introduces you to this powerful, new control for drawing things in .NET MAUI.

Top comments (3)

Collapse
jwp profile image
John Peters

Apart from being 20 years late to the party and the history of Microsoft never finishing a single desktop offering other than unmanaged C++. Is this really going to mend the fractured desktop offerings for Windows? Then to claim it's good for Linux, Android and IOS isn't that a bit over the top? I'm skeptical. Trusting them after what they did to WPF is still hard for many of us. Thoughts? Ramp up time?

Collapse
lexiebkm profile image
Alexander B.K.

I have read about what .Net MAUI offers from its official doc. But then I paused when I read about the supported platforms as stated in the following :

"NET Multi-platform App UI (.NET MAUI) apps can be written for the following platforms:

  • Android 5.0 (API 21) or higher.
  • iOS 10 or higher.
  • macOS 10.15 or higher, using Mac Catalyst.
  • Windows 11 and Windows 10 version 1809 or higher, using Windows UI Library (WinUI) 3."

My question is :
Can we develop Android app with this new tech using Windows 7 ? It seems that the answer is no, considering it uses the same libraries that also targets on Win 10/11. But I need confirmation.

Collapse
ayodejii profile image
Isaac Ayodeji Ikusika

I can't wait to get my hands dirty with this tool. I'm dropping WPF.
Nice work guys.

🌚 Life is too short to browse without dark mode