Archives For October 2013

Hey everyone, check out this chat app I built today using Node.js and Angular.js: Node & Angular Chat App

Node and Angular are both relatively new javascript frameworks that pack a lot of power.  Node is a platform for building really fast network applications that can run on many different devices.  It is great at processing multiple connections without blocking and is one of the most important javascript developments in the last 5 years.  I’ll likely use Node extensively in the future running on Raspberry Pi to build some cool Internet of Things devices.

Angular is a javascript framework, maintained by Google, that can serve as a backbone for single-page web application.  It augments browser-based applications with MVC (model-view-controller) capability and enables rapid prototyping with easy-to-read code.  Angular’s two-way data binding reduces the amount of code that needs to be written and brings templating responsibilities to the client side.  Angular is often compared to Backbone.js, which relies on boilerplate code instead of two way data-binding.

I’m three weeks into Hack Reactor and have gotten to the point where I can create some pretty cool web applications.  The first week was focused on core computer science curriculum like data structures, recursion and algorithms.  I learned more about coding in those seven days than I had in all of my previous programming experience.

Week two was a deeper dive into algorithms and inheritance patterns and an exploration of the emerging javascript framework D3.  I built my first web application using D3 technology, which you can check out here: http://colliderd3.herokuapp.com/.  What’s cool about this game is that it doesn’t use flash or any other third-party technology.  Everything you see is HTML5 and javascript.  D3 is a powerful javascript library for data visualization and my game doesn’t even touch the surface of what is possible.

Last week we spent most of our time learning Backbone.js, which is a javascript framework for structuring an application and providing server communication on the client side through a REST API.  Backbone enables lightening-fast user interaction with data so that elements in a collection can change without needing to reload the page.  Despite being a fairly new technology, some big players are using Backbone including Hulu, Foursquare, Khan Academy, Basecamp, AirBNB, Stripe, Pandora and ZocDoc.

Next week we are going to start diving into Node.js, servers and databases.