LiveView Is Best with Svelte

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

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • liveview-svelte-pwa

    Local-First LiveView Svelte ToDo App

  • Out of the box, they don't work offline. But there's recently been a project showing it's possible to create a PWA with CRDT's and LiveSvelte:

    https://github.com/tonydangblog/liveview-svelte-pwa

  • golive

    LiveView for Go (by canopyclimate)

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • undead

    LiveView server implementation for the JVM

  • liveviewjs

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

  • pyview

    A Python implementation of Phoenix LiveView

  • electric

    a reactive Clojure dialect for web development that uses a compiler to infer the frontend/backend boundary (by hyperfiddle)

  • The cleanest way to handle the backend and frontend charade I've seen until now is using https://github.com/hyperfiddle/electric which is a clojure DSL on top of react

  • GateOne

    Gate One is an HTML5-powered terminal emulator and SSH client

  • It was Gate One: https://github.com/liftoff/GateOne

    (Note: Company no longer exists so it is unmaintained, fork at will =)

    It's been so long since I've looked at the code but I did write excellent documentation, most of which is generated from docstrings. Example:

    https://github.com/liftoff/GateOne/blob/master/gateone/core/...

    You can read the documentation here:

    https://liftoff.github.io/GateOne/

    If you look at the bookmarks plugin you can see an example of how I performed this style of client<->server synchronization using an Update Sequence Number (USN):

    https://github.com/liftoff/GateOne/blob/6ae1d01f7fe21e2703bd...

    After the web client connects to the websocket all the plugin's `init()` methods are called and the bookmarks plugin's javascript file calls `userLoginSync()`:

    https://github.com/liftoff/GateOne/blob/6ae1d01f7fe21e2703bd...

    It sends the current USN (which is retrieved from `localStorage`) to the server (the routing is quite sophisticated... Just know that the message ends up going to the correct function =) and if it's different from the USN on the server the server will send an updated list of bookmarks to the client at which point the client will take care of that via its own handler:

    https://github.com/liftoff/GateOne/blob/6ae1d01f7fe21e2703bd...

    If you examine the bookmarks.js from top to bottom (it's not THAT long) you should get the gist of where and how various states are stored. That plugin mostly deals with stuff in `localStorage` but if you poke around in Gate One you'll see vastly more sophisticated state synchronization and state update routines at work.

  • 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
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