Gost-DOM is headless browser written in Go. It is written with the purpose of supporting a TDD feedback loop while building web applications in Go.
This article is a short introduction to the the series about the technical solutions. Future articles will go more into details of specific solutions.
It started as an experiment, but as I progressed I strongly felt that this could become an extremely valuable tool for web development in Go.
On February 6th, I released version 0.1, signifying that the project had reached a level that it could fulfil minimal use cases. But as the versioning scheme indicates:
- This is a very early prototype
- The API may not be stable. I believe I have found a reasonably good structure, but I am still learning.
In general, the browser now supports minimal HTMX apps, e.g., clicking elements with HTMX handlers, including boosted links, that update history, form submission using HTMX with content swapping.
Gost was specifically written with HTMX in mind, and it features a V8 engine for JavaScript support. Work is in progress to also support Goja, a pure Go JavaScript engine. Gost has a cookie support, and Gost can bypass the TCP stack for extremely fast test execution. It supports full isolation of test cases with no fuzz, and parallel tests as a result (depending only on your code). The goal is "ludicrous speed" for web application TDD feedback loop.
In future articles, I will dive in to specific aspects and solution I have applied during the implementation of Gost-DOM.
But I invite you to try out Gost-DOM, and spread the word.
Top comments (0)