Step-by-step tutorial to build a modern JavaScript stack from scratch
I feel like the people complaining about how many libraries there are in this stack don&#x27;t know what these tools do. Most are small tools that do one thing very well.<p>Yarn installs packages, much like Gem, NuGet, whatever. Pretty standard.<p>React is a frontend framework. Not surprising that you&#x27;d use one. I suppose you could opt to write a giant pile of vanilla JavaScript instead (I&#x27;m assuming you&#x27;re <i>not</i> using this kit for a simple webpage, which would be silly. We&#x27;re building a web <i>app</i>, right?)<p>I&#x27;d dare to compare Gulp + Webpack + Babel to your &quot;compiler&quot; in a way. I&#x27;m a little lost at why we&#x27;re using both Webpack and Gulp though. Babel is a necessary evil to ensure we&#x27;re &quot;cross-platform&quot; in a manner of speaking. These are probably your most &quot;unnecessarily complicated&quot; tools.<p>ESLint and Flow check your code for obvious mistakes. Reminds me of IntelliSense and compiler warnings. Again, pretty standard stuff.<p>Mocha is a test runner and Chai is an &quot;assertion library&quot;. Chai isn&#x27;t a big deal: expect(foo).to.equal(&#x27;bar&#x27;); Simple stuff.<p>Feel free to scoff at Redux and Immutable if you&#x27;d like. Probably unnecessary.<p>Am I the only one that likes this ecosystem? I feel like it follows the Unix philosophy of &quot;Make each program do one thing well&quot;. You need almost all these tools in other environments -- they&#x27;re just typically chosen for you in advanced.