Code Monkey home page Code Monkey logo

js-stack-from-scratch's Introduction

JavaScript Stack from Scratch

Build Status Release Dependencies Dev Dependencies Gitter

React Redux React Router Flow ESLint Jest Yarn Webpack Bootstrap

Welcome to my modern JavaScript stack tutorial: JavaScript Stack from Scratch.

๐ŸŽ‰ This is the V2 of the tutorial, major changes happened since the 2016 release. Check the Change Log!

This is a straight-to-the-point guide to assembling a JavaScript stack. It requires some general programming knowledge, and JavaScript basics. It focuses on wiring tools together and giving you the simplest possible example for each tool. You can see this tutorial as a way to write your own boilerplate from scratch. Since the goal of this tutorial is to assemble various tools, I do not go into details about how these tools work individually. Refer to their documentation or find other tutorials if you want to acquire deeper knowledge in them.

You don't need to use this entire stack if you build a simple web page with a few JS interactions of course (a combination of Browserify/Webpack + Babel + jQuery is enough to be able to write ES6 code in different files), but if you want to build a web app that scales, and need help setting things up, this tutorial will work great for you.

A big chunk of the stack described in this tutorial uses React. If you are beginning and just want to learn React, create-react-app will get you up and running with a React environment very quickly with a pre-made configuration. I would for instance recommend this approach to someone who arrives in a team that's using React and needs to catch up with a learning playground. In this tutorial you won't use a pre-made configuration, because I want you to understand everything that's happening under the hood.

Code examples are available for each chapter, and you can run them all with yarn && yarn start. I recommend writing everything from scratch yourself by following the step-by-step instructions though.

Final code available in the JS-Stack-Boilerplate repository, and in the releases. There is a live demo too.

Works on Linux, macOS, and Windows.

Note: Since the tutorial was last edited in May 2017, a few libraries have slightly changed their APIs. 95% of the tutorial is still perfectly valid, but if you run into something weird, make sure to check out the open issues.

Table of contents

01 - Node, Yarn, package.json

02 - Babel, ES6, ESLint, Flow, Jest, Husky

03 - Express, Nodemon, PM2

04 - Webpack, React, HMR

05 - Redux, Immutable, Fetch

06 - React Router, Server-Side Rendering, Helmet

07 - Socket.IO

08 - Bootstrap, JSS

09 - Travis, Coveralls, Heroku

Coming up next

Setting up your editor (Atom first), MongoDB, Progressive Web App, E2E testing.

Translations

If you want to add your translation, please read the translation recommendations to get started!

V2

Check out the ongoing translations.

V1

Credits

Created by @verekia โ€“ verekia.com.

License: MIT

js-stack-from-scratch's People

Contributors

arthur-zhuk avatar baer avatar ceritium avatar eswat avatar fbertone avatar felixsanz avatar fredchyan avatar gitter-badger avatar goldylucks avatar grabes avatar jakeniemiec avatar kevin-xi avatar kulte avatar microbenz avatar mihailgaberov avatar nagamalli9999 avatar naomihauret avatar nicolaferracin avatar peterchon avatar piperchester avatar radarhere avatar rouzazari avatar saniko avatar sbs863 avatar senk avatar stanlindsey avatar techgaun avatar usulpro avatar verekia avatar vfonic avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.