To get to grips with Javascript I've been busy with some projects...
MultiFizz
I spent a morning last week playing with IO, a simple prototypical language. Javascript is also a prototypical language and I have been told that looking at IO would be a nice intro. After that I wrote Fizzbuzz (tested) in Ruby, IO & Javascript.
RockPaperScissors
I built a basic rock paper scissors game in javascript that anyone can play via the browser. I tested the code with jasmine. This was a nice exercise. It helped me to see how the object orientated javascript that I created for the back end could then be interacted with in the browser using Jquery. I compiled my SASS & HAML using Grunt.
Nest
In a similar vein I also created a javascript thermostat (view here). After every temperature change, the thermostat makes a POST request to localhost:4567/temperature_change, with the new temperature which is quite dinky (imagine that post request could be directed to a thermostat on the wall at home so you can change the temperature when you are out).
ToDo App
This was my first foray into a javascript framework. I created a todo checklist using Angular JS using a youtube tutorial. It’s not tested though… which is bad. Let’s call this a (beautiful) quick experiment. To view, visit: http://todo-magic.herokuapp.com/
GitHub Profiles App
This one was fun. It’s a simple webpage using Javascript, Handlebars and JQuery which allows you to dynamically search and display Github profiles.To do this I used the github API! Lots of companies have APIs; twitter, foursquare, TFL etc. It enables external developers to build applications on top of data that the company releases. Citymapper is a mashup of a number of travel providers Api’s. It takes data that’s publicly available and displays it in a timely, useful and beautiful way.
Janban
I collaborated to make an object oriented kanban board.
I’ve also completed the Jquery & Javascript tracks on codacademy which was basic but helpful for getting used to a new syntax. Mastering all the ( ) { } in Javascript is a big part of the battle.