Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Table of contents
- What is Template 10?
- Template 10 Documentation
- Template 10 Philosophy and Other Information
- Is Template 10 right for me?
- Known Issues with Template10
What is Template 10?
Do you have technical questions you want to ask the community? Use the
Template10tag on StackOverflow. http://stackoverflow.com/questions/tagged/template10
Template 10 is a set of Visual Studio project templates. They sling-shot developer productivity by getting ~80% of the boilerplate stuff delivered in the template - things like navigation, suspension, and even a Hamburger control.
Template 10 is intended for Window XAML apps written in C#.
Template 10 Documentation
If you want some video training about Template 10, please see the Microsoft Virtual Academy Template 10 Training Videos.
For Template 10 documentation, please refer to the sidebar ---> as this avoids the need to duplicate listing the pages here :).
Template 10 Philosophy and Other Information
Credit where credit is due
Template 10 is the brainchild of Microsoft Developer Evangelism and was started there. Lots of learnings from Windows 8, including lots from the Pattern's and Practices Prism.StoreApps framework are in the code base.
Why are you saying T10 is convention-based?
The philosophy is this: we want you do it our way unless you want to do it your way. You are the developer and only you know your app well enough to make big decisions. But, without a good reason to do it another way, do it our way. It's not about telling you to do it our way, it's about telling you to do it our way unless you don't want to. It's about guidance. It's about conventions. And, it's about flexibility.
Here are some of our conventions:
- We put views (XAML files) in a /Views folder (and ns)
- We only have one view-model for one view
- We put our view-models in a /ViewModels folder (and ns)
- We use OnNavigatedTo in view-models, not pages
- We put our models in a /Models folder (and ns)
- We often use the façade pattern with our models
- We navigate using a NavigationService
- We communicate with a Messenger
- We like Dependency Injection
- We use Template 10 ;-)
What's in Template 10?
- There are controls
- There are behaviors
- There are services
- There are converters
- There are MVVM classes (BindableBase, DelegateCommand, and ViewModelBase)
- There are utility classes
- There are project templates (Blank, Minimal, Hamburger)
- There is a NuGet package
- There are samples, many samples!
Does Template 10 require MVVM?
No. Though it's difficult to imagine any XAML app not using model-view-view-model, there is nothing in Template 10 that requires you to use it. Template 10 is compatible with any MVVM framework.
See the MVVM documentation for more information.
Where have I heard about Template 10?
- On Microsoft Virtual Academy's Developer's Guide to Windows 10
- On Microsoft official Windows 10 Hands-on-Labs
- At the Microsoft Windows 10 Tour events
- In Microsoft Press Windows 10 exam-prep books
Who's contributing to Template 10?
- Jerry Nixon, co-author of Developer's Guide to Windows 10.
- Daren May, co-author of official Windows 10 hands on labs.
- Robert Evans, lead field engineer and consultant for Windows apps.
- Microsoft (PFE) premier field engineers, worldwide.
- Internal Microsoft product teams who contribute and advise.
- Internal Microsoft platform teams who contribute and advise.
- Community developers, like you, who submit pull requests all the time.
Is Template 10 right for me?
Probably. Template 10 packs in as many time-saving lessons-learned as possible. It's perfect for new apps, or apps wanting to leverage the library. That being said, it's not for everyone (probably 90% of Windows XAML apps).