One of the biggest secrets to highly productive .NET development teams is application generators. Enterprises have found that developers adopt platforms far quicker when everything they need to get started is right there, at their fingertips. Application generators help developers to get started quickly by providing useful guide rails that reduce toil and ease their burden. Application generators also encourage common approaches to common problems, which is particularly useful if you have lots of teams creating microservices at the same time.
There are a few ways you can use Steeltoe Initializr. Every option gives you the same ready to go Visual Studio project. The typical use of Initializr is hosting the service in-house. Because it is a nuget distributed package included in an even simple'r .NET Core app, hosting and staying up to date doesn't come with a bunch of debt. Hosting in-house also gives teams the option to add their own private dependencies to the service, but stay up to date with the community.
As a hosted service, Initializr offers both API and browser interfaces. The service itself is distributed as a Nuget package which you include in a new .NET Core web project. From there you can run the project as a web-based service. Out of the box you'll get all the default dependencies along with endpoints for interaction. Try the below curl command that uses our hosted Initializr service to get started.
curl https://start.steeltoe.io/starter.zip -d "dependencies=Actuators,DynamicLogger,SQL Server" -d "projectName=MyCompany.MySample" -o "myProject.zip"
Along with adding the Initializr package, you can optionally add a UI in the same .NET Core project. This gives developers an additional interaction with the Initializr service. We have created a basic web project doing just that to help get started. If you'de like to see the UI in action head over to https://start.steeltoe.io and create your first Initializr project now!
No matter the way you choose to use Initializr, the value is in the distribution of pre-packaged dependencies. The default dependencies included in Initializr are mostly Steeltoe focused. Things like database connectors, a Spring config client, a Consul discovery client, and many others. But this is a community driven project, so it only makes sense to offer ways for the .NET community to contribute.