Book Image

Building Modern CLI Applications in Go

By : Marian Montagnino
Book Image

Building Modern CLI Applications in Go

By: Marian Montagnino

Overview of this book

Although graphical user interfaces (GUIs) are intuitive and user-friendly, nothing beats a command-line interface (CLI) when it comes to productivity. Many organizations settle for a GUI without searching for alternatives that offer better accessibility and functionality. If this describes your organization, then pick up this book and get them to rethink that decision. Building Modern CLI Applications in Go will help you achieve an interface that rivals a GUI in elegance yet surpasses it in high-performance execution. Through its practical, step-by-step approach, you’ll learn everything you need to harness the power and simplicity of the Go language to build CLI applications that revolutionize the way you work. After a primer on CLI standards and Go, you’ll be launched into tool design and proper framework use for true development proficiency. The book then moves on to all things CLI, helping you master everything from arguments and flags to errors and API calls. Later, you’ll dive into the nuances of empathic development so that you can ensure the best UX possible, before you finish up with build tags, cross-compilation, and container-based distribution. By the end of this UX book, you’ll be fully equipped to take the performance and flexibility of your organization’s applications to the next level.
Table of Contents (21 chapters)
1
Part 1: Getting Started with a Solid Foundation
6
Part 2: The Ins and Outs of a CLI
10
Part 3: Interactivity and Empathic Driven Design
14
Part 4: Building and Distributing for Different Platforms

To get the most out of this book

To get the most out of this book, you should have intermediate-level knowledge of Golang. The book assumes that you’re familiar with Go’s syntax, data types, control flow, and other basic concepts. It focuses on more advanced topics, such as creating and testing CLI applications, using external libraries, and building and distributing binaries. If you’re new to Go, you may find the material challenging, but if you have prior experience, you’ll be able to build on your existing knowledge and take your skills to the next level.

Software/hardware covered in the book

Operating system requirements

Go 1.19

Windows, macOS, or Linux

Cobra CLI

Docker

Docker Compose

GoReleaser CLI

Install Cobra CLI: https://github.com/spf13/cobra-cli

Install Docker Desktop: https://www.docker.com/products/docker-desktop/

Install the Docker Compose plugin: https://docs.docker.com/compose/install/

Install the GoReleaser tool at: https://goreleaser.com/install/

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.