When I first started learning about the new SharePoint 2013 app model, I gravitated towards the cloud model, specifically the provider-hosted implementation. This was natural as I was more suited to doing server-side development. But over time I found the SharePoint-Hosted (SPH) model was quite appealing as I didn't have to worry about extra components to deploy, manage and maintain.
Then last year I started to dive into the world of single page apps (SPA)... I presented on the topic a few times last year at difference conferences and wrote a decent amount as well like this post: SharePoint Hosted Apps in SharePoint 2013 as Single Page Apps. In that post I talk a lot about why I like building apps like this and how my customers love it too. In fact of all the apps I'm building for customers, 90%+ are SharePoint Hosted Apps and the vast majority of these are SPA's. Each time I presented on the topic more and more people were asking for more details on how to do this.
I decided last year that when I finished my workflow courses I had planned for Pluralsight (all three are listed on my Pluralsight training page) I would create a course on the topic. I'm pleased to announce that I expect the course to be released and available sometime in March 2014... I'm over 40% complete and should have everything finished in the next few weeks! You can learn more about the course here, including a list of the modules with descriptions: Building SharePoint Apps as Single Page Apps with AngularJS.
As the title implies, I'm using the AngularJS presentation framework. We start from the ground up creating a good clickthrough prototype with dummy data which I find to be the best way to present it to the customer. Next up is making the app come alive by incorporating live data into it using the SharePoint 2013 REST API. Next, I show you how you can even leverage the incredibly cool BreezeJS library to do some really slick stuff with your data context, making the data communication so much easier.
Over the last few weeks I've been working closely with Ward Bell (@wardbell), one of the architects behind Breeze, to make it easy to use with SharePoint. I'm sold... I will use this in every single SPA I build for SharePoint. I have a few posts that I'll publish the week of the SharePoint Conference (March 3-6, 2014) on this... trust me, I think you'll really like it!
Finally, the last module will show you how to incorporate the SharePoint 2013 CSOM into your SPA. Specifically, I show you how to use the workflow services CSOM API and how to create your own custom initiation form using the SPA approach rather than the approach the developer tools in Visual Studio push you.
OK... back to work on the course... stay tuned for more info on the course and when it's published. Best way to stay informed: subscribe to my blog or follow me on Twitter (@andrewconnell)!