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 excited with .NET Multi-platform App UI (.NET MAUI)—the evolution of modern .NET cross-platform developer experience. Going forward, developers will be empowered with .NET MAUI technology stack and tooling to build native cross-platform apps for mobile/desktop from single shared codebase.
While it may take a long flight to reach the sands of MAUI island, developer excitement around .NET MAUI is quite palpable with all the created content. Like the grains of sand, every piece of news/article/documentation/video/tutorial/livestream contributes towards developer knowledge in .NET MAUI and we grow a community/ecosystem willing to learn & 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 22, 2023:
.NET MAUI is democratizing .NET cross-platform development—a single shared codebase powers modern apps on mobile or desktop platforms. The .NET MAUI evolution has been continuous with framework/tooling updates, and the next milestone is coming up with .NET 8 runtime.
There is a lot to unpack with .NET MAUI, and developers can tune into Microsoft Build conference for all the latest updates. Happening May 23-25 in Seattle or online, Microsoft Build promises a ton of awesome content, including what's new in .NET MAUI.
All eyes are on Microsoft’s premier developer conference coming up this week—Build this year is both virtual and in-person in Seattle. While developers can watch most sessions live online, for folks joining in-person, there are lots of interaction opportunities, like meet the experts, demo areas, workshops and more. Much of the .NET MAUI team will be there and developers can expect some big .NET MAUI news—tooling updates, enterprise stories and some special guests.
Want to get to the source of truth for .NET MAUI news? Join the .NET MAUI product managers for a Build session on the latest updates on .NET MAUI—on point will be Becky Buckler, Maddy Montaquila, David Ortinau and Beth Massi. Developers can expect lots of .NET MAUI news and a peek at the roadmap for .NET 8—fun times coming up.
The next chapter in the evolution of .NET is well on its way—.NET 8 is cooking and scheduled to be released in November 2023. These are early days, but there is already much to look forward to for .NET developers in .NET 8. Fresh new bits are available for .NET 8 and Jon Douglas wrote up the announcement—.NET 8 Preview 4 is now out.
Hot off the heels of the last Preview 3 release, .NET 8 Preview 4 builds on latest features with an eye on stability and performance. The latest .NET 8 Preview 4 bits also come with Visual Studio 17.7 Preview 1 on Windows—the latest tooling update works with newest .NET functionality. Some of the new features in .NET 8 Preview 4 include updated MSBuild Terminal output, simplified SDK output path and a more secure NuGet package dependency experience.
There are lots of low level performance tuning in latest .NET 8 bits that warrant a detailed read, as well as optimized workflows for ARM64 chips. What's enticing for enterprise clients is the fact that .NET 8 will carry the Long Term Support (LTS) badge inspiring more confidence—upgrading from .NET 6/7 to .NET 8 should be quite straightforward.
Modern mobile/desktop apps might have a ton of interactive UI elements, but the ubiquitousness of one trumps everything else. Meet the majestic .NET MAUI Entry UI, aka the textbox control—this popular UI is one of the simplest yet most commonly used way for app users to enter text content. Thankfully, the cross-platform .NET MAUI Entry UI is feature-rich and has a ton of APIs for developers to use. Leomaris Reyes wrote a wonderful article highlighting some key features of the Entry UI—6 handy properties of .NET MAUI’s Entry control.
While most developers are used to tapping into the common Entry UI APIs, Leomaris chose to focus on many other super useful properties that are not as popular. Typing in a textbox may not be the most exciting thing, and the goal should be to ease the end user experience as much as possible—enable quick typing and editing.
Leomaris talks through some easy but super useful properties of the .NET MAUI Entry UI—like clearing entry text, enabling spellcheck/text prediction and customizing the type of keyboard that pops up when the Entry receives focus. For the user to make quick edits while typing, setting the cursor position or establishing the selection length might come in handy.
Overall, the .NET MAUI Entry control renders native UI across various platforms, but is loaded with feature-rich APIs for developers to fine tune the user experience—thanks, Leomaris, for the pointers.
Artificial intelligence (AI) is eating the world and changing the way we live and work. The popularity of AI-driven solutions is driving most technology companies to sprinkle AI power on many consumer-facing products, and AI is increasingly making its way into the developer frameworks, including .NET.
OpenAI is an AI research/deployment company—creators of the models powering experiences like ChatGPT/Bing. There are integration opportunities of AI usage for .NET/.NET MAUI developers and Luis Quintanilla wrote up a wonderful blog post—leveling up GPT game with Prompt engineering.
Luis starts out with the basics of Prompts—user inputs provided to a model that guides the generation of responses known as Completions. While the basics of Prompts is simple with a context/task, Prompt engineering is the process for composing prompts to produce output that more closely resembles the desired intent.
The essence of Prompt engineering involves being clear and specific, providing sample outputs and relevant context to trigger the GPT models to produce completions that match desired intent. Prompt engineering, in reality, involves lots of trials/errors, few/zero shot learnings and repeated refinements towards grounding—essentially grounding the model on facts and pointed context. OpenAI and GPT-powered AI solutions hold a lot of promise for .NET/.NET MAUI applications—yummy opportunities ahead.
The ubiquitous sprinkle of AI power should not just be for end users—turns out, AI can make developers a lot more productive as well. With smart intelligence and constant learning, AI can be the perfect pair programmer for developers, aiding in writing better and less boilerplate code.
For .NET developers, the AI programming partner is GitHub CoPilot and Katie Savage produced an excellent video—using GitHub CoPilot with C#.
Katie starts with an intro and quickly gets down to real business—using CoPilot for some C# with LINQ coding. The demo steps through developer tasks that are very real, just with lots of GitHub CoPilot help—like generating data and creating/modifying/executing LINQ queries in C#. To drive home the point that GitHib CoPilot is real and here to help, Katie then switches to using CoPilot on a realistic C# Blazor project to generate/customize resumes.
CoPilot can help big time—like adding Blazor components, generating appropriate HTML markup and integrating with Bootstrap elements. GitHub CoPilot has a big potential to be the perfect AI-driven pair programmer for .NET/.NET MAUI developers—productivity for the win.
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!
All fields are required
We see that you have already chosen to receive marketing materials from us. If you wish to change this at any time you may do so by clicking here.