Win a copy of Java Mock Exams (software) this week in the Programmer Certification (OCPJP) forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Front-End Tooling with Gulp, Bower, and Yeoman author questions

 
Joris Renting
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why did you choose to use these 3 tools specifically? Is it because you've done a lot of research and found a good synergy between them? Or is it more because you have the most experience using these tools?
 
Stefan Baumgartner
Author
Greenhorn
Posts: 7
5
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's a bit of both and also neither/nor :-) I do have lots of experience with those tools in the field, but also because I did lots of research beforehand. However, the reason why I chose these tools is actually because of some specific features that made them perfect for the book:
1. Gulp's task system is super-easy to grasp, because it's as easy as defining a function. And once you get the knack of streams and plugins, you can actually execute anything within a Gulp task. Even though there are lots of other build tools out there that are better suited for other use cases (like Webpack for React), Gulp is still the only tool where you Make-like freedom without the overhead of other tools or the opacity of others.
2. Bower is the only dependency manager that features a true flat dependency tree. This is crucial for front-end development, especially if you want to cover a broad area of use cases and not just stick to the MVC framework of the month. Also, you can easily create your own dependencies without having it to publish to certain registries.
3. Yeoman has as scaffolding tool the best range of pre-defined generators and is also the only one that's easy to extend. I know no other tool that's on par with Yeoman in terms of accessibility for new developers.

That being said, all three concepts of build system, dependency manager and scaffolding tool are explained in a way so you can easily switch the tool for one that's better suited for your purpose. Want to drop Bower in favour of NPM, so worries. All concepts and everything you've learned so far still applies. Finding a better scaffolding tool: The stages of input, assembling and installing still hold up. I also highly suggest that if the eco-system you are working in has other tools for those use-cases that are more common, please use them. The Ember-CLI for instance has all those features of building, dependency management and scaffolding already in place. It would be crazy recreating everything with the tools I've chosen to explain the core concepts. However, the concepts are still the same. So you should be able to understand the process of Ember-CLI nonetheless.

Never forget the longevity of JavaScript projects ;-)
 
Joris Renting
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
So if I understand correctly, by using these tools, I can easily switch between frameworks in the future (if done correctly)?
 
Stefan Baumgartner
Author
Greenhorn
Posts: 7
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is not what I said, but yes, sort of. What I said: These tools represent the underlying concepts the clearest, easiest and in the most extensible way. By using these tools, you know best what the core of a building tool, scaffolding tool and dependency manager is. Also, you can apply those tools to a plethora of use cases because of their extensibility and general purpose approach. And you will be able to understand different, more specific tools once you need to approach them.
 
Frederic van West
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Why do folks talk about MEAN stacks and ignore these kinds of building tools? Obviously it's difficult to know every different java script framework but how does one know which ones are the best to learn rather than which one is "hot"?
 
Stefan Baumgartner
Author
Greenhorn
Posts: 7
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's funny that you mention the MEAN stack, as the MEAN stack is a prime example of exactly those three tools :-) They use Gulp and Bower: http://learn.mean.io/#mean-stack-prerequisite-packages and have a fully featured Yeoman generator: https://github.com/meanjs/generator-meanjs#readme -- I don't do MEAN, so I don't know how much they how they talk about it, but it seems it's a first class citizien
And yeah, it's hard to know every JavaScript tool or framework out there. I always go by the rule that I don't learn the frameworks, I learn the concepts behind it and try to incorporate them into my daily workflow. Concepts stand a lot longer than mere tools. And if you find something that hasn't something new to offer, you can safely ignore it.
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 65660
129
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Stefan Baumgartner wrote:
Never forget the longevity of JavaScript projects ;-)


I must use this
 
Happiness is not a goal ... it's a by-product of a life well lived - Eleanor Roosevelt. Tiny ad:
the new thread boost feature: great for the advertiser and smooth for the coderanch user
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!