Skip to main content
gFly v1.15.1
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage
Edit page

Greeting Start

Why gFly?

There are a variety of tools and frameworks available to you when building a web application with Go. However, we believe gFly is the best choice for building modern, full-stack web applications.

Always learn and synthesize from the good things in the available frameworks. With the criteria of making things simple, useful, and always available to help programmers create effective applications, you don’t need to think too much about what to use; instead, focus on creating the application you need.

gFly creates a complete skeleton and helps those who are newbies to Web Programming with Go understand the Web components and use them effectively. We call it aBest Practice for Web Programming in Go

Environment

gFly requires at least Go 1.21.x. So, remember check:

go version

Before creating your first gFly project, make sure that your local machine has Go the latest version installed. For the best development experience, we highly recommend using a full-featured IDE. Here are some excellent options:

  • GoLand: The most powerful Go IDE with advanced features like intelligent code completion, refactoring tools, built-in debugger, test coverage, and deep understanding of Go code. While it’s a paid option, it significantly boosts development productivity.

  • VSCode: A popular free alternative with excellent Go support through extensions. Features include IntelliSense, debugging, and Git integration.

  • NeoVim: A highly customizable text editor popular among developers who prefer a keyboard-driven workflow. With proper plugins, it can provide IDE-like features for Go development.

GoLand is particularly recommended for professional Go development due to its superior code analysis, navigation capabilities, and integrated tools specifically designed for Go.

We recommend using container technologies like Docker Desktop or OrbStack for development. Docker helps create isolated environments that package your application and its dependencies, ensuring consistent behavior across different machines. This makes it easier to:

  • Set up development environments quickly
  • Match production environments closely
  • Manage different versions of services (databases, caches, etc.)
  • Share the same setup with team members
  • Avoid “it works on my machine” problems

Having Docker installed is essential for running the gFly development stack smoothly.

Tools

There are many tools to support coding, proofing, diagnostics, and suggestions to help make the final product highly effective. gFly also uses those tools as a necessary part of the application development process. We encourage you to install and use them.

  • gocritic - Finds code style issues, inefficient constructs, logical errors and suggests
  • gosec - Security checker that scans for common vulnerabilities:
  • govulncheck - Analyzes code for known vulnerabilities:
  • golangci-lint - Fast and highly configurable linter aggregator:
  • swag - Automatically generates Swagger/OpenAPI 2.0 documentation:
  • migrate - Database migration tool supporting multiple databases:
  • air - Live reload tool that rebuilds and restarts your app when files change: