• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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

 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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?
 
Author
Posts: 7
5
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 7
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 7
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Stefan Baumgartner wrote:
Never forget the longevity of JavaScript projects ;-)



I must use this
 
reply
    Bookmark Topic Watch Topic
  • New Topic