I've recently been building web applications with front-end frameworks like React, Reagent, and Angular 2. I was recently working on an Angualr 2 project and thought, "man, this sure seems like a ton of lines of code", but had no concrete evidence to prove it. After a quick google search I came to this stack overflow question, and the awesome answer(s) therein.
I grew up on "Algol" style languages like Java, C++, and ActionScript 3 where one of the first things you learn about is the concept of a class, a blueprint for an object. I guess I'm too young to remember a lisp world without Clojure so at first I was amazed that you could even have a programming language that didn't based its foundational architectural patterns around classes or object use classes! I just today was working on a project and found it refreshingly simple to just write some functions in a namespace so I could require and call them from another file. In this post we'll take a look at how to we import functions in a ClojureScript project using the build tool leiningen without classes or objects.
In my new role I've been given the opportunity to really dig into React, learn a lot about it, and build an application with it. I had previously used Ngrx in Angular 2 so it was interesting to go back to the original Redux library after having used the Angular step-cousin. After a few small roadblocks the application is progressing rather smoothly, and I have to say I think Redux is pretty dang awesome.
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:
The posts on this site are written and maintained by Jim Lynch. About Jim...