Book Image

Advanced TypeScript Programming Projects

By : Peter O'Hanlon
Book Image

Advanced TypeScript Programming Projects

By: Peter O'Hanlon

Overview of this book

With the demand for ever more complex websites, the need to write robust, standard-compliant JavaScript has never been greater. TypeScript is modern JavaScript with the support of a first-class type system, which makes it simpler to write complex web systems. With this book, you’ll explore core concepts and learn by building a series of websites and TypeScript apps. You’ll start with an introduction to TypeScript features that are often overlooked in other books, before moving on to creating a simple markdown parser. You’ll then explore React and get up to speed with creating a client-side contacts manager. Next, the book will help you discover the Angular framework and use the MEAN stack to create a photo gallery. Later sections will assist you in creating a GraphQL Angular Todo app and then writing a Socket.IO chatroom. The book will also lead you through developing your final Angular project which is a mapping app. As you progress, you’ll gain insights into React with Docker and microservices. You’ll even focus on how to build an image classification program with machine learning using TensorFlow. Finally, you’ll learn to combine TypeScript and C# to create an ASP.NET Core-based music library app. By the end of this book, you’ll be able to confidently use TypeScript 3.0 and different JavaScript frameworks to build high-quality apps.
Table of Contents (13 chapters)

Chapter 5

  1. GraphQL is not intended to fully replace REST clients. It can act as a cooperative technology, so it could very well consume multiple REST APIs itself to produce graphs.
  2. A mutation is an operation that is intended to change the data in the graph in some way. We might want to add new items to the graph, update items, or delete items. It is important to remember that the mutation is just changing the graph if the change has to be persisted to where the graph got the information from, then it is the graph's responsibility to call out to underlying services to make those changes.
  3. In order to pass a value to a subcomponent, we need to use @Input() to expose a field for binding from the parent. In our code example, we set up a Todo item like so:
@Input() Todo: ITodoItem;
  1. With GraphQL, a resolver represents an instruction on how to turn an operation into data...