Introduction to Single Page Apps ... with John Papa

John Papa's "Single Page Apps JumpStart " course is a great way to learn how to build SPAs (single-page applications). He takes you from zero to a multi-screen full CRUD application called Code Camper JumpStart (CCJS) explaining every step along the way.

Code Camper JumpStart running

We'd encourage you to:

CCJS Architecture

Code Camper JumpStart is built with the "Hot Towel" client stack of JavaScript libraries that features Durandal, Knockout and BreezeJS as shown in blue on this architecture diagram:

CCJS Architecture

The .NET backend is an ASP.NET web application with Web API fronting the Entity Framework and a SQL Server database. Read more about it on John's blog.

You can start your own application in this manner with the "Hot Towel NuGet package" or "Hot Towel Visual Studio Extension". John has a cool "time lapse photography" video that takes you through the process in two minutes:



But this course isn't about drag and drop. It gets behind "Hot Towel" to show you what those libraries do and how to make them work for you.

We highly recommend the course ... and a Pluralsight subscription (check out their free trial).

More Papa

John Papa is a renowned developer and teacher with several great courses on Pluralsight covering a variety of topics and techniques that are important to JavaScript client application developers.

After taking John's "JumpStart" course, you may want to watch his intermediate course, "Single Page Apps with HTML5, Web API, Knockout and jQuery". He dives deeper into many of the subjects including the reasons for "Single Page Apps", the Web API as a SPA backend, dependency management, bundling and optimization, and "responsive design". Really good stuff.

The data layer is particularly interesting as a point of comparison. He spends a lot of time on his home-brew data layer. This version of Code Camper was developed without BreezeJS, before Breeze was released. He'd be the first to tell you that many files and hundreds of lines of code would disappear if he'd been able to use Breeze. The Code Camper JumpStart version with Breeze is more capable and more maintainable in the face of evolving requirements. The experience of writing the data layer by hand helped him choose Breeze for his second course on SPA. See what you think.

John's "Building JavaScript apps with MVVM and Knockout" is also a "must" if you need solid Knockout skills.