HLive Update: Added Testing, Plugins, PubSub, and more. See comments for details

This page summarizes the projects mentioned and recommended in the original post on /r/golang

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

    HLive is a server-side WebSocket based dynamic template-less view layer for Go.

  • Playwright

    Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

  • I've pushed some updates to HLive, and I was hoping you would give it a try. HLive is a full-stack dynamic webpage engine, much like Pheonix LiveView. Since my initial post asking for early feedback, I have made much progress on what I want HLive to be. I've now split the project into 3 parts, HLive, HLiveKit and HHot. HLive A WebSocket based dynamic web page engine HLiveKit A standard library for HLive (E.g. PubSub, input focus) HHot An opinionated web framework with hot reload I wanted to make HLive something that others could use to create their full-stack dynamic framework. I decided it would only have features for dynamically changing the DOM (aka HTML) in the browser and reacting to JavaSript events. Everything else would be implemented as a plugin. For example, giving an input field focus was implemented as a plugin in HLiveKit. When I started to create my own web framework, HHot, I challenged myself to not cheat by adding custom features in HLive for it. If it was a feature I wanted, it needed to be usable for everyone. HLiveKit, is where I will add code that I think is generic enough to benefit everyone but not something you'd want in the lower-level HLive. Some recent additions are a simple publish-subscribe library (PubSub) and a plugin for disabling a button on the client-side before it's sent to the backend. I've also moved my component list code to HLiveKet, and it's great for when you have lists of results to page through and code for giving a text input focus. HLiveKit lives in the HLive repo. Over time I will continue to add more and more features to HLiveKit it's also a good place for anyone to contribute elements they create. Using a combination of HLive and HLiveKit, you can build great stuff today. While HLiveKit only has a few features now, they work as examples of extending HLive to add any functionality you need for your app or site. HHot will be an opinionated web framework intended to compete with Next.js, Angular, and Vue.js. This will be its own repo separate from HLive. I'm also using HHot as a way to push HLive to the limits. HHot is in active development, and I hope to share a video preview soon. If creating a dynamic HTML framework using HLive is something you want to do, reach out and let's chat. Testing was something I wanted to solve well. I wanted a system-testing solution to ensure the Go and JavaScript worked perfectly together. I also wanted something HLive, and HHot developers could use to test their code too. You now have HLiveTest. HLiveTest is built using https://playwright.dev. This means it uses a real browser, but, in use, it feels like using Go's httptest server. It lives in the HLive repo. I'm happy to answer any questions you may have, so please ask away.

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

    Playwright for Go a browser automation library to control Chromium, Firefox and WebKit with a single API.

  • Seems that https://github.com/mxschmitt/playwright-go is sort of doing a similar thing in terms of controlling the frontend ?

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