The future of web software is HTML over WebSockets

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. htmx

    </> htmx - high power tools for HTML

    Not the author, but since nobody did, I feel compelled to mention htmx:

    https://htmx.org/

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. Phoenix

    Peace of mind from prototype to production

    > Instead of managing the state of your app you’re now managing the state of your app and a connection to a remote server.

    Wouldn't an intermediate layer such as e.g. Phoenix/LiveView (https://www.phoenixframework.org/) solve the problem?

  4. beaker

    Discontinued An experimental peer-to-peer Web browser

    Make it HTML over WebRTC data channels and then we're talking about something special--totally P2P decentralized web browsing. Beaker Browser is working on stuff like this: https://beakerbrowser.com/

  5. live_data

    > Let the browser maintain a DOM tree that templates over a JSON object, then reactive-ly update and it's an amazing experience

    Totally agreed. I even pulled off an Elixir library as a POC to show this concept, here's an example project: https://github.com/surferseo/live_data/tree/master/examples/... (most relevant part of API is here: https://github.com/surferseo/live_data/blob/master/examples/... and here: https://github.com/surferseo/live_data/blob/master/examples/...)

  6. pojo_flow

    > HTML over WebSockets is nice, but what is better is reactive data binding over the socket. Let the browser maintain a DOM tree that templates over a JSON object, then reactive-ly update and it's an amazing experience. You have minimal data transfer, and minimal rendering updates. There is a great deal of power in having your UI be a stateless function over a giant JSON object.

    Interesting that you're exploring this idea in the context of board games. I implemented[0] a similar idea while making a browser-based magic the gathering interface. Basically send commands to update the server state (a big JSON object), and the server does state diffs per client and sends lz compressed JSON patches. Worked quite well, but I haven't played with it for a couple years.

    [0]: https://github.com/anderspitman/pojo_flow

  7. tachyons

    Functional css for humans

    I fooled around with a Spark java, j2html, and Bulma css web app for a prototype back in 2017 (2018?) and it killed me how nice it was. The only tooling I needed was Intellij and the app started in milliseconds along with supporting hot reloading.

    Modern web development is a big reason, I left my job at the end of 2019 and went back to school.

    I'm tempted to try something with Javalin(a fork of Spark), j2html + htmx, and Tachyons css now. I think together those would make a beautiful stack.

    http://sparkjava.com

    https://javalin.io

    https://j2html.com

    https://tachyons.io

  8. mnm-hammer

    mnm implements TMTP protocol. Let Internet sites message members directly, instead of unreliable, insecure email. Contributors welcome! (Client)

    I built a localhost web app, where the app runs locally and displays its UI in one or more browser tabs. [1]

    It uses websockets & JSON to connect the SPA UI (in Vue.js) to the app (in Go). I can't imagine any advantages to generating HTML with Go (except perhaps less JS code :-)

    https://github.com/networkimprov/mnm-hammer

  9. pubway.js

    Elegantly handle push notifications without having to figure stuff out

    > This made me wonder, why aren't we just always pushing the entire resource state over websockets.

    Because this won't respect HTTP caching and you'll end up sending way more data than you need. Best instead to just send up URI and `GET/DELETE` verbs to indicate intent. I wrote about this: https://github.com/krainboltgreene/pubway.js#pubway

  10. pglet

    Discontinued Pglet - build internal web apps quickly in the language you already know!

    Oh, ASP.NET Web Forms were awesome! I remember it was so easy to onboard new developers: built-in state management between requests, WYSIWYG editor, high-level controls abstracting from HTML. Maybe because I miss ASP.NET so much :) I started working on https://github.com/pglet/pglet to have something like "ASP.NET on steroids" - server-side controls with React UI. However, it's not a HTML passing over WebSockets, but controls state which takes much less traffic with smaller latencies.

  11. fuse

    Multiplayer Online Standard (by tinspin)

    What advantage is this providing except job security for developers that have to port working HTTP/1.1 systems to HTTP/2&3 and WebSockets?

    Have you used HTTP/1.1 comet-stream? I recommend you look at this sites source before you commit further: http://fuse.rupy.se

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

  • Organize your layout by using <div> elements and Bootstrap 🤹

    1 project | dev.to | 12 Dec 2024
  • Building a 🧾 PDF Invoice Generator with 📨 Twilio SendGrid, 🐍 Python, Flask, and 🖌️ Bootstrap

    2 projects | dev.to | 7 Dec 2024
  • Fix Bootstrap 5.3 modal's rootElement

    1 project | dev.to | 29 Nov 2024
  • Blazor #3 - How to Install Foundation into a Blazor Project

    3 projects | dev.to | 20 Oct 2024
  • Bootstrap Basics

    1 project | dev.to | 29 Sep 2024

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?