In my last blog post I talked about on-premises SharePoint development, but today I’m going to shift gears and chat a little bit about Office 365 SharePoint development.
Over the last decade, one of the most frequently asked questions I would hear from people regarding SharePoint development was how to set up a development machine.
I blogged on that topic several times over the years, and by 2007 there were dozens of blog posts available on the Internet describing how to set up a SharePoint development rig.
By the time SharePoint 2010 came out, it seemed like there was a race to be the first person on the Internet to document how to set up a SharePoint development machine the moment the public Beta was released!
In this post, I’m not going to create an exhaustive tutorial that describes how to go about setting up a SharePoint development rig.
Instead, I’m going to give you an overview of the options you have to develop with Office 365, some links to guide you on your way, and some tools that you can’t live without.
The 100-Percent Cloud-Based, Easiest Option - "Napa"
Your easiest option to get started developing on Office 365 is to travel to the Napa Valley and tour the vineyards while you delegate the task.
However, that’s not the “Napa” I’m talking about.
If you haven’t seen it before, I encourage you to check out the “Napa” Office 365 Development Tools. This toolset lets you create simple apps for Office and SharePoint in your web browser. Check out the Use “Napa” Office 365 Development Tools to build apps for Office and SharePoint on the browser article to get started.
You need to keep a couple things in mind regarding the “Napa” toolset. First, you need an Office 365 Developer Account to access these developer tools. Second, the “Napa” toolset allows you to create simple SharePoint apps, but sometimes Visual Studio is necessary to implement a given requirement. Good news! You can export the projects you create in the “Napa” toolset directly to Visual Studio.
Once you have your Office 365 Developer Account in hand, you can create a SharePoint App with the “Napa” toolset quicker than you can ride the tram to the top of Jackson Hole. I’m not kidding!
The Client/Cloud-Based Development Option
If you need or want Visual Studio to develop your apps for SharePoint on Office 365, check out the MSDN article How to: Set up an environment for developing apps for SharePoint on Office 365 to get started. In this scenario, your SharePoint server is in the cloud and Visual Studio is installed on your client machine.
The 100-Percent Local-Development-Machine Option
Another option you can take is creating a 100-percent local-development environment to build theSharePoint apps you plan to use in Office 365. Check out the MSDN article How to: Set up an on-premises development environment for apps for SharePoint to see how this is done.
Keep in mind, although this option can help expedite development, it doesn't have full parity with an Office 365 tenancy, and you might find yourself refactoring code after you deploy it to the cloud.
Do your homework up front and understand what differences you may encounter.
I also really like the SharePoint Server 2013 Virtual Machine Setup Guide the guys at Critical Path Training cooked up. It describes how to make a virtual on-premises SharePoint server which you can use to develop apps with.
You will learn a lot about SharePoint by walking through their guide to set up your environment. This is the guide I use to set up my development environments.
Don’t Forget Windows PowerShell!
You’ll find that PowerShell isn't just used to automate processes with Office 365 tenancies--it’s an integral part of development and configuration that you can't do without. Just yesterday, I used the SharePoint Online Management Shell to delete a site collection in one of my Office 365 tenancies.
Check out the TechNet article Set up the SharePoint Online Management Shell Windows PowerShell environment to learn how to set it up on your development rig.
Don’t forget to visit my friend Gary Lapointe’s blog, and read his Using PowerShell to Manage SharePoint 2013 Online article--it’s an excellent primer and reference. Gary’s not only on top of it when it comes to PowerShell, but he’s got a nice slap shot, too.
Make sure you’ve got a good packet-sniffing program installed in your development environment--you’re going to need it from time to time.
WireShark, Fiddler, HTTPWatch, IE Developer Tools, Chrome Developer Tools, and many other programs now offer this functionality to one degree or another – for free! WireShark provides you the most detailed level of analysis; however, the other tools I mentioned will usually do the trick.
Visual Studio 2013 Cloud Project Templates
There are some new templates available in Visual Studio 2013 to expedite the development process associated with building apps for Office 365. This MSDN Blog post by the Office Developer Team walks you through what’s new.
Finally, take a look at the November, 2013 issue of MSDN Magazine--in particular, Build Office 365 Cloud Business Apps with Visual Studio 2013. This article walks you through using the Cloud Business App template.