🕓 8 MIN Share on twitter Share …
We recently announced our 4.8 release and in it, the new startup experience. The release was jam-packed with new features, and we wanted to highlight the new project creation experience in a dedicated blog because it is so crucial to our project.
If you’ve followed Uno Platform, you’ll have noticed it’s evolved beyond a simple UI framework into a full-fledged productivity platform for .NET developers, which expands beyond UI. In addition to UI capabilities, Uno Platform offers an extensive range of extensions, theming libraries, and add-on tooling for VS Code and Figma. However, with our rapid release cycle of 6-8 times per year, it can be difficult for developers to keep up with new tooling and optimize their workflow. So we wanted to change that.
The technology stack we unify and build upon, including .NET, Visual Studio, and WinUI/WinAppSDK, has undergone rapid change, making it challenging for end developers to navigate and assemble all the necessary pieces with the correct versions. In response to feedback from our roadmap survey, we’re thrilled to announce the new Solution Template Wizard for Visual Studio. This visual, user-friendly tool will automatically configure your project to your exact preferences and allows you to use as many or as few Uno Platform features as you’d like.
Let me explain each piece.
Uno Platform is designed to be modular in order to allow you to leverage as many, or as few pieces of it as you’d like.
The “Default” preset brings you all the bells and whistles; it is what our team uses when creating new client projects. This sets the Material theme as default, and references Uno Toolkit as well as a number of components from Uno.Extensions such as dependency injection, navigation and reactive MVUX (an extended version of MVU that supports data binding).
You’ll see more details about each option we pre-selected in this preset as we provide explanations for each customization option in the sections that follow.
Especially if you are just exploring Uno Platform, we recommend this preset for the simple reason that you will immediately be in a position to build and deploy apps that run everywhere with everything Uno Platform has to offer.
Alternatively, the “Blank” preset gives you a minimal Uno Platform project that still targets the main platforms (iOS, Android, MacCatalyst, Windows, Web and GTK) but doesn’t reference any additional components.
If neither preset works for you, you can use the Customize option. You can start with either the Blank preset and add components or the Default preset and remove or customize the components. Either way, you can tailor the template to include the components that make sense for your project.
We are app builders and developers ourselves and understand that modularity and avoiding lock-in is crucial for any developer when considering which platform to adopt.
So, while we hope most of you would go for the Default option 😊, the “Blank Solution” allows you to start from a minimal setup with only the latest released version of .NET (as of today, .NET 7) and XAML included. It then allows you to build your custom solution through a series of 10 screens.
While we recommend the latest stable .NET, we also move hand-in hand with newest previews of .NET so that Uno Platform is compatible with the latest RTM version as close to day-0 as possible. With this customization option we allow you to experiment with latest .NET while taking care of your project set up for your optimal experience.
While this screen is reasonably self-explanatory, the hidden gem with Uno Platform is that it allows you to target some targets in multiple ways – all at zero development time for you – how’s that for flexibility?
For example, you can target MacOS as either MacCatalyst or Skia GTK.
And of course, if you need to, you can add more target platforms after your project is created by following these docs.
Fun Fact: The Uno Platform Solution Template wizard itself is an WinAppSDK application using WinUI with Material theme and Uno Extensions!
When setting up your project with Uno Platform’s new app template wizard, you may need to decide between using unit tests or UI tests. You can use unit tests, typically faster and less complex, or UI tests, which can provide more comprehensive coverage but may take longer to execute. The choice will depend on the specific needs of your project and testing goals.
The Application Properties section allows you to set the Application Id for the application which will be used to set platform specific properties, such as the bundle ID for iOS.
The Uno.Material theme is great for making applications that have a great look and feel out of the box. Alternatively, you can use the Fluent theme, which is the default for WinUI based applications.
Regardless of the path you took, clicking on Create will create your project in Visual Studio and also launch a web page with useful resources such as tutorials and learning resources; so don’t be quick to close it.
For those new to the Uno Platform, it allows for creating pixel-perfect, single-source C# and XAML apps that run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. In addition, it offers Figma integration for design-development handoff and a set of extensions to bootstrap your projects. Uno Platform is free, open-source (Apache 2.0), and available on GitHub.
🕓 8 MIN Share on twitter Share …