- Uno Platform Team
- PublishedMarch 27, 2023
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.
Why Make the Change in Visual Studio New Project Creation?
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.
Screen 0: Select a Preset or Customize Your Own Uno Platform Project
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.
“Default” Option and Why You Should Choose It
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.
“Blank” Option – The Minimal Setup
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.
Screen 1: Select .NET Version
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.
Screen 2: Select Target Platforms
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!
Screen 3: Presentation Pattern Selection
This step gives you a choice about using MVVM (e.g.MVVM Toolkit) orUno Platform’s MVUX and Feeds. Again, we recommend our MVUX approach, but we understand developers need flexibility.
To learn more about our MVUX approach and why we developed it please see official docs or see MVUX segment of UnoConf 2021 when they were announced.
Screen 4: Will You Need WASM Deployment
This screen allows adding a Server project for APIs and hosting for the WebAssembly project.
Most of the users host their WebApps on Azure or Amazon AWS, so we created those respective docs.
Screen 5: Decide on Testing Strategy
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.
Screen 6: Setup Add-On Tooling
Screen 7: Uno Extensions Selection
Reuse battle-tested code blocks for commonly used functions. Pick and choose which of the Uno.Extensions you want to use within your application.
Screen 8:Application Properties
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.
Screen 9: Theme Your App with Material or Fluent Design System
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.
Click Create
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.
About Uno Platform
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.
Next Steps
To try out the new experience please update your packages to 4.8 via your Visual Studio NuGet package manager and let us know your feedback at info@platform.uno!
If you are new to Uno Platform, following our official getting started guide is the best way to get started. (5 min to complete)
Get Started
Tags:
- Solution, Template, Wizard
Share this post:
Related Posts
The State of WebAssembly – 2023 and 2024
The State of WebAssembly – 2023 and 2024
🕓 12 MIN Welcome to 2024 and …
•
January 16, 2024
10 Days of Game Development with Uno Platform, WebAssembly, and C#
10 Days of Game Development with Uno Platform, WebAssembly, and C#
🕓 8 MIN Share on twitter Share …
•
April 20, 2023
The Power of Uno Platform WebAssembly and AWS Amplify for Web App Development
The Power of Uno Platform WebAssembly and AWS Amplify for Web App Development
🕓 3 MIN Share on twitter Share …
•
April 17, 2023
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.