5 ms·
Javascript tooling is incredibly complicated compared to other languages. Lets compare Java and Angular 6 (using your example) Java Build system: Maven, javac
by bgorman 8y ago
Javascript tooling is incredibly complicated compared to other languages.
Lets compare Java and Angular 6 (using your example)
Java Build system: Maven, javac
Java module system: Class files
Typescript Angular Project: (as of Angular 6): Typescript compiler, Angular compiler, Babel, Webpack, Npm/yarn (which are not always interchangeable). Now if you have a complicated CSS setup you might have to run multiple CSS post processors. If you are using webpack they might be css-loader and sass.
Module system: CommonJS, AMD, UMD, ES6.
Javascript isn't difficult - it is needlessly difficult.
I bet it would take most front end developers over a day to set up all the dependencies for a "modern ES6 react-redux project" from scratch. That is why templates like "create-react-app" are popular- there is way too much plugin configuration and boilerplate necessary to get the toolchain working.
Both Clojurescript and Elm have much saner development workflows on the front end for example. (Both have their own compilers and a better package ecosystem)
- tlrobinson 8y agoTry Parcel: https://parceljs.org/ https://parceljs.org/
- bgorman 8y agoI use parcel every day at work, and have used it for side-projects as well. In many ways Parcel is worse - Parcel is a giant monolith, so when things work it is great. For simple projects it is often fine. However when you are trying to do something complicated, it can be very difficult to debug. Parcel overrides node's module resolution with its own algorithm, and parcel does not use the same plugins as Webpack for all tasks. This means that Parcel. has it's own category of bugs and you will have to figure out if the problem (vs webpack) lies in the different plugin, or parcel's use of the plugin.
- Gene_Parmesan 8y agoI recognize that you're just being helpful, and I do appreciate that, and also my comment is half-facetious, but.. Responding to someone complaining, "The tooling for X is too complex, there's too much of it" by saying, "Here's the answer -- another tool," is maybe just a little bit silly.
- tlrobinson 8y agoThe parent comment was complaining about the number of tools and configuration necessary. Parcel wraps a bunch of those tools up in an easy to use package, and requires zero configuration for many use-cases.
- xtracto 8y agoUh, I don't know how it is now, but back (10 years ago) when I used Maven on a day to day basis, it was a complete nightmare. Editing XML "human readable" files to get into a working configuration was tedious and time consuming. Same with Ant. I won't say that JavaScript is amazing (I don't like it myself), but even reading the name Maven brings me back painful memories.
- yogthos 8y agoHere's what modern ClojureScript setup and workflow looks like: https://github.com/ClojureTO/JS-Workshop https://github.com/ClojureTO/JS-Workshop