4 ms·
I could see where this would be useful for somebody just starting out, and maybe that is what they are shooting for, but I see people outgrowing this pretty fas
by mberning 14y ago
I could see where this would be useful for somebody just starting out, and maybe that is what they are shooting for, but I see people outgrowing this pretty fast. Once people reach a certain level of competence it's going to be quicker and/or easier to set things up themselves.
- mcrittenden 14y agoCan you explain this more? What about it will be outgrown and how could a home grown setup be faster than just running a yeoman init command?
- mberning 14y agoHere's an example - When I set up a new rails app there is a variety of stuff that I go and change immediately. Part of this has to do with the fact that I use jruby exclusively. I have a hand full of my own initializers I add to almost every rails app. Change some default config options. Delete some of the default tests that they give you. Delete some default fixtures. A similar story could be applied to any of the technologies that Yeoman attempts to wrangle. Yes I am quite aware that I could write my own generator to do all this for me. That is not the point. I agree that what Yeoman aims to do could be useful for some. I am just pointing out that most people I work with have outgrown boilerplate solutions, as have I. I think many people will have a similar experience.
- deleted 14y ago[deleted]
- jonahx 14y agoI don't think this is true. In fact, almost the reverse is the true.
- marknutter 14y agoI feel the complete opposite, actually. The more I know, the more I don't want to have to keep going through the same setup on every single project. It's important to understand what's going on under the hood, for sure, but to setup each project by hand every time is a big waste of time.
- highwind 14y agoTrue. But you cannot expect that their boiler plate is good for everyone. As you become more familiar with a technology, you probably want to create a boiler plat that works for you. I find that tools like Yeoman keeps me from learning a tool when I'm just starting out and when I become good enough, its boiler plate is just not good enough.
- greaterweb 14y agoI keep seeing "boilerplate" being tossed around in these comments, I'm not sure that really serves to identify what Yeoman is. Yeoman is tooling and workflow concepts, take what you need, leave what you don't. Best of all fill any gaps with your specific needs. Yeoman pursues package management through Bower. This can be done with our without Yeoman but the reality is front end package management is still a relatively new concept but one all developers should be latching onto sooner than later. Yeoman pursues workflow tooling through Grunt. Many lack an understanding of what Grunt is and how it impacts your workflow but for me it was revolutionary. Yeoman generators give you starting points for your front end assets but aren't intended to be more than staring points for concepts within your application (eg. I need a new controller). If these generators fail to meet your needs for a specific project or your overall project workflow, author ones that do. They also pull together tasks you would typically handle manually (eg. I created a new-controller.js now I need to add that script tag to my index and setup some unit tests). Yeoman is a lot of things but doesn't claim to be a boilerplate for any one thing. Whether or not you use Yeoman, I encourage everyone to dig through it and get a complete understanding of what it is and how it attempts to improve the efficiency of your workflow and tooling. You can apply these concepts to your own custom workflow or build a custom one based on theirs.
- crucialfelix 14y agoyour talking only about the default boilerplate. but what yeoman primarily is, is a rails-inspired generator system and you can personalize it and build up your own collection of generators. for that it works quite well and better than grunt's own which is simpler. for instance I'm about to write one that clones compass-bootstrap and creates a _variables.scss and a screen.scss and a test page and hooks up guard reload into a grunt watch task. so I can then live tweak a bootstrap setup while looking at my example page (with all elements( and easily comment out all the features I don't want for a given site. other simple generators do things like create a single bootstrap model. or you could have your own personal reset and .scss libs and clone or copy them into any project. you can write your own using the generator that generates default generators. build up your personal collection.
- jlongster 14y agoOthers are disagreeing with you, but I actually agree. Yeoman isn't attractive to me at all. It's a lot of boilerplate and the return just isn't enough. It's much easier to directly set things up, and create custom boilerplates for my needs.
- greaterweb 14y agoI think there may be some confusion by some as to just what Yeoman is and it's usefulness. My opinion is that Yeoman strives to improve your workflow and tooling in front end development. The core team has engaged the dev community and identified how people are working, what tooling they use and what pain points they experience. Yeoman serves to centralize workflow and tooling and ease those pain points. The generators are very useful as well and extensible. Again, Yeoman may not be right for everyone but I would be interested to know more about your workflow and tooling and contrast it to some of the concepts pursued. This feedback would be useful to those considering Yeoman.
- jlongster 14y agoI think there's a certain kind of person that's attractive to these kind of verbose, complex bootstrapping tools. Not that that's a bad thing at all, but like you said, it's not for everyone. I can see the usefulness, but when I try to use it, it just feels like it has a steep learning curve and I could better invest my time elsewhere. I use node heavily, and setting up the project, `npm install express` and a few other libraries, only takes a few seconds. I can start writing code quickly. I also don't create new projects that often, but I can't imagine most people are daily creating new projects. At work we have our own django bootstrap that we can easily hack on and clone. I can't say exactly why it doesn't fit my use case, but it just doesn't feel right for some reason. It has a ton of dependencies. I don't see why I shouldn't just use grunt and bower directly, etc etc.
- pomber 14y agoThis is exactly what happened to me. I started using Yeoman, loved it, then I started to need more flexibility, I learned how to use Grunt, and set up my own build and preview processes.
- greaterweb 14y agoI disagree. The initial release of Yeoman with it's "opinionated workflow" (as they had coined it) cornered you into some dead ends, Yeoman 1.0 does not and is highly extensible. Yeoman no longer attempts to be a wrapper for things like Bower and Grunt but rather concedes their usefulness while keeping them separate. Use it how you see fit. What is great about Yeoman is it really gets you thinking about your end-to-end process for front end application and asset development and provides you some great avenues to pursue in both tooling and workflow. From asset creation, unit/end-to-end testing and build process it's rather complete in concept. Is Yeoman for everyone? That's entirely up to the developer. Anyone worth his/her weight will certainly be pursuing these concepts in their own workflow whether with Yeoman or without. "Once people reach a certain level of competence it's going to be quicker and/or easier to set things up themselves." Could you be a bit more specific as to what they will outgrow? Evolve maybe, but I personally will only shelf my usage of Bower and Grunt tooling if something makes more sense in my workflow.