Build fast web Applications with plain Javascript , HTML, CSS & Go .

Vanilla is an old fashion full-stack web framework like Laravel, Django and Rails.

Main features of Vanilla framework

Here the main features Vanilla framework will have.

Componentization

Vanilla introduces a component system that extends standard HTML. Components are written as enhanced `.html` files, compiled at build time into Go code, enabling unified front-end and back-end development.

Type System

Vanilla uses an `extern` macro to declare component properties with strict typing. It supports both Go types (structs, maps, slices) and JavaScript literal types, ensuring safe and predictable data binding.

SSG & SSR

Vanilla supports both Server-Side Rendering (SSR) and Static Site Generation (SSG) by compiling templates into a single Go binary. This enables fast rendering, zero-runtime dependencies, and easy deployment.

Remote Actions

Vanilla allows tightly-coupled remote actions, enabling seamless interaction between UI events and backend handlers. Actions are defined declaratively and integrated at compile time.

Remote Functions

Vanilla supports remote function calls that let components invoke backend logic directly, as if calling local functions, streamlining the client-server interaction.

HTMX-like Template Directives

Vanilla templates include expressive directives and variable interpolation, offering a clean and powerful syntax for dynamic rendering—similar to HTMX or Go templates.

Frequently Asked Questions

Why are you building Vanilla?

The first, I'm building Vanilla Framework not because Reactive Web Framework are not easy, but because we thought they were going to be easy. The second, I thought there should be a web framework similar to Laravel, Rails, Django or Next.js in the Go's ecosystem, but not.

Why not just use the Go template library?

Yeah, Go template library is so classic, but we need more modern features, some like componentization, JS & Go's type interoperation, vibe coding and more.

How does it work?

Vanilla is a framework built on top of a template engine and a compiler, and the Vanilla IDE plugin gives you an all-in-one dev environment. It works by turning component templates into Go source code, then compiles everything into a single executable. During this process, Vanilla uses Go’s embed feature to bundle all the static assets you need—like CSS, JS, images, and more—right into the binary. That means you can deploy your app without worrying about external dependencies.

Do I need React technical skills to use Vanilla?

No, building a Vanilla project just need plain Javascript, HTML, CSS technical skills.