It seems a little crazy to think about an application as just a reflection of the data, but I believe it is actually true. I've been building front-end browser applications for a long time, but it wasn't until I started getting into Clojure and ClojureScript (which was pretty recently) that the lightbulb went off for me.
Let me preface this post by saying that I'm really not a ClojureScript developer (nor am I really even a Clojure developer). I've gone through a few episodes where I looked at Clojure, but I always deemed it as too crazy to actually be a viable programming language... until recently. There's something especially magical about Clojure's hot reload that makes it better than other hot reload tools; actually, two things:
Leiningen basically gives you a REPL for running and evaluating Clojure from the command line. This is the "de facto" way to get up and running with Clojure, and it works fine. I've installed this a few times now on Mac OS, and every time I have to go look up how to do it again (scroll to the bottom for links to other tutorials on this subject). I figured writing a tutorial myself might burn it into my memory better, and also it might help out some other lucky duck that wants to start using Clojure.
Solving an Incident of Poor Performance in Angular 2 by Understanding Zone.js and How Async Calls Work in Angular 2
Sorry for the long title, but I just wanted to make it really clear what this post was going to be about. ;) In this post I'll basically show you how my straight-from-the-docs implementation for reading from the Firebase real-time database was resulting in a terribly slow-feeling user experience and how I was easily able to "make it work" once I had an understanding of how Angular 2, Zone.js, and Firebase (and asynchronous calls in general) are all interrelated in updating the DOM with the data in your typescript code.
The posts on this site are written and maintained by Jim Lynch. About Jim...