Skip to content

Please don't remove gulp. Don't make Bundler and Minifier the default. #1588

Closed
@atrauzzi

Description

@atrauzzi

I just finished watching the June 21st ASP.net Community Standup and I have to say I'm a little dismayed. In about 15 seconds, gulp and the node ecosystem were effectively tried and executed for reasons that appear to be based on recirculated old information and oversimplifications.

If the ASP.net team didn't want it to be obvious that the Bundler & Minifier Extension was tapped as a quick ditch appeasement for those who resist learning - consider it a failure.
What I'm creating this issue for is to say that based on not just my own personal opinions, but the state of every web framework out there, if ASP.net is trying to stay legitimate in the eyes of developers who are flocking to other ecosystems: Inventing and forcing an obscure tool with no mind share that reinforces bad practices is not the way to get there!

Some points of order based on the some things I heard during the standup:

  • Nobody disputes whether to commit a lock file. It's not a question, you commit it! Why was this framed as an argument against gulp during the standup?
  • Nobody disputes whether to commit dependencies. You don't. Why was this also framed as an argument against gulp during the standup?
  • From a practical standpoint, the build file for B&M vs the build file for gulp are functionally identical. Except that one is a format nobody outside of the .NET ecosystem will have ever heard of.
  • Gulp is not simply just a minification and bundling tool and to think this is very concerning.
  • The typescript team themselves have embraced NPM, so at the very least the MS-web conglomeration is in discord.
  • Web development is complicated and shall remain so. To guide people any way else is to invite blame from critics - and eventually - frustrated people who moved away from your framework-full-of-lowest-common-denominators
  • Yes, I know I personally don't have to use B&M, trust me, I won't and I'll say here for the record: Nobody else should be using it either.

What I'd like to suggest at this point is that the ASP.net team above all else not bundle B&M as a default with new ASP.net Core projects. It's clear that the B&M tooling is a proprietary hazard that eschews the framework's responsibility to advocate current day best practices.

What this issue is not about however is to say burn it all to the ground. I'd like to also put out there that B&M might have every reason to continue existing as a solution for people who want to move away from the context switches of WebGrease without evolving to a module system. It's a good first step for evolving old ASP.net 4 projects.

So now we have a discussion: What to do instead?

I understand that the JavaScript ecosystem is difficult to navigate. What I don't think helps developers though is telling them to jam a bunch of imperative jquery code and dependencies into their projects and never think about it.

The way I see it, it boils down to:

  • Bundle nothing
  • Keep gulp
  • Facilitate a 2nd pass when scaffolding a new project that allows one to select from a variety of JS stacks

My vote given the deadline looming for the ASP.net team is #2. Stay the course. But I think the only way you're going to fix this is by making it easier for people to know what their options are. Not force them down paths they'll later regret. That's option #3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions