This is just a quick article to describe how the GoConSPA stack implements the 15 Factor App principles.
1. One Codebase, Ont Application GitHub: All code for the application is stored in a single repository. 2. API First ConnectRPC: The api is defined in protobuf, and exposed via ConnectRPC. 3. Dependencies Go Modules: All dependencies are managed via Go modules, and vendored in the repository. 4. Configuration GitOps: Configuration is stored in Git, allowing for version control and easy collaboration.
I’m eager to write about a technology stack that I’ve stumbled into, which I believe is the nicest one I’ve ever worked with. The stack is called GoConnSPA, and it consists of the following technologies and tools;
Overview flowchart TD A[Backend Service] <-->|websocket| B[Single Page App] Technologies Go: The Go programming language, which is known for its simplicity and efficiency. ConnectRPC: A gRPC framework for Go that simplifies the process of building and consuming gRPC services.
It can be a real effort to bring yourself to write articles to maintain a healthy blog, and sometimes the simple articles are best. Therefore, I just want to take a quick few moments to talk about a tool that I just cannot live without now-a-days, when writing Go code, I am always live-reloading with Air in the background.
It’s really valuable for developers to be able to get fast feedback on the code that they are writing.
This helps you use Go to power the next generation of APIs+PWAs.
Prerequisites; This article assumes you know what protobuf and gRPC are, and have set up the grpc-gateway for REST already for your app.
The context gRPC has become the default standard for modern Cloud Native RPC in Go. And gRPC is fine for backend service-to-service communication that can speak gRPC. To support older services, and the web, REST still reigns supreme.