Hacker News new | ask | show | jobs
by simfoo 2756 days ago
Why is it that nowadays all kinds of libraries go down the framework path by forcing/encouraging the user to adapt their workflows to use some kind of custom tooling?

I mean look at the readme: Getting Started? Just call "python boden.py new -n AwesomeApp"

Just provide examples in source form with minimal and standard instrumentation (like project files) and leave the rest to the user

1 comments

I rather like using the custom tooling. It means that if people are following the prescribed procedure, they will always be using the latest version of a project template or some such rather than duplicating a local copy of what might be a hideously out-of-date template.

With Swift, for example, using Swift Package Manager (SPM) to initialise templates means that the syntax in the newly-created project's files is up-to-date, the Package.swift file follows the appropriate naming conventions for whatever version of SPM it is, and it's much more convenient to do `swift init` than to go clone a github repo manually then rename this or that.

It's basically a command-line version of project templates in Visual Studio or whatever, and people generally like those. Sane defaults are nice, but sane defaults with validation are nicer.

Though I agree that it would be nice to just have a blank template available for those who don't want to use the tooling. There should always be a subsection in the Getting Started section that says "clone this repo, and you're good to go. Be sure to clone the repo again when you want to make another project; don't just copy your existing clone!".