Book Image

TypeScript Blueprints

By : Ivo Gabe de Wolff
Book Image

TypeScript Blueprints

By: Ivo Gabe de Wolff

Overview of this book

TypeScript is the future of JavaScript. Having been designed for the development of large applications, it is now being widely incorporated in cutting-edge projects such as Angular 2. Adopting TypeScript results in more robust software - software that is more scalable and performant. It's scale and performance that lies at the heart of every project that features in this book. The lessons learned throughout this book will arm you with everything you need to build some truly amazing projects. You'll build a complete single page app with Angular 2, create a neat mobile app using NativeScript, and even build a Pac Man game with TypeScript. As if fun wasn't enough, you'll also find out how to migrate your legacy codebase from JavaScript to TypeScript. This book isn't just for developers who want to learn - it's for developers who want to develop. So dive in and get started on these TypeScript projects.
Table of Contents (16 chapters)
TypeScript Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Setting up the project


Before we can start coding, we have to set up the project. The directory structure will be the same as in Chapter 3, Note-Taking App with Server; static contains the static files for the webserver, lib/client contains the client-side code, lib/server contains the code for the server, lib/shared contains the code that can be used on both sides, and lib/typings contains the type definitions for React.

We can install all dependencies, for gulp, the server, and React, as follows:

npm init
npm install react react-dom ws --save
npm install gulp gulp-sourcemaps gulp-typescript gulp-uglify small --save-dev

The type definitions can be installed using npm:

cd lib
npm install @types/node @types/react @types/react-dom @types/ws --save

We create static/index.html, which will load the compiled JavaScript file:

<!DOCTYPE HTML> 
<html> 
  <head> 
    <title>Chat</title> 
    <link href="style.css" rel="stylesheet" /> 
...