Book Image

TypeScript High Performance

By : Ajinkya Kher
Book Image

TypeScript High Performance

By: Ajinkya Kher

Overview of this book

<p>In a world where a tiny decrease in frames per second impacts customer engagement greatly, writing highly scalable code is more of a necessity than a luxury. Using TypeScript you get type checking during development. This gives you the power to write optimized code quickly. This book is also a solid tool to those who’re curious to understand the impact of performance in production, and it is of the greatest aid to the proactive developers who like to be cognizant of and avoid the classic pitfalls while coding.</p> <p>The book will starts with explaining the efficient implementation of basic data Structures, data types, and flow control. You will then learn efficient use of advanced language constructs and asynchronous programming. Further, you'll learn different configurations available with TSLint to improve code quality and performance. Next, we'll introduce you to the concepts of profiling and then we deep dive into profiling JS with several tools such as firebug, chrome, fiddler. Finally, you'll learn techniques to build and deploy real world large scale TypeScript applications.</p>
Table of Contents (17 chapters)
Title Page
Credits
Foreword
About the Author
Acknowlegement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
Profile Deployed JS with Developer Tools and Fiddler

Chapter 4. Asynchronous Programming and Responsive UI

Asynchronous programming is an important concept, if not the most important concept that you need to understand well in order to create high performing and scalable real-world applications. We will cover a wide array of topics in this chapter, but even before describing those topics, let's cover some fundamentals.

As you all know, the JS that TypeScript gets transpiled to, is a single-threaded language, meaning there is one and only one thread of execution at any point in time. All the operations needed to be performed by your application get executed in the context of this thread. This brings into the picture a very interesting question.

Real-world applications more often than not contain multiple external dependencies, external means that your code relies on another service or entity to do a piece of work. These dependencies could be on the local filesystem, or most likely on other platform services that expose their functionalities in...