“Modern Javascript” book is available! Check out

New Graphic

Keeping Your Business And Clients Safe With Digital Policies

Now that we have our view and component layer, we need something to manage state and the lifecycle of our application. Redux is also a clear winner here.

Alongside React, Facebook presented a design pattern for one way data flow called Flux. Flux largely delivered on its promise of simplifying state management, but it also brought with it more questions, such as how to store that state and where to do Ajax requests. To answer those questions, countless frameworks were built on top of the Flux pattern: Fluxible, Reflux, Alt, Flummox, Lux, Nuclear, Fluxxor and many, many more. One Flux-like implementation eventually caught the community’s attention, and for good reasons: Redux.

One thing to be careful is the natural instinct to try and abstract away the Redux boilerplate. There’s good reasons behind all those pieces. Make sure you tried it and understand the “why” before trying to blindly improve on it.

Why Javascript?

JavaScript is the standard language of the web platform. Learning it will allow you to build any app you want for any device or platform you want. Watch this 1 minute video to learn more about what JavaScript can do for you:

The essentials in order:

  • Newbie friendly: Make a Star Wars Game with Hour of Code (free website)
  • Newbie friendly: “JavaScript for Cats”, Max Ogden (free website)
  • Newbie friendly: FreeCodeCamp’s 10-hour Basic JavaScript track You can come back to FCC for more practice while you explore the rest of these resources. I recommend that you dedicate time to study other resources and do some fresh FCC exercises every day. There are hundreds of hours of exercises, in total, covering a lot more than just JavaScript.
  • Newbie friendly: “JavaScript for Cats”, Max Ogden (free website)
  • “Eloquent JavaScript: Second Edition”, Marijn Haverbeke (book with free online edition)

Why Universal?

Nobody else has this understanding of the word isomorphic. Words are only useful if they communicate information, but they can only communicate information if we can agree on their definition.

The troubling thing about the word “isomorphic” is that it already has a well understood definition in the context of functional programming, one of the pillar paradigms of JavaScript.

Lots of people think of the mathematical / FP definition borrowed from category theory. An isomorphism is a pair of functions (morphisms) such that:

var Prism = require('prismjs');

// The code snippet you want to highlight, as a string
var code = "var data = 1;";

// Returns a highlighted HTML string
var html = Prism.highlight(code, Prism.languages.javascript);

In JavaScript, variables outside the scope of a top-level function are global (meaning, everyone can access them). Because of this, it’s common to have “namespace pollution”, where completely unrelated code shares global variables.

example();

Good luck!

Share this

Bill Gates

Compassionate entrepreneur on a mission to end homelessness. #jshomes Javascript, tech education, electronic music, photography, film, viral apps.

Last Reads

Responses (7)

Write a response
  1. Profile Picture

    Jacob Amaro

    Music is one of the driving forces in my life. I pray you will not let this be the last concert you attend. Dolly Parton, Kenny Rogers, Alabama, Three Dog Night, the first Bryan Adams: Cut like A Knife. And many more. Those I have seen. Nothing else like it. So proud u share music w your kids.

    1. Profile Picture

      Jacob Amaro

      @Jacob Amaro My father would always play Matt Monro or Madonna or some other classic CD every Sunday morning, while my mom was cooking breakfast. It was always a good Sunday to wake up to. :)

    2. Show more answers
  2. Profile Picture

    Mitchell Parison

    Beatiful article! Very helpful!