Book Image

Isomorphic JavaScript Web Development

By : Tomas Alabes, Konstantin Tarkus
Book Image

Isomorphic JavaScript Web Development

By: Tomas Alabes, Konstantin Tarkus

Overview of this book

<p>The latest trend in web development, Isomorphic JavaScript, allows developers to overcome some of the shortcomings of single-page applications by running the same code on the server as well as on the client. Leading this trend is React, which, when coupled with Node, allows developers to build JavaScript apps that are much faster and more SEO-friendly than single-page applications.</p> <p>This book begins by showing you how to develop frontend components in React. It will then show you how to bind these components to back-end web services that leverage the power of Node. You'll see how web services can be used with React code to offload and maintain the application logic. By the end of this book, you will be able to save a significant amount of development time by learning to combine React and Node to code fast, scalable apps in pure JavaScript.</p>
Table of Contents (16 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Pure client routing


Pure client-side routing came into picture when people started using the JavaScript functionality and state they had in the client to manage not only the state of the current view but also the navigation to other views.

The good part of client-side routing is that it's fast, the code to render the view is there, and if the data is there too, then it's instantaneous. The bad part is that the initial load of the code is slower, as you need to load the current view and the code to navigate to the next ones. As always, it's a matter of choosing where each practice fits the best, and mix it if necessary, to get the best possible user experience.

Hash versus history API

The hash history works on older browsers (such as Internet Explorer 8 and 9) and doesn’t require any server configuration. It uses hashes in the URL to define the routes, such as example.com/#/home and example.com/#/about.

If your application doesn’t need to run on legacy browsers, where the browser's History API...