1. 1

  2. 1

    The moderated title belies the significance of its content. This is a short talk by Ryan Dahl, the creator of node and Deno, presented to this year’s RemixConf. Some highlights:

    1. The web is the primary medium of human information and will continue to be for a long time.
    2. JavaScript is the universal—and eventually will be the only—scripting language of the web.
    3. Backend frameworks like Remix are bringing big performance and DX improvements to the JavaScript framework space, but there isn’t a lot of work being done in the JavaScript runtime space [except for Deno, of course].
    4. Cloud infrastructure is too complicated. There’s room to make it simpler and cheaper.
    5. Modern web servers should be fast, have async IO by default, require little to no boilerplate, and be deployable to the edge in less than 10 seconds.
    6. It is possible to build and deploy fast websites using JavaScript frameworks that are simple to write and 100% server rendered for everything but explicitly dynamic content. [Not explicitly stated but implied is that the FE and BE can be written in the same language and share the data types and logic as needed.]
    7. Web frameworks are approaching a post-Unix future: Deno Deploy and Cloudflare Workers run on V8 Isolates, not Linux VMs, and so too will web frameworks. See their POC framework “Fresh”.
    8. Call to action: Just as Deno Deploy and Fresh utilize just-in-time builds, so too should frameworks like Remix to ensure sub-10s deployments. [This is the bit that I don’t understand but am curious about.]

    Naturally, he’s pitching his work (both open source and proprietary) as to an audience where these remarks are less controversial than they might be here (particularly #2). There are some devs here and elsewhere who are preemptively prickly about using anything but the web frameworks they came to love from the aughts (Rails, Django, ASP.NET, etc.) and they are decidedly not JavaScript. The criticism the pricklies (a more generous term than the ones they use) level against JavaScript frameworks is usually some combination of: too complicated, too much config, too slow, too heavy, or doesn’t work with obscure or hobbled browsers. Some of those are at least somewhat hypocritical. Most of the other criticism is either aesthetic or ad hominem, neither of which I wish to get into here.

    The irony is that the rise of JavaScript frameworks in the 2010s was due in no small part to their ability to shift much of the computational burden off of servers that couldn’t scale with traffic. They also met an ever rising bar of expectations for UX that static pages could not meet. The pricklies now agitate to push the pendulum back to the server, but with impractical suggestions for scaling (e.g. go back to writing static HTML by hand) and UX (e.g. dismiss designers as hipsters).

    There’s a lot of prognostication about The Future, some of it depressingly regressive and overgeneralized. Conversely, Ryan Dahl’s vision is modestly titled but surprisingly compelling for the general case.