The Future (and the Past) of the Web Is Server Side Rendering

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • htmx

    </> htmx - high power tools for HTML

  • This is why I'm really excited about htmx [1]. No need to write isomorphic javascript at all. You can still use server side templates but have interactive web pages.

    [1] https://htmx.org/

  • rendertron

    Discontinued A Headless Chrome rendering solution

  • Rendertron is deprecated

    Please note that this project is deprecated. Dynamic rendering is not a recommended approach and there are better approaches to rendering on the web.

    Rendertron will not be actively maintained at this point.

    https://github.com/GoogleChrome/rendertron

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • SvelteKit

    web development, streamlined (by sveltejs)

  • Shoutout to Sveltekit which does SSR and client-side navigation by default! https://kit.svelte.dev/

  • Alpine.js

    A rugged, minimal framework for composing JavaScript behavior in your markup.

  • Personally I would use htmx and roundtrips for all sorts of modification including data (such as reorganizing two rows in a table). But you'd also do that in an SPA, right? How do you prevent desyncs there? Also for e.g. sorting you'd need a server roundtrip anyway in the (likely) case where you use something like pagination or lazy loading.

    For sending data, you would just have a reply that instructs HTMX to display a success message. On an SPA you'd have the same. With both, you can interact with the page while the data is being sent.

    Of course, sometimes you want purely 'cosmetic' actions, such as an "add row" button that pops open some data entry fields. For something like that you should not use htmx itself, but instead something like https://alpinejs.dev/.

  • classless-css

    A list of classless CSS themes/frameworks with screenshots

  • Not op but classless CSS frameworks are awesome. The idea is to keep it simple and use the appropriate HTML tags where there were generally meant to go, and the framework will theme the page to improve usability and add flair. I've developed some great little sites with no classes at all!

    Obviously this approach has its limits, but it works well for proof-of-concept sites or sites that don't need to be very complex or dynamic. Just a sensible font size, nicer looking form elements, etc.

    Here is a list of classless CSS frameworks: https://github.com/dbohdan/classless-css

  • liveviewjs

    LiveView-based library for reactive app development in NodeJS and Deno

  • If you are looking for server-side rendering that enables rich, react-like user experiences, check out LiveViewJS (http://liveviewjs.com). Supports both Deno and Node runtimes.

    (Full disclosure: am author)

  • Vaadin

    Vaadin 6, 7, 8 is a Java framework for modern Java web applications. (by vaadin)

  • > Slightly off topic, but I found JSF the most productive out of any framework.

    In my experience, it has been a horrible technology (even when combined with PrimeFaces) for complex functionality.

    When you have a page that has a bunch of tabs, which have tables with custom action buttons, row editing, row expansion, as well as composite components, modal dialogs with other tables inside of those, various dropdowns or autocomplete components and so on, it will break in new ways all the time.

    Sometimes the wrong row will be selected, even if you give every element a unique ID, sometimes updating a single table row after AJAX will be nigh impossible, other times the back end methods will be called with the wrong parameters, sometimes your composite components will act in weird ways (such as using the button to close a modal dialog doing nothing).

    When used on something simple, it's an okay choice, but enterprise codebases that have been developed for years (not even a decade) across multiple versions will rot faster than just having a RESTful API and some separate SPA (that can be thrown out and rewritten altogether, if need be).

    Another option in the space is Vaadin which feels okay, but has its own problems: https://vaadin.com/

    Of course, my experiences are subjective and my own.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts