Hi there! ๐ My name is Taylor LaMar and I'm a software develper. This repo was made specifically for a talk on optimizing your Angular application by utilizing on-push change detection, Immutable.js, and pure pipes.
To get the most out of this repo, you'll need a few things:
You can download or clone this repostory and expore the code.
If you're using Git, you can do the following commands:
git clone https://github.com/TaylorLaMar/optimize-ng-app.git
cd optimize-ng-app
ng s
Each chapter of this talk has its crresponding branch.
-
pre-optimization
: The starter code, with no optimizations made to it... yet. -
intro-immutable
: Using Immutable.js and on-push change detection, we significantly increase the performance of our application. -
split-components
: Here, we split thePetListComponent
into two, more well-defined components - theNameInputComponent
andListComponent
. -
pure-pipes
: Angular's pure pipes allow us to stop redundant computing after our app initializes. -
memoization
: Lodash is a great utility library for JavaScript, and one of the functionalities it offers is memoization using a WeakMap. We use thememo-decorator
package to attach a TypeScript decorator to our Fibonacci number generator.
If you'd like to navigate to another branch, git checkout THE_BRANCH_NAME
, i.e. git checkout pre-optimization
.
Influenced by Minko Gechev's talk.