Skip to content

Conversation

@yourordinarycat
Copy link
Owner

@yourordinarycat yourordinarycat commented Aug 22, 2023

Change description
This PR adds a blank app template for UWP project types, with many improvements compared to the one provided by C++/WinRT.

Added projects and types

Additional information
This new template does many things to improve the experience:

  • Cleaned up: many things in the C++/WinRT template are a bit messy or unnecessary, such as App.idl (unused completely), MainPage having its own IDL file (replaced by a single Views.idl file), and some of the code could be better (addressed with the points below)
  • Different code styling: this one's a bit more subjective, but basically, this template goes with braces on the same line, const T& foo instead of T const& foo for const references, and uses Doxygen style for function docs
  • Nested namespace support for XAML types: by default, C++/WinRT is a bit finicky with namespaces when it comes to XAML. This template comes prepared for nested namespaces - in fact, the MainPage is nested within the Views namespace!
  • No more Frame navigation: instead of a root frame, a custom UserControl is set for the window content. That UserControl serves the function of the MainPage in other blank app templates (even the name is preserved!), but isn't tied to frame navigation
  • Optional splash screen: the optional splash screen has been available for a while now, this template enables it by default - see https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-splashscreen for more information on the optional splash screen
  • Vastly simplified prelaunch related code: the prelaunch checks are a bit annoying to read in the original template, so they have been condensed into a single check. As a bonus, prelaunch is now enabled by default when the prelaunch check fails

Assets
This is the final result after creating a new project.

SimpleKit Blank App template

@yourordinarycat yourordinarycat added enhancement New feature or request winrt This issue or pull request adresses a WinRT project c++ This issue or pull request adresses a C++ project labels Aug 22, 2023
@yourordinarycat yourordinarycat self-assigned this Aug 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ This issue or pull request adresses a C++ project enhancement New feature or request winrt This issue or pull request adresses a WinRT project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants