Angular 2 has lots of interesting techniques and concepts, but it's quite hard to figure how it really does its magic.
This is a simple educational version of Angular 2, in plain ES6. It's a quick read: under 350 LOC including lots of comments. This working toy (see the demo) does many things the same way as the real Angular 2 - for instance, it compiles components into fast, monomorphic functions by compiling their templates.
The goal is to implement the hairy 'magic' bits of Angular 2 in code that's as short and readable as possible.
👍 If you enjoy reading it, please let me know by starring the repo, or via @timruffles. There's a lot more to write, and I'd love to do just that if sufficient numbers of people would find that interesting.
I made something similar for Angular 1.