TemplateStudio
TemplateStudio copied to clipboard
Make the use of a .Core library optional in the generated app
Is your feature request related to a problem? Please describe.
Generated apps put some of the code in a separate, referenced library as part of the solution. This isn't always desirable. WinTS is useful in a number of scenarios and its ability to lead the user towards recommended practices is generally useful. However, when building apps to demonstrate an issue, teach a concept, or as part of proof-of-concept development, it often includes more than is needed and this can be distracting. I build many more demonstration, experimentation, and POC apps than the ones I intend to ship. For many of these non-shipping apps, I want more than I get in a blank app but less than is included in what WinTS generates. I'm looking for WinTS to be able to move into that middle ground and give me the ability to only include what I want/need and not a lot of other things that might be useful in a larger/shipping app.
It would be great if WinTS could help with generating more apps and not force me to have to decide if it's easier for me to create a blank app and add the things I need or create an app with WinTS and remove (or move) the things I don't. Sometimes this decision isn't easy and so the existence of WinTS actually makes my job as a developer harder as I need to make an extra decision before I start.
The use of multiple projects in a solution is one such example. If I only want to show or test something simple, having the code split over multiple projects makes it harder to see/show everything that's going on. If the app doesn't need to reuse any of the code, splitting the code over multiple projects adds unnecessary decisions and places to look for code. Future maintenance of the codebase is made harder if the code is split over more projects that is necessary/appropriate.
Describe the solution you'd like
I would like to have an option in the project creation wizard to determine whether all code is included in a single project or not. If this is enabled/selected, the code would generate much as it is now with code that is potentially reusable being included in a referenced ".Core" project. If not selected, all the code would be included in a single generated project.
I'd be happy for this to be selected by default as I appreciate the value of demonstrating how to do this and encouraging code reuse and isolation where appropriate.
Describe alternatives you've considered
The alternative is modifying the generated code by hard, but this is not always desirable--as discussed above.
Additional context
Applies to the following platforms:
| UWP | WPF | WinUI |
|---|---|---|
| Yes | Yes | Yes |
I understand the value of this for the scenario you mention but am not sure how much of a pain point this is to our users.
Giving the option to chose if code that is currently added to the core project should be added to the main project adds further complexity to the templating system and I'm not sure if the possibility to choose justifies the additional complexity.
Would love to hear thoughts from others to see how much of a pain point the Core project is.