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 (MAUI)—the evolution of modern .NET cross-platform developer experience. Going forward, developers should have much more confidence in the technology stack and tools as .NET MAUI empowers native cross-platform solutions on both mobile and desktop.
While it may take a long flight to reach the sands of MAUI island, developer excitement around .NET MAUI is quite palpable in all the shared 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 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 April 17, 2023:
.NET is continuing the steady journey towards the next big milestone of .NET 8 scheduled for November 2023 and .NET MAUI is coming right along as well. Along with the release of the latest .NET 8 Preview 3 comes fresh new bits for .NET MAUI, and David Ortinau wrote up the announcement—.NET MAUI in .NET 8 Preview 3. This release, the focus is on improving the quality and stability of .NET MAUI, with an eye toward developer flexibility.
It is heartening to see .NET MAUI being one of the most active open source projects in the .NET Foundation and developer usage numbers growing exponentially. With .NET 8, improvements have been made to UI components and layouts, and lots of issues fixed. Developers expect .NET MAUI apps to make efficient use of memory so they remain performant and safely operate for extended periods of time. Memory management is an area of focus and lots of tweaks are being made, as well as being back ported to .NET 7 runtime.
The other big change is how .NET MAUI bits are installed and versioned by developers. While .NET MAUI continues to be a .NET workload that can be installed through Visual Studio or dotnet CLI, developers can now layer specific versions of NuGet packages into projects—this would help in pinning to specific runtime versions. All signs point towards a stellar .NET MAUI release slated to go with .NET 8—cheers to that.
The .NET MAUI Community Toolkit is a collection of reusable elements for application development with .NET MAUI, including Animations, Behaviors, Converters, Effects and Helpers. The .NET MAUI Community Toolkit has evolved into a must-have companion for .NET MAUI developers—it simplifies common developer tasks when building cross-platform apps using .NET MAUI.
Looks like there is a fresh release for the .NET MAUI Community Toolkit, as Gerald Versluis pointed out—the latest version 5.1.0 of the .NET MAUI Community Toolkit is now out.
The newest .NET MAUI Community Toolkit release includes the LazyView—popular from the Xamarin Community Toolkit. With the LazyView control, developers can delay the initialization of any given View in .NET MAUI and have more fine grained control of UI performance. There are new Keyboard Extensions in the .NET MAUI Community Toolkit, providing developers more control over how the soft keyboard behaves—the virtual keyboard can be checked, shown or hided as needed from .NET MAUI apps. There are lots of bug fixes and stability improvements in the .NET MAUI Community Toolkit—kudos to all the contributions from the developer community.
.NET has evolved a lot in the last decade, and presents developers with a modern open source technology stack with polished tooling. There are a lot of great reasons to update .NET apps to the latest runtime versions of .NET—developers can take advantage of new features, get better performance and improve security.
There are lots of real-world examples of enterprise customers modernizing big .NET apps—the experience has lead to quite a few resources. Jon starts out laying the case for the benefits of running apps on modern .NET—there are huge performance improvements in .NET 7, with updates to runtime, JIT, GC and application workloads. There are new APIs in .NET, language features and support for modern application paradigms like Microservices, Serverless and modern CI/CD. With cross-platform deployment opportunities, modern .NET unlocks an entire new world of application development—the .NET Upgrade Assistant is here to help.
There has been a lot of recent deep-dive content on .NET modernization—Let's Learn .NET video, updated Learn modules and an 18-part series on ASP.NET app modernization. With all the resources, developers should be well-educated on all the nuances of modernizing .NET apps to reap the latest runtime benefits. Upgrade Assistant is here to lend a helping hand.
Hopefully by now, developers have heard the promise of .NET MAUI—a modern development stack for cross-platform .NET apps running on mobile/desktop devices from a single shared codebase. Sometimes though, seeing is believing—it would be nice to see a fellow developer actually build something with .NET MAUI and follow along for a real developer experience. There is a virtual workshop planned with yours truly—Chilling in MAUI is coming up on April 27, 2023.
With stable Visual Studio tooling on Windows/macOS, .NET MAUI enables developers to leverage the latest runtime of .NET 6/7/8 and reach iOS, Android, Windows and macOS platforms seamlessly with optimized code sharing. While the stability of .NET MAUI runtime and tooling should inspire developer confidence, the reality of .NET MAUI development likely still has a few bumps—let's tackle them together.
Real-world .NET MAUI apps share some common needs, leverage cloud services and could use some polished UI components—the workshop aims to follow the journey from nothing to success. Along the way, there will be pit stops to appreciate Blazor with .NET MAUI and explore the promise of Blazor Hybrid apps with platform-specific functionality and shared UI. Developers are often most creative when relaxed—so come chill at the upcoming .NET MAUI online workshop.
Artificial intelligence (AI) is eating the world and changing the ways we live and work. The popularity of AI-driven solutions is driving most technology companies to sprinkle AI power in many consumer-facing products, and AI is increasingly making its way into the developer tools.
OpenAI is an AI research/deployment company—creators of the models powering experiences like ChatGPT and Bing Image Creator. There is a lot of potential in AI usage for .NET/.NET MAUI developers and Luis Quintanilla wrote up a blog post—getting started with OpenAI in .NET.
While training AI models and the underlying algorithms may be complicated, consuming pre-built AI services in applications should not be difficult. There are countless applications of OpenAI models like GPT—like creating chat bots, sentiment analysis, language translations, classifications, code generation and much more.
.NET developers have two options to get started using OpenAI models—RESTful APIs and Azure OpenAI .NET SDK. With extensive OpenAI .NET samples, developer opportunities are only bound by imagination—AI is poised to play a huge role for .NET/.NET MAUI developers.
Luis promised a series of blog posts over next few months that explore the possibilities of OpenAI-powered AI capabilities for .NET applications—yummy opportunities ahead.
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