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

Designing the framework


We will design the framework based on functional programming. The framework will do all non-pure work, so that the rest of the application can be built with pure functions (except for Math.random).

Tip

Strictly speaking, Math.random is not a pure function. Given that Math.random() is not always equal to Math.random(), that function will update some internal state. In pure functional languages, such a function can still exist. That function takes a state and returns a random number and a new state. Since every call to random will get a different state, it can return different random values.

A game consists of an event loop. The amount of iterations that this loop does per second is called FPS or frames per second. Every step of the loop, the game state needs to be updated. For instance, enemies and the player can move, and the player can eat dots in Pac Man. At the end of each step, the game state must be redrawn.

The game must also handle user input. When the user presses...