Skip to content

The future of SideWaffle and TemplateBuilder #401

@sayedihashimi

Description

@sayedihashimi

Hi everyone. Back in 2013 we created TemplateBuilder/SideWaffle as a way to simplify creating and maintaining templates. After kicking the tires on that I realized it wasn't good enough. I finally got the opportunity to solve this problem in the right way and we have created the Template Engine. We've taken learnings from here and from other side projects and developed a really great story for creating, maintaining and sharing templates. The Template Engine is now being used in dotnet new, more info on that at https://aka.ms/dotnetnew-intro. We haven't created any support in Visual Studio yet, but we are working on it.

With the Template Engine the primary way to widely distribute templates today is to use NuGet packages. One of the main ideas of the Template Engine was to enable creating templates for different entry points such as:

  • Command line with dotnet new
  • Visual Studio
  • Visual Studio for Mac
  • Visual Studio Code
  • yeoman
  • etc

Now, in this new world where does TemplateBuilder/SideWaffle fit in? TemplateBuilder is no longer needed and is essentially irrelevant now. With SideWaffle the real value was in:

  • Having a single place to find high quality templates
  • Having a place where template authors can work together to solve their problems and ask questions

For the future of SideWaffle I'm proposing the following:

  • Keep the existing templates as they are. Continue shipping those in the .vsix that we already have. We can update that to work on VS2017 but we won't add any new templates to that distribution.
  • All new templates are created with the Template Engine, and shipped in NuGet packages. I'm not sure if we want 1 NuGet package per template or to have a package per category (i.e. Web, Mobile, etc). We can decide on that later.
  • We work with @mlorbetske (who works on the Template Engine at Microsoft) to create a Visual Studio wizard that can be used to surface templates in Visual Studio. Ideally VS users can also find and install templates.

Since the VS story is a work in progress with the new templates we can start with creating templates that can be used by dotnet new.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions