Telerik blogs

Welcome to the Sands of MAUI—newsletter-style issues dedicated to bringing together the 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.

.NET developers are excited with the reality of .NET Multi-platform App UI (.NET MAUI)—the evolution of modern .NET cross-platform developer technology stack. With stable tooling and a rich ecosystem, .NET MAUI empowers developers to build native cross-platform apps for mobile/desktop from single shared codebase, while inviting web technologies in the mix.

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 toward developer experiences 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 8, 2024:

.NET MAUI Community Standup

Developer excitement is palpable with .NET MAUI—the evolution of cross-platform .NET development stack reaching mobile/desktop from a shared codebase. The .NET MAUI team hosts monthly Community Standup livestreams to celebrate all things .NET MAUI and provide updates—a wonderful way to bring the developer community together. Maddy Montaquila and David Ortinau hosted the latest standup, with special guests Gerald Versluis, Jon Dick and Brandon Minnick—the April .NET MAUI Community Standup was quite the party.

Brandon kicked things off introducing his latest effort to inspire developers—new .NET MAUI Dometrain courses are here to educate on just about every aspect of .NET MAUI development.

Jon Dick took over to make the case for Slim Bindings—the interop with native iOS and Android libraries from .NET MAUI. Slim binding refers to the pattern for accessing native SDKs in .NET apps indirectly via a thin wrapper with a simplified API surface—this is useful when interop calls for a small slice of the API surface of the SDK. While bindings for native libraries take a lot of work for niche audiences, the .NET MAUI developer community benefits from slim bindings—there are samples to work with Facebook, Firebase Analytics, Firebase Messaging, Google Cast and more.

Gerald Versluis took over next to remind developers of the upcoming Apple Privacy Manifest—the guidance is much appreciated. The discussion then turned to the topic of testing .NET MAUI apps—while there are many types of tests, developers often care about on-device testing using Device Runners. Gerald showcased the developer experience with some Device Runner demos, with Xunit/NUnit unit testing framework and Appium—lots of inspirations and improved tooling for developers to test .NET MAUI apps.

Overall, the April .NET MAUI Community Standup was a great way to celebrate some progress made with an eye out for the future—cheers.

.NET Community Standup: Testing your MAUI apps feat. Gerald Versluis. Maddy M. & David O.

UI Best Practices

.NET MAUI is built to enable .NET developers to create cross-platform apps for Android, iOS, macOS and Windows, with deep native integrations, platform-native UI and hybrid experiences that extend the reach of Blazor/JS web UI technologies. Be it a beginner or seasoned developers coming from Xamarin.Forms world, everybody could use a refresher on building high performing beautiful UI. Who better to provide guidance than Leomaris Reyes who wrote up a wonderful article—best practices for UI handling in .NET MAUI.

The goal for modern cross-platform development platforms is to maintain high quality app UX, while enhancing performance and simplifying the work for developers—.NET MAUI includes some interesting improvements under the hood. Leomaris recaps six wonderful tips for getting the most performance out of UI—like using Borders, using Horizontal/VerticalStackLayout, avoiding AndExpand in Layouts, not using RelativeLayouts, enhancing desktop apps with Tooltips and reusing colors/styles throughout the app. Developers often get bogged down in app features—it really helps to have some UI best practices as part of standard habit for building high performant UI. As famously said—great code originates from small and intelligent modifications!

beyond-the-basics-best-practices-ui-handling-net-maui

NuGet Management

Modern developers have rich IDE tooling at their disposal, even while building complex cross-platforms apps with frameworks like .NET MAUI. But some would argue there is one trait that sets “real” developers apart—the use of command line tools. While VS Code and CLI tools work consistently across any developer platform, there are some things IDEs like Visual Studio do better visually. One such thing is NuGet package management. Knowing the right tooling/commands matters though, and David Ortinau wrote up an article—NuGet management in VS Code.

Many cross-platform app developers are using macOS with VS Code and CLI tools these days. While NuGet packages references are easily managed in .csproj files, IDEs like Visual Studio are more visual in showing NuGet package version and updates, when available.

David points out a new tool that might help—the dotnet-outdated-tool CLI utility. Once installed, the dotnet-outdated-tool command from terminal can evaluate existing project/solution for NuGet packages and informs developers if newer versions are available. The tool allows for filtering on partial/full package names and developers can choose to update one ore more packages from the tool or return to do so from .csproj file. David also points out that all this is also doable from the .NET CLI—the dotnet list package utility obliges, with a little more typing. Overall, developers can be perfectly productive in managing NuGet packages from VS Code/CLI tools—let IDEs have visual tools, real developers use command line.

dotnet outdated

.NET Support

.NET is the free, open-source, cross-platform framework for building modern apps and powerful cloud services. Developers building with .NET enjoy solid frameworks, stable tooling and rich ecosystems—there is plenty of productivity boost to build, test and deploy modern apps across various platforms with .NET. However, all the progressive change means .NET has to evolve fast and a milestone is coming up, with Rahul Bhandari writing up the announcement—.NET 7 will reach End of Support in May 2024.

.NET 7 was a Standard Term Support (STS) release back in November 2022, supported for 18 months ending on May 14, 2024. After that, Microsoft will no longer provide servicing updates, including security fixes or technical support for .NET 7. While .NET 7 apps will not go up in flames post–May 2024, it is not prudent to keep using unsupported runtimes—developers and enterprises are encouraged to upgrade apps to .NET 8.

Rahul pointed out several resources toward the .NET 8 upgrade for apps/libraries, which should be mostly trivial from .NET 7—the .NET Upgrade Assistant can help. Today’s .NET is a modern framework with an annual release cycle and the next evolution in the form of .NET 9 is well underway toward Nov 2024 release—upwards and onwards.

.NET Support timeline

Xamarin End of Life

.NET MAUI is the evolution of modern .NET cross-platform development stack, allowing developers to reach mobile and desktop form factors from single shared codebase. The present reality for many apps, however, may be Xamarin or Xamarin.Forms—a migration strategy is needed to move things forward. Yoan Kromov wrote up a blog post with some options to move forward—Xamarin days are numbered and developers need to migrate to .NET MAUI.

While official Xamarin support will end in May 2024, Yoan points out that Xamarin apps will keep on working for some time, with Progress Telerik UI for Xamarin support continuing for much longer. With underlying dependencies on iOS/Android, developers will hit a roadblock eventually—it is high time to start migrating Xamarin apps to the most natural evolution of .NET MAUI. Yoan points out the richness of .NET MAUI ecosystem with Telerik UI for .NET MAUI—feature-rich and performant Telerik UI components are ready to light up modern mobile/desktop apps. There is plenty of help and inspiration for developers looking to migrate to .NET MAUI—tooling, documentation, sample apps, livestreams, eBooks and success stories.

That’s it for now.

We’ll see you next week with more awesome content relevant to .NET MAUI.

Cheers developers!


SamBasu
About the Author

Sam Basu

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.

Related Posts

Comments

Comments are disabled in preview mode.