Author: Kamesh Balasubramanian
Pub Date: 2017
Size: 147 Mb
Isomorphic Go: Learn how to build modern isomorphic web applications using the Go programming language, GopherJS, and the Isomorphic Go toolkit
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.
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.
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