Isomorphic Go
Isomorphic Go
Summary:
Introduction
The book "Isomorphic Go" by Kamesh Balasubramanian, published in 2017, is a unique guide to building modern web applications that use both server-side and client-side rendering based on the Go language. Despite the metadata mentioning JavaScript (Node.js), the main idea of the book is to use Go for the server side and JavaScript for the client side, in order to achieve isomorphism (shared code between server and client). The book is 326 pages long and offers a practical approach to development.
What this book is about
The book is dedicated to the concept of isomorphic (universal) web applications, where the same code can run on both the server and the client. The author shows how to use Go to create server-side logic and JavaScript for the client side, while ensuring a common data structure and templates. The main focus is on the GopherJS framework, which allows compiling Go code into JavaScript, thereby making isomorphism possible.
Main topics:
- Introduction to isomorphic architecture and its advantages.
- Setting up the environment for Go and GopherJS development.
- Creating the server side in Go using the standard library and popular packages.
- Compiling Go code into JavaScript using GopherJS.
- Developing client-side logic in Go that runs in the browser.
- Organizing shared code (models, validation, templates).
- Working with databases and APIs.
- Testing and deploying an isomorphic application.
Who this book is for
The book is intended for developers already familiar with the basics of Go and JavaScript who want to master a modern approach to building web applications. It will be useful for:
- Go developers looking to expand their skills in web development.
- JavaScript developers interested in server-side programming in Go.
- Anyone who wants to understand the concept of isomorphic applications and implement it in practice.
What the reader will learn
After reading the book, the reader will be able to:
- Understand the principles of isomorphic architecture and its differences from traditional approaches.
- Set up a project using Go and GopherJS.
- Write server-side code in Go that handles HTTP requests and renders HTML.
- Compile Go code into JavaScript for execution in the browser.
- Create shared modules (models, validators) that work on both sides.
- Implement client-server interaction via REST API.
- Test and deploy a finished isomorphic application.
Strengths of the book
The book stands out with the following advantages:
- Practical focus: each section is accompanied by code and examples that can be applied immediately.
- Relevance of the concept: isomorphic applications remain in demand for SEO and performance.
- Uniqueness: at the time of release, the book was one of the few dedicated to isomorphism with Go.
- Clear structure: from simple to complex, with a gradual increase in example complexity.
- Community support: the author actively participates in the development of GopherJS and shares his experience.
Who it is recommended for
We recommend the book to anyone who wants to go beyond traditional web development and master the isomorphic approach using Go. It will be especially useful for teams striving to unify their codebase and improve the user experience. Despite the book being published in 2017, the core principles and tools (GopherJS) remain relevant, and the knowledge gained from it will help you master modern frameworks more quickly.