Welcome to the Sands of MAUI—newsletter-style issues dedicated to bringing together latest .NET MAUI content relevant to developers.
A particle of sand—tiny and innocuous. But put a lot of sand particles together and we have something big—a force to reckon with. It is the smallest grains of sand that often add up to form massive beaches, dunes and deserts.
Most .NET developers are looking forward to .NET Multi-platform App UI (MAUI)—the evolution of Xamarin.Forms with .NET 6. Going forward, developers should have much more confidence in the technology stack and tools as .NET MAUI empowers native cross-platform solutions on mobile and desktop.
While it is a long flight until we reach the sands of MAUI, developer excitement is palpable in all the news/content as we tinker and prepare for .NET MAUI. Like the grains of sand, every piece of news/article/video/tutorial/stream contributes towards developer knowledge and we grow a community/ecosystem willing to learn and help.
Sands of MAUI is a humble attempt to collect all the .NET MAUI awesomeness in one place. Here's what is noteworthy for the week of May 9, 2022:
May 2022—the month when .NET MAUI is scheduled to hit General Availability (GA) after meandering through lots of iterations. To mark the milestone, there was a fun long stream hosted called Snorkeling in MAUI—with Microsoft and community folks coming together to share their passion.
David talked about some of the latest additions in the .NET MAUI stack—the application Shell, Tizen platforn support and recapping how developers can customize the experience on each platform. It is quite impressive that the .NET MAUI team was able to drop in a full Style guide—for common out of the box UI including visual states, all without much impact to startup performance.
David showed off a few polished sample apps written with .NET MAUI—runtime/tooling is ready and there is plenty of inspiration ahead of GA. Let's go, developers.
Xamarin.Forms is largely looked upon as a cross-platform app framework where developers code in C#/XAML and .NET MAUI certainly does not move the cheese. While Extensible Application Markup Language (XAML) may be the preferred choice to build up the app visual tree, let's face it: Not everyone likes XAML. Some .NET developers and certainly those coming from other technology stacks might see XAML as a verbose learning curve—thankfully there is a more fluent option. And it has always been an option right in front of our eyes—yep, one can do it all in C#.
Gerald Versluis produced a video on how to build .NET MAUI apps with C# Markup—just C# as a language and some additional markup tooling is more than good enough to build the entire app's visual layer. Not just the app's business logic, but C# can make it easy to build the visual tree and cut down on UI complexities.
Gerald walks us through building a sample view with just C#—the CommunityToolkit.Maui.Markup NuGet package extension really helps in a fluent way to define app UI. It is fun to recreate the regular .NET MAUI MainPage with just C#—and the regular Model View ViewModel (MVVM) concepts apply just fine with C#.
If developers needed proof that C# Markups work, the popular GitTrends app from Brandon Minnick does it all in C# and is open source. If a more Model View Update (MVU) style is preferred, developers can try out the experimental Comet journey on top of .NET MAUI. Bottom line, C# is more than capable to build a whole app by itself with top-notch tooling and Visual Studio Intellisense—this may be the preferred option for many developers.
Back to the Snorkeling in MAUI long stream, there was no dearth of awesome with passionate speakers sharing their love for .NET MAUI.
Leomaris Reyes had joined the stream to talk about all things Single Project architecture in .NET MAUI. Leomaris is known for wonderful tech articles and famous from AskXammy developer resource‐folks really appreciated seeing her live.
Leomaris showed up in pink theme—with slides and a chair to match the cheerfulness, and talked about all the benefits the Single Project in .NET MAUI.
Developers now have true single shared project that is multi-targeted to reach various platforms—iOS, Android, Windows, MacOS and Tizen. The shared Resources really make developers' lives easier and takes out much of the pain of dealing with variations across platforms—for Splash screens, Fonts, Icons, Images and other assets. Leo talked about how developers can leverage shared assets, but also have the freedom to do things specific for each platform, if desired. Developer flexibility for the win.
The fortunes of any developer platform are often decided by developer success, which in turn, depends on the strength of the ecosystem. .NET MAUI may not be officially out for GA yet, but it has been cooking for a while—perfect time for the developer community to step up to bolster the ecosystem around .NET MAUI.
Thankfully, there is quite a bit of additional ammunition for developers.
Javier Suárez has started compiling a curated list of awesome .NET MAUI libraries—help that augments the developer experience. There is already quite a bit of love with Samples, Workshops, Tools, Plugins, UI components and more—the developer community is encouraged to add to this GitHub repo to have an awesome one-stop list benefitting all .NET MAUI developers.
A lot of us are into home automation—internet connected smart appliances appeal to developer geekiness. There is a sense of deep satisfaction when an app or our voice can turn electronics on/off or have triggers take automatic actions based on inputs.
The Philips Hue family of products is very popular for those looking for smart light bulbs, LED light strips and more. And .NET MAUI can help with programmatic automation with Philips Hue lights and lead to nerd nirvana.
Developers need to find two things to connect—Philips Hue bridge IP address and an App key. Once done, developers can proceed to adding the Q42.HueApi NuGet package to .NET MAUI project. Initialize the Hue client correctly and fire away—.NET MAUI apps can talk to Philips Hue lights just as expected.
That's it for now.
We'll see you next week with more awesome content relevant to .NET MAUI.
Sam Basu is a technologist, author, speaker, Microsoft MVP, gadget-lover and Progress Developer Advocate for Telerik products. With a long developer background, he now spends much of his time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik technology stacks. His spare times call for travel, fast cars, cricket and culinary adventures with the family. You can find him on the internet.
Subscribe to be the first to get our expert-written articles and tutorials for developers!