Isomorphic Go

Learning about isomorphic development in Go leads to a unified view of web and back-end development: It extends the remit of a server-side programming language to the browser.
Preview in Mapt

Isomorphic Go

Kamesh Balasubramanian

Learning about isomorphic development in Go leads to a unified view of web and back-end development: It extends the remit of a server-side programming language to the browser.

Quick links: > What will you learn?> Table of content

eBook
$28.00
RRP $39.99
Save 29%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$28.00
$49.99
RRP $39.99
RRP $49.99
eBook
Print + eBook

Frequently bought together


Isomorphic Go Book Cover
Isomorphic Go
$ 39.99
$ 28.00
Cybersecurity: Attack and Defense Strategies Book Cover
Cybersecurity: Attack and Defense Strategies
$ 31.99
$ 22.40
Buy 2 for $35.00
Save $36.98
Add to Cart

Book Details

ISBN 139781788394185
Paperback516 pages

Book Description

Isomorphic Go is the methodology to create isomorphic web applications using the Go programming language. Isomorphic web applications have the capability to reuse code across environments, increasing the synergy between the web server and the web browser. This book is a hands-on guide that will show you how to build and deploy an Isomorphic Go web application.

Isomorphic Go begins with an in-depth exploration of the benefits provided by the isomorphic web application architecture. You'll be introduced to the Isomorphic Go toolchain, and how it can help you write Go code that functions across environments. You'll learn how to create Go programs in the web browser using GopherJS and how to render isomorphic templates. Then you'll be introduced to end-to-end application routing, use isomorphic handoff to seamlessly transition state from the web server to the web browser, and compose isomorphic forms that have the ability to reuse form validation logic. You'll be exposed to advanced concepts including the implementation of real-time web application functionality with websockets and the creation of reusable components (cogs) that are rendered using the virtual DOM. Finally, you'll see how to deploy an Isomorphic Go web application to a production environment.

Table of Contents

Chapter 1: Isomorphic Web Applications with Go
Why Isomorphic Go?
An overview of web application architectures
The classic web application architecture
The AJAX web application architecture
The single page application (SPA) architecture
The isomorphic web application architecture
Live demo
Measurable benefits
Nomenclature
Prerequisites
Summary
Chapter 2: The Isomorphic Go Toolchain
Installing the Isomorphic Go toolchain
Setting up the IGWEB demo
An introduction to the IGWEB demo
Project structure and code organization
Summary
Chapter 3: Go on the Front-End with GopherJS
The Document Object Model
Basic DOM operations
GopherJS overview
GopherJS examples
Inline template rendering
Local storage
Summary
Chapter 4: Isomorphic Templates
The web template system
IGWEB page structure 
Template categories
Custom template functions
Feeding data to the content template
Isomorphic template rendering
Summary
Chapter 5: End-to-End Routing
Routing perspectives
Design of the product-related pages
Implementing product-related templates
Modeling product data
Accessing product data
Registering server-side routes with Gorilla Mux
Server-side handler functions
Registering client-side routes with the isokit router
Client-side handler functions
Rest API endpoints
Summary
Chapter 6: Isomorphic Handoff
The isomorphic handoff procedure
Implementing isomorphic handoff for the product-related pages
Implementing isomorphic handoff for the shopping cart
Summary
Chapter 7: The Isomorphic Web Form
Understanding the form flow
Designing the contact form
Validating email address syntax
The form interface
Implementing the contact form
The accessible contact form
Client-side considerations
Contact form Rest API endpoint
Checking the client-side validation
Summary
Chapter 8: Real-Time Web Application Functionality
The live chat feature
Implementing the live chat's server-side functionality
Implementing the live chat's client-side functionality
Conversing with the agent
Summary
Chapter 9: Cogs – Reusable Components
Essential cog concepts
Implementing pure cogs
Implementing hybrid cogs
Summary
Chapter 10: Testing an Isomorphic Go Web Application
Testing the server-side functionality
Testing the client-side functionality
Summary
Chapter 11: Deploying an Isomorphic Go Web Application
How IGWEB operates in production mode
Deploying an Isomorphic Go web application to a standalone server
Deploying an Isomorphic Go web application using Docker
Summary
Chapter 12: Debugging Isomorphic Go
Identifying compiler/transpiler errors
Examining panic stack traces
Tracing code to pinpoint the source of issues

