ABSTRACT

JavaScript is the native language of the Internet. Originally created to make web pages more dynamic, it is now used for software projects of all kinds, including scientific visualization and data services. However, most data scientists have little or no experience with JavaScript, and most introductions to the language are written for people who want to build shopping carts rather than share maps of coral reefs.

This book will introduce you to JavaScript's power and idiosyncrasies and guide you through the key features of the language and its tools and libraries. The book places equal focus on client- and server-side programming, and shows readers how to create interactive web content, build and test data services, and visualize data in the browser. Topics include:

  • The core features of modern JavaScript
  • Creating templated web pages
  • Making those pages interactive using React
  • Data visualization using Vega-Lite
  • Using Data-Forge to wrangle tabular data
  • Building a data service with Express
  • Unit testing with Mocha

All of the material is covered by the Creative Commons Attribution-Noncommercial 4.0 International license (CC-BY-NC-4.0) and is included in the book's companion website.

.

Maya Gans is a freelance data scientist and front-end developer by way of quantitative biology. Toby Hodges is a bioinformatician turned community coordinator who works at the European Molecular Biology Laboratory. Greg Wilson co-founded Software Carpentry, and is now part of the education team at RStudio

chapter 1|4 pages

Introduction

chapter 2|13 pages

Basic Features

chapter 3|13 pages

Callbacks

chapter 4|9 pages

Objects and Classes

chapter 5|12 pages

HTML and CSS

chapter 6|14 pages

Manipulating Pages

chapter 7|10 pages

Dynamic Pages

chapter 8|7 pages

Visualizing Data

chapter 9|15 pages

Promises

chapter 10|14 pages

Interactive Sites

chapter 11|7 pages

Managing Data

chapter 12|8 pages

Creating a Server

chapter 13|7 pages

Testing

chapter 14|16 pages

Using Data-Forge

chapter 15|16 pages

Capstone Project

chapter 16|1 pages

Finale