Book Image

Modern JavaScript Web Development Cookbook

By : Federico Kereki
Book Image

Modern JavaScript Web Development Cookbook

By: Federico Kereki

Overview of this book

JavaScript has evolved into a language that you can use on any platform. Modern JavaScript Web Development Cookbook is a perfect blend of solutions for traditional JavaScript development and modern areas that developers have lately been exploring with JavaScript. This comprehensive guide teaches you how to work with JavaScript on servers, browsers, mobile phones and desktops. You will start by exploring the new features of ES8. You will then move on to learning the use of ES8 on servers (with Node.js), with the objective of producing services and microservices and dealing with authentication and CORS. Once you get accustomed to ES8, you will learn to apply it to browsers using frameworks, such as React and Redux, which interact through Ajax with services. You will then understand the use of a modern framework to develop the UI. In addition to this, development for mobile devices with React Native will walk you through the benefits of creating native apps, both for Android and iOS. Finally, you’ll be able to apply your new-found knowledge of server-side and client-side tools to develop applications with Electron.
Table of Contents (15 chapters)

Implementing CORS

Whenever the browser requests some resource from a server, there are some validation rules that apply. For many of these interactions, which only ask for information and do not attempt to produce any kind of change in the server, there is no limitation, and the requests are always allowed, as in the following cases:

  • CSS styles are required via a <link rel="stylesheet"> tag
  • Images are required via an <img> tag
  • JS code is required via a <script> tag
  • Media requests via the <audio> or <media> tags

For other types of requests, the Same Origin Policy or Single Origin Policy (SOP) limits requests to those that are sent to the same origin (meaning the protocol, as in http://, host name, as in modernjsbook.com, and port, as in :8080), refusing any other request that doesn't match one or more of the origin URL elements. This...