dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.35k stars 9.99k forks source link

Empty Blazor project template #32832

Closed danroth27 closed 2 years ago

danroth27 commented 3 years ago

The default Blazor template has a bunch of stuff in it to help you get started. This means you have a bunch of stuff to delete once you want to build your own app. We should have a way to build an empty Blazor project that has only minimum of what you need. This could potentially be an option on the existing templates.

lbugnion commented 3 years ago

As mentioned on Twitter that's what I did on https://github.com/lbugnion/timekeeper which allowed me to progress much faster without getting confused by CSS and JS that I didn't know. An empty template is also important to teach Blazor without letting another framework get in the way, or simply because a designer prefers another CSS framework.

ghost commented 3 years ago

Thanks for contacting us.

We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

ghost commented 3 years ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

sayedihashimi commented 2 years ago

Should it be an option on the existing template or an entirely new template?

danroth27 commented 2 years ago

Should it be an option on the existing template or an entirely new template?

Still to be decided. An option would simplify the number of templates we have. We don't just have one Blazor template: there's Blazor Server, Blazor WebAssembly, and .NET MAUI Blazor. How do you feel about the user experience of this being an option in VS? It would be different than what we do for ASP.NET Core, which has a separate empty template...

sayedihashimi commented 2 years ago

I was thinking for each hosting option Empty would be a checkbox in VS. Seems like it would be confusing to have

danroth27 commented 2 years ago

I was thinking for each hosting option Empty would be a checkbox in VS.

Yeah, that's what I was thinking too. Otherwise, the number of templates gets out of hand.

sayedihashimi commented 2 years ago

Ok great, thanks.

MarvinKlein1508 commented 2 years ago

I would do it the other way around.

When you have created a few demo projects, you will most likely don't need any of the template data anymore.

So keep the three templates and add an option to create a full demo. Doing it this way keeps the templates clean and makes it more convienient for everyone to create a new project.

BTW. I really think the razor class library should be in the blazor category as well. Whenever I'll need to create a clas slibrary for blazor components, I'm searching this project.

TanayParikh commented 2 years ago

I was thinking for each hosting option Empty would be a checkbox in VS.

Yeah, that's what I was thinking too. Otherwise, the number of templates gets out of hand.

@danroth27 just confirming this is still the decision we'd like to pursue. Ie.

Adding an option to the Blazor Server, Blazor WASM & MAUI Blazor templates, to make the template content empty.

I imagine, this may also involve disabling the other template options like authentication (?) Or is that not the case?

danroth27 commented 2 years ago

I imagine, this may also involve disabling the other template options like authentication (?) Or is that not the case?

Yup, I'm ok if empty doesn't compose with the other options.

Eagle3386 commented 2 years ago

Since this is all about open-source & community voices, I'm strongly against disabling authentication.

Why do you want to combine "getting rid of outdated Bootstrap bloatware, etc." with "remove APIs, deps, etc. for authentication or things like that"?

mkArtakMSFT commented 2 years ago

Discussed this further in the team and have decided to go with a separate template options:

We won't have an Empty Blazor MAUI project template for now. //cc @TanayParikh @danroth27 @MackinnonBuck @cerasamson

cerasamson commented 2 years ago

@danroth27 Do you feel strongly about keeping the survey component in the empty app template?

danroth27 commented 2 years ago

We should remove the survey component from the empty Blazor templates. This template is more for users that are already experienced with Blazor.

cerasamson commented 2 years ago

For the empty Blazor WebAssembly template, just confirming that it is standalone and not hosted?

@mkArtakMSFT

danroth27 commented 2 years ago

For the empty Blazor WebAssembly template, just confirming that it is standalone and not hosted?

I think we'd want it to support the ASP.NET Core hosted option.