HR Week 3: Browser Apps, Intro to MVC and CoffeeScript

In week 3, we got a little farther past the basics and started working with frameworks and servers. Our sprints looked a lot more like usable apps! We built a simple chat app and a music player.

What we covered this week:

Sprint 1: Browser Apps, jQuery and AJAX

Setup
When creating an app on the browser, a few additional things come into play, one of which is package management. Unless you build everything yourself, your app will need libraries and its operation will depend on specific versions. To avoid “dependency hell” (where updating a library for your new app breaks an old one etc.) use a package manager. Package managers are used to install, upgrade, configure and remove dependencies (aka the external libraries/modules your code can’t run without). There are a number of these out there and most have a specific purpose. Below are some popular ones:

  • Homebrew – the mac package manager, primarily used to install global executables on your mac
  • npm: aka “node package manager”, used for server side dependencies
  • Bower – a front-end package manager, used for client side dependencies

Note: both npm and Bower will not only install packages in your project, but also create a file in your project if you use the –save flag. This file makes it easy for any collaborator to download all the necessary packages to their machine.

Rendering what the user sees
Rendering is anytime you go from one representation of something to another (generally a string) using a system. Here’s what happens when a webpage is rendered:

Continue reading