What You Will Learn

  • Create Go programs inside the web browser using GopherJS
  • Render isomorphic templates on both the client side and the server side
  • Perform end-to-end application routing for greater search engine discoverability and an enhanced user experience
  • Implement isomorphic handoff to seamlessly transition state between the web server and the web browser
  • Build real-time web application functionality with websockets to promote user collaboration
  • Create reusable components (cogs) that are rendered using the virtual DOM
  • Deploy an Isomorphic Go application for production use

Authors

Table of Contents

Chapter 1: Isomorphic Web Applications with Go
Why Isomorphic Go?
An overview of web application architectures
The classic web application architecture
The AJAX web application architecture
The single page application (SPA) architecture
The isomorphic web application architecture
Live demo
Measurable benefits
Nomenclature
Prerequisites
Summary
Chapter 2: The Isomorphic Go Toolchain
Installing the Isomorphic Go toolchain
Setting up the IGWEB demo
An introduction to the IGWEB demo
Project structure and code organization
Summary
Chapter 3: Go on the Front-End with GopherJS
The Document Object Model
Basic DOM operations
GopherJS overview
GopherJS examples
Inline template rendering
Local storage
Summary
Chapter 4: Isomorphic Templates
The web template system
IGWEB page structure 
Template categories
Custom template functions
Feeding data to the content template
Isomorphic template rendering
Summary
Chapter 5: End-to-End Routing
Routing perspectives
Design of the product-related pages
Implementing product-related templates
Modeling product data
Accessing product data
Registering server-side routes with Gorilla Mux
Server-side handler functions
Registering client-side routes with the isokit router
Client-side handler functions
Rest API endpoints
Summary
Chapter 6: Isomorphic Handoff
The isomorphic handoff procedure
Implementing isomorphic handoff for the product-related pages
Implementing isomorphic handoff for the shopping cart
Summary
Chapter 7: The Isomorphic Web Form
Understanding the form flow
Designing the contact form
Validating email address syntax
The form interface
Implementing the contact form
The accessible contact form
Client-side considerations
Contact form Rest API endpoint
Checking the client-side validation
Summary
Chapter 8: Real-Time Web Application Functionality
The live chat feature
Implementing the live chat's server-side functionality
Implementing the live chat's client-side functionality
Conversing with the agent
Summary
Chapter 9: Cogs – Reusable Components
Essential cog concepts
Implementing pure cogs
Implementing hybrid cogs
Summary
Chapter 10: Testing an Isomorphic Go Web Application
Testing the server-side functionality
Testing the client-side functionality
Summary
Chapter 11: Deploying an Isomorphic Go Web Application
How IGWEB operates in production mode
Deploying an Isomorphic Go web application to a standalone server
Deploying an Isomorphic Go web application using Docker
Summary
Chapter 12: Debugging Isomorphic Go
Identifying compiler/transpiler errors
Examining panic stack traces
Tracing code to pinpoint the source of issues

Book Details

ISBN 139781788394185
Paperback516 pages
Read More

Read More Reviews

Recommended for You

Cybersecurity: Attack and Defense Strategies Book Cover
Cybersecurity: Attack and Defense Strategies
$ 31.99
$ 22.40
Information Security Handbook Book Cover
Information Security Handbook
$ 35.99
$ 25.20
Understanding Software Book Cover
Understanding Software
$ 23.99
$ 16.80
Building RESTful Web services with Go Book Cover
Building RESTful Web services with Go
$ 35.99
$ 25.20
Go : Building DevOps Tools [Integrated Course] Book Cover
Go : Building DevOps Tools [Integrated Course]
$ 124.99
$ 106.25
Intermediate Laravel: Adding Popular Features to Our Apps [Video] Book Cover
Intermediate Laravel: Adding Popular Features to Our Apps [Video]
$ 124.99
$ 106.25