JavaScript suffers and imposes Decision Fatigue on developers. I am enjoying working with React and Express, but the search for better tools and techniques is exhausting!
JavaScript [under the Node.js ("Node") ecosystem] has a reasonably well-known limitation: it is prone to cause decision fatigue.
Over the past month or so of free-form investigation, I have juggled the following technologies or tools:
Typescript
- TDD
Jest (Chai/Mocha were considered, but I think Enzyme may better-suit my needs, and Enzyme seems to best-pair with Jest)
- Multiple CI build/configuration/manipulation scripts
- Different code coverage tools (e.g. CodeClimate,
inferno-scripts test --env=jsdom --coverage)
MobX (I tend to use Redux, but I’m exploring MobX with Inferno in building a ResumeBuilder)
GatsbyJS with accompanying tools Apollo and GraphQL
- Various
Functional Programming techniques–I know the theory behind these (thanks, misspent academic youth!), but something like Elm still makes me worry about how I’ll run this through Babel to polyfill and present to Webpack
- Performance optimization–how do I definitively prove, aside from either running timing-scripts in the CLI or looking at Chrome’s debugging console, that the apps I write are production-ready?
This list, while exhausting, is not exhaustive. I have worked through many technical stacks in my time, and I really like the Node-based stack It has good infrastructure, reasonable-seeming performance (text-file parsing aside–Python beats the daylights out of JavaScript for this), easy deployment out to Heroku and friends, and an active community. Unfortunately, there is something of a paradox of choice here, and this leads to decision-fatigue.