I have wondered many times about scaffolding tools available for eg: MEAN stack.
There are also a lot more generators available at YEOMAN . I just wanted to ask opinion on using such generators. I know it would shorten the period of development and allow you to concentrate on what is to be built rather than how it is built.
How many times you get a new project within 1 year? In my case, the answer is 5 to 8. So, using generator does not really save my time. Especially, the structure packed by these generators are always outdated. Taking a look at http://yeoman.io/generators/, you can see:
react-fullstack: 4 months ago
angular: 7 months ago
ionic: 6 months ago
...
They are too old for me.
Dong Nguyen
Web Developer
I usually use scaffolding or generators when working with the less opinionated frameworks such as Polymer or Meteor. I find that whether or not one needs them depends on the type of app one is building and what technologies are being used to build it.
Well I think you could use Express to build your back end and then if you are using Angular 2 use angular-cli to build the frontend. I don't really like to use 3rd party generators. But for Angular 1 I would use yeoman.
But Angular-cli is based on Ember-cli and they really aren't generators but more like tool generators. For example if you wanted to build a controller, a view, and a route for something that will all have the same name like what I normally do, with ember-cli you would just use ember g route <name> This would create a route, view, and controller with the skeleton code that is required for them anyway, also it will add the view route to the main routes file.
They're good for teaching you why people often refactor the code that's generated... The problem is most scaffolds don't reflect a particular chief architects preferred style-guide, or software portfolio policy that has been adopted by company A, B or C. They can't read your mind. So, most have a generic structure that allows for refactoring easily enough by individuals or teams even if it is initially working backwards.
Better to have the option to use it than not I say... but if someone has a desired scaffold they want to use/reuse they should probably do the legwork then automate it so it's not wasted time each time.
I think if you're going to use a generator, then what it does should be very minimal; i.e. it probably shouldn't create a complete project. This isn't true of the generators I've seen, which make a lot of assumptions about how your application works so that they can create a minimal working project. This makes sense, because a generator that only half generates a project probably wouldn't be too popular, and would require you to know what's missing. The issue though is that at least some of the assumptions they make are not ideal, and you end up having to refactor the generated code right away; which in my mind defeats the purpose of generating it in the first place.
This doesn't mean that some form of scaffolding isn't useful, since there are some basic commonalities between most of the projects you create that utilize the same frameworks and tools. My suggestion would be to do as @lichtjaeger suggested, and make your own generator. Yeoman generators are fairly straightforward to produce, and you can get some basic scaffolding for what is repetitive in your projects.
I like Yeoman, but I don't like the generators that are official available. They use other styleguides, other filestructures and / or other modules (etc.) as I would choose.
My solution: I write my own customized generators and use npm install on my private git repositorys to install them.
Anh Nguyen
Software Engineer, Kademi.co
Just started a poll a week ago and the result is clear with 70% per 50 votes using their own project structure :) hashnode.com/post/do-you-use-your-own-nodejs-code…