More interestingly, mobile has overtaken desktops in browser share. Google is doing mobile first indexing. Ethan Marcotte’s article about responsive web design from 2010 is still very relevant.
The internet is fragmented. We are always going to have to build our websites and apps for different platforms and browsers. Integrating manual and automated browser testing into our process is an excellent idea. It’s also prudent to use caniuse.com to find out what we can safely use across browsers.
ECMAScript 2015 has a lot of great features, but the browser support is patchy. Not to worry though because you can write in ES2015 and then use Babel.js to compile the code to ES5. Learning to use these new features is easy thanks to the Babel.js guide.
I thought of objects being like biological cells and/or individual computers on a network, only able to communicate with messages. – Alan Kay
Writing software is relatively easy, maintaining it is hard. That is why most programmers have converged on the idea of writing small components (objects, functions, etc.) and carefully composing them. The complexity of the software decreases because each component “can fit in your head,” and you can reason about it. These loosely coupled components can be replaced more quickly, with more confidence, and with fewer side-effects.
Components let you split the UI into independent, reusable pieces, and think about each piece in isolation. – React.js
Everybody loves React
React.js leverages ES2015, components and powerful build-tools to help you develop dynamic web applications. It is conceptually simple. You create components, and then when there are state changes, React will redraw the component. This is in contrast to the more bug-prone manual changing of specific elements on the page that we had to do with jQuery.
If you want to learn React then I highly recommend doing the following:
- Learn ES2015, especially arrow functions, classes, and modules.
- Build simple components with React.
- Make a full app with React.