The State of Front-End Tooling – 2015(ashn.uk)

over 4 years ago from Ashley Watson-Nolan, Principal UI Engineer at Just Eat

  • Sarah RobinSarah Robin, over 4 years ago (edited over 4 years ago )

    Huh. This was interesting, but a few things stood out as strange to me:

    • NPM listed as a task runner. Despite the fact that you can use npm run as an alias for some scripts, I wouldn't really categorize it this way, as you can use NPM in tandem w/ every other tool listed in this category.

    • The misc tools section doesn't really make much sense to me. Building even a basic project in Yeoman will require me to use NPM, Yeoman, and Bower, which makes comparing these tools against each other kinda weird/confusing, imho.

    Things I wish were included:

    • Would have really liked to see where GNU Make falls in the task runner section.

    • package manager section (NPM, JSPM, bower, etc)

    • module standard adoption (AMD, CommonJS, ES6, etc)

    • Compile-to-JS languages/libraries, ranging from CLJS, Babel, Elm, coffeescript, etc)

    • Languages known in addition to JS (and how often they're used for work)

    Interesting read, though I wish there were more responses and more questions.

    1 point
    • Simon LarocheSimon Laroche, over 4 years ago

      I completely agree, the questions not the right questions to be asked to get a good overview of the state of front end dev. Many simply left out popular tools, and some just didn't work (like jquery and angular in the same question).

      Npm can however be used as a build tool quite well, see: http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/

      We tried it for one of our projects here, and it works quite well.

      0 points
      • Ashley Watson-Nolan, over 4 years ago

        All fair points – I was simply trying to strike the balance between getting useful info and not asking too many questions. What popular tools were left out of any questions?

        Also, having jQuery and Angular in the same question was to judge knowledge levels, not to provide a comparison between the two functionally.

        I am going to try to run the survey periodically to see if trends emerge, so will look at adjusting the questions slightly to gain as much value as possible. Thanks for the feedback!

        1 point
      • Sarah RobinSarah Robin, over 4 years ago

        NPM doesn't actually do the stuff that you're using for the build - its just an interface (as I mentioned in my original post). You're entering in npm run foo but that could be literally anything. NPM isn't a build tool; its a package manager that can act as an interface for almost every other build tool out there.

        For example, I currently use NPM to run a Gulp build system that uses webpack for JS. I could do this with Gulp by itself (but then I'd have to go back to Browserify for JS), I could do this with Webpack by itself (but webpack-dev-server is super opaque), but I couldn't just use NPM.

        0 points
        • Simon LarocheSimon Laroche, over 4 years ago

          Gulp and webpack are also essentially just interfaces. They just make it easier to setup once you learn them.

          0 points