Go for Web Development
Go for Web Development
Summary:
Introduction
The book "Go for Web Development" by Nathan Kozyra was published in 2016 and immediately attracted the attention of developers wanting to master the Go language (Golang) in the context of creating modern web applications. Despite several years having passed since its publication, the core concepts and approaches described in the book remain relevant today. Go continues to grow in popularity due to its performance, simplicity, and built-in concurrency support, and web development in this language is becoming increasingly in demand.
This review is intended for readers of the educational website PythonLib, who are interested not only in Python but also in other programming languages, especially those who want to expand their toolkit and learn how to build high-load web services.
What the book is about
The book is a practical guide that takes the reader step by step from the basics of the Go language to creating a full-fledged web application. The author does not delve into excessive theory but focuses on real-world tasks that a web developer faces: request routing, working with templates, interacting with databases, form handling, authentication and security, as well as testing and deployment.
The structure of the book is logical and sequential:
- Chapters 1–2: introduction to Go, installation, environment setup, basic syntax and data types.
- Chapters 3–5: working with HTTP, creating simple web servers, routing and middleware.
- Chapters 6–8: templating, working with forms, files, and sessions.
- Chapters 9–11: interacting with databases (SQL and NoSQL), caching, working with APIs.
- Chapters 12–14: security (XSS, CSRF, SQL injection), testing, and application deployment.
Who this book is for
The book is aimed at developers who already have basic programming experience (in any language) and want to learn Go specifically for web development. It will be useful for:
- Python developers wanting to learn Go for building high-performance microservices.
- Beginner Go programmers who want to apply their knowledge in practice.
- Web developers looking for an alternative to Node.js or PHP for the backend.
- Students and teachers studying modern programming languages.
Do not expect the book to provide deep immersion into language theory or algorithms — it is a purely practical guide with an emphasis on creating a working product.
What the reader will learn
After reading the book and completing the examples, the reader will be able to:
- Set up a Go development environment and organize a project structure.
- Create HTTP servers and handle different types of requests (GET, POST, PUT, DELETE).
- Use the standard net/http library for routing and middleware.
- Work with HTML templates using the html/template package.
- Interact with relational databases (MySQL, PostgreSQL) and NoSQL (MongoDB).
- Implement user authentication and protection against common web vulnerabilities.
- Write unit tests and integration tests for web applications.
- Deploy a finished application on a server (Heroku, Docker).
Strengths
One of the main advantages of the book is its practical focus. Each chapter contains numerous code examples that can be immediately run and modified. The author uses only the Go standard library (except for database drivers), which allows the reader to gain a deeper understanding of the language's internals rather than relying on third-party frameworks.
Also worth noting is the clear structure: from simple to complex, without abrupt jumps. The book is well-suited for self-study — all examples are accompanied by explanations, and there are exercises at the end of chapters for reinforcement.
Recommendations
Python Basics. Learn to Think Like a Programmer
Swift (iOS/macOS) Application Architecture. Patterns and Practices
Professional Kotlin: Advanced Techniques
PHP Application Security: Protection from Hackers and Vulnerabilities
Refactoring TypeScript Code: Improving Projects with Proven Methods
Web Development in C++: From Basics to Deployment