Visual Studio Toolbox
VS Toolbox: MAUI App Accelerator to Jump-Start .NET MAUI Scaffolding
Eight-time Microsoft MVP and independent developer Matt Lacey has been making the rounds promoting a new update to his MAUI App Accelerator, a Visual Studio extension that jump-starts .NET MAUI projects with wizard-driven scaffolding.
The tool takes over the Visual Studio "File > New Project" setup process upon hitting the Create button, after which MAUI App Accelerator steps in with a wizard that lets developers point and click for options concerning .NET version (7 or 6), coding style (MVVM Toolkit, Code Behind, C# Markup), navigation style (Flyout, Tabs, Empty Shell, None), Pages/Views (multiple options) and other features such as MAUI Community Toolkit, AppCenter and several others.
Upon wizard completion, the tool wires everything up, basically abstracting the coding drudgery of manually grabbing NuGet packages and implementing Dependency Injection, Inversion of Control, constructor injections and so on.
Just updated to version 1.2 yesterday (Jan. 30), the MAUI App Accelerator tool has been installed more than 1,840 times as of this writing, earning a perfect 5.0 rating from four developers who reviewed it.
The code is parked on GitHub, but it's not in your basic open source repo.
"The code isn't all public yet," Lacey said. "I say 'yet' sensitively because I'm still trying to work out if I want to take the time to make it understandable to other people."
That frank admission came in a recent appearance on the "ON .NET" video series, hosted by James Montemagno of the mobile developer tools team at Microsoft. In that 22-minute video titled "Build .NET MAUI Apps Faster with App Accelerator," Lacey explained everything about the project and ran through some live demos.
In explaining the extension, Lacey noted how it provides usefulness beyond the scaffolding, even serving as a learning tool. He detailed an example of that in discussing the "Add pages" part of the wizard, which features examples of a Sample app and a Localization page.
"If you want to know how to do localization in your app, there are at least three different ways. I can add an app localization page, and that's going to show me three different ways of doing localization. Maybe you just want to experiment with MAUI -- 'Well, how does MAUI do localization?' -- start the page. How does the localization work with MVVM? How does it work with C# markup? Just choose the options and you can see what it produces."
Lacey listed new features of the v1.2 update in a Jan. 30 blog post:
- 1 new Navigation Style: None (No Shell)
- 4 new pages: Map, NavigationPage, TabbedPage, & FlyoutPage
- 7 new features: FontAwesome, sqlite-net-pcl, AppCenter, Sentry.io, InAppBilling, StoreReview, & Audio
- Use of the newest versions of NuGet packages.
- Support OS-level Text Sizes in the wizard (for improved accessibility.
- Some bug fixes
- Improved testing (although you'll never see that)
- Images of new sponsors - a big thank you to all of them
- Support for all the sponsor images when the wizard is too small.
Another Lacey post earlier this month explained "4 Ways 'MAUI App Accelerator' can save you time (and money)":
- It lets you start with something closer to what you actually want!
- It forces you to think before starting your project.
- It makes it easier to try out new things.
- It lets you learn from complete examples.
One person who was impressed by the project is Sam Basu, a Progress developer advocate for Telerik products, who gave it a shout out in a November 2022 "Sands of MAUI" post.
"Borrowing strength from available Toolkits, the MAUI App Accelerator puts developers in control with choices in every step of the way as to how the visual tree is to described, what layouts are preferred and the types of pages desired in the .NET MAUI app," Basu said. "The MAUI App Accelerator is here to help kickstart your next .NET MAUI app right -- thanks Matt."
MAUI App Accelerator is just one of many tools available for .NET MAUI, which is described by Microsoft as the "evolution of Xamarin.Forms" because it adds support for creating desktop apps in addition to traditional Xamarin mobile targets, iOS and Android.
Speaking of that, Montemagno just last week blogged about "5 .NET MAUI Features for Building Great Desktop Apps."
"In addition to building cross-platform mobile apps with .NET MAUI, you can also craft beautiful desktop apps for Windows and Mac," Montemagno's post said. "Your application may only be targeting desktop platforms, or it perhaps it is going everywhere across mobile & desktop form factors. Either way, you want to deliver the best experience for your users no matter what device they are on. That means taking advantage of the hardware and operating system your app is running on."
About the Author
David Ramel is an editor and writer at Converge 360.