We've taken 2 steps forward but 1 step back to bring interactivity to to the web. Let's change the way we think about writing web apps.
The past 15 years of the web have been a hot mess. Somehow we survived the metric ton of pain that we’ve all lived through making websites work. We have a different set of problems (and browsers) that we need to work with, but at its core, web sites aren’t that different.
We have a pile of markup coming from the server which the browser knows how to parse and turn into a pretty picture. We still have HTML, CSS, JS. We’ve ironed out a lot of the kinks (and introduced new ones). We have better tools (and better designers), but the technologies haven’t changed much. What has changed is how we use these technologies. Web 2.0 happened. We all made tag clouds that loaded XML from our server and generated markup in JS and then stuck it into the DOM with innerHTML.
A lot of us are building applications now, not web pages. The complexity has increased by orders of magnitude. In 1999 we got some data from a database and rendered HTML on the server — that was the only place responsible for markup. Now we’re changing the display based on user interaction. We’re managing state on the client and server. We’re duplicating logic.
In this talk, I’ll discuss about how we can build the web like it’s 1999 but still get the goodies that we’ve come to love, without having to resort to complicated spaghetti code. We’ll use Facebook’s React as an example of a tool to help approach this problem.
React maintainer. I also work on JS at Facebook. Previously I worked on Firefox at Mozilla.