The Gowebly CLI, Create Full-stack Web App with Golang, Alpine.js, HTMX, and Tailwind CSS
Go, also known as Golang, is a statically typed, compiled language known for its simplicity and efficiency, making it ideal for web application development. The Gowebly CLI leverages these strengths and combines them with the flexibility of htmx and Alpine.js for frontend development.
htmx allows you to access AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, without needing to write JavaScript.
On the other hand, Alpine.js offers the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. Together, these technologies provide a robust and efficient solution for web development.
Here comes the Gowebly CLI, to simplify the process.
Key features
- Dockerfile and Docker Compose files are ready to deploy your application in any environment.
- Extensive documentation is provided, including translations in various languages.
- A basic configuration for golangci-lint is included for quick setup.
- It's ready to install as a Progressive Web App (PWA) on your browser or mobile device.
- It includes a live-reload mode for Go code and frontend files using the Air tool.
- It integrates with popular CSS frameworks such as Tailwind CSS, daisyUI, Flowbite, Preline UI, UnoCSS, Bootstrap, and Bulma.
- Templ package support enables HTML building with Go.
- Works smoothly across multiple architectures and platforms, including GNU/Linux distros, Microsoft Windows (including WSL), and Apple macOS.
- It's designed to accommodate developers of varying experience levels, with an intelligent CLI that handles routine project setup and prepares code for production use.
- It offers out-of-the-box support for the built-in net/http package and popular Go web frameworks and routers like Fiber, Gin, Echo, Chi, HttpRouter, and PocketBase.
- A new JavaScript runtime environment, Bun, is supported for frontend development.
- The Gowebly CLI is open source and 100% free under the Apache 2.0 license.
- It accelerates project initiation, supporting libraries like Go, htmx, hyperscript, or Alpine.js.
- It has a user-friendly library of helpers for your Go code.
Install
Using Golang
First you should have Go language installed on your machine. Make sure it is 1.22.0 and above.
Then run:
go run github.com/gowebly/gowebly/v2@latest create
Install using Homebrew
- Add new Formula
brew tap gowebly/tap
- Install Gowebly
brew install gowebly/tap/gowebly
Install for Windows, Ubuntu and Fedora
Download ready-made exe
files for Windows, deb
(for Debian, Ubuntu), rpm
(for CentOS, Fedora), apk
(for Alpine), or Arch Linux packages from the Releases page.
Create your first app
To create apps in gowebly, you need to run:
go run github.com/gowebly/gowebly/v2@latest create
or
gowebly create
The CLI projects creates the project, with docker fie and all included require Go modules to run your project.
Typically, the created project contains the following files and folders:
- The templates are located in the
./templates
folder. - The main CSS file
styles.scss
is located in the./assets
folder. - The main JavaScript file
scripts.js
is located in the./assets
folder. - The PWA manifest file
manifest.json
and images are located in the./static
folder.
License: Apache 2.0
The project is an open-source that is released under the Apache-2.0 License