My Publications

BookCoverI have just published my first book, Beginning Backbone.js, with Apress. Released at the end of Decemeber 2013, the book is much more than a tutorial for the amazingly powerful Backbone.js library. It covers the basics for beginners who are not yet confident with Object Oriented JavaScript. It takes a deep dive into the functionality that Backbone.js provides, and includes a comprehensive example (you’ll even see how to create a Node.js server). You’ll also see what extensions are available for Backbone.js, including Marionette and Thorax, and then move onto test driven development with Jasmine/QUnit/Sinon, cover continuous integration and build automation with Grunt. You even get an insight into best architectural practices.  You can read a more in-depth summary of what the book provides here.



James' Refcard Collection

My Refcard Collection

You’ll see most of my articles and tutorials here and in JavaLobby.  I have also written the following collection of Refcardz: six page cheatsheets covering core technical topics, available to download for free from DZone.  I’ve covered a nice range of topics, from Eclipse development to UML, Java GUI development to HTML5, and some developer tool references.

Getting Started With Apache AntGetting Started With Apache Ant

Apache Ant has been around for a long time, but that doesn’t mean that it’s not still relevant.  This card provides a concise reference for the main Ant tasks you’ll need for Java development.




Getting Started With Java GUI DevelopmentGetting Started With Java GUI Development

This card takes a slightly different approach to usual refcardz. Rather than focusing on one technology, this card shows you how to create Java GUIs using either Swing or SWT.  For any developer just getting into GUI development, this could be the card you’ve been waiting for.



Eclipse Plug-in Development

Creating plug-ins for Eclipse is my favourite way to go about rapid development. The Eclipse platform consists of many plug-ins, which are bundles of code that provide some functionality to the entire system. Plug-ins contribute functionality to the system by implementing pre-defined extension points. You can provide extension points in your own plug-in to allow other plug-ins to extend your functionality.  This card will give you all the initial information you need to understand how to create your own plug-ins.

Eclipse Rich Client Platform

To really get the best out of developing for Eclipse you need to understand how the rich client platform works. The Eclipse Rich Client Platform (RCP) provides a foundation for building and deploying rich client applications. This Refcard introduces you to the Eclipse plug-in development environment and shows you how to add key functionality to your RCP application using Views, Perspectives and Editors.  Learn how to add a Menu to your Plug-in, create a Help system for your user, and how to brand and productize your Eclipse RCP application.


Essential EMF (Eclipse Modelling Framework)

This was one of my favourite cards to write, as I got to collaborate Ed Merks, creator of EMF. The Eclipse Modeling Framework (EMF) is a powerful framework and code generation facility for building Java applications based on simple model definitions. Designed to make modeling practical and useful to the mainstream Java programmer, EMF unifies three important technologies: Java, XML, and UML. Software is focused on manipulating data that can be modeled, hence, models drive software development. This refcard will get you started with the Eclipse Modeling Framework, showing you how to generate a model, understand Ecore and much more.

Getting Started With UML

For a long time, I felt that UML was one of the biggest omissions for the Refcardz catalogue.  So I finally decided that I should get the card together.  As with all Refcardz, my aim was to have a concise, easy to use reference to have close at hand.  The card goes through all the main diagram types specified in UML.


HTML5: New Standards in Web Interactivity

While the specification isn’t complete yet,  a lot of the features can be used in the latest versions of web browsers. If you’re unfamiliar with what’s involved, take a look through the card and you’ll see that it is the biggest evolution of browsers since we moved from text based to including images.
The standout feature of HTML5 is the Canvas element. The API looks pretty compehensive, covering a whole lot of graphic operations. Two parts of the specification that I think are really useful are the Geolocation API and the storage options.




WebMatrix: Advanced Web Development Made Simple

WebMatrix is a free lightweight web development tool from Microsoft that requires no registration to download. It is a powerful, task-focused tool that is designed to make it really easy to create, customize and publish websites based on open source technologies like Drupal, Joomla, and DotNetNuke. There’s no need to build a web application from scratch when WebMatrix integrates and streamlines the database and web server setup, allowing developers to just get the job done.