Office 365 as a Development Platform

Office 365As a full-stack software developer with a penchant for UI/UX, I must admit I was a little skeptical when I was recently tasked to investigate Office 365 as a development platform.

What I found surprised and impressed me.

The Office 365 Development Platform

We’ve gotten really good at spinning up web applications that help users solve problems and increase productivity. That’s great, but it can also leave users with all sorts of disparate applications and stand-alone tools to interact with throughout the day. This contributes to a common productivity disrupter: context switching – that is, the need to frequently switch between different applications and user experiences.

Office 365 offers new compelling ways to integrate external services and custom functionality directly into the Office applications people already use.

Users can do more without having to alt-tab their way through the day, and developers can leverage a rich set of features and functionality without re-inventing the wheel.

Imagine being able to perform many of your day-to-day tasks without ever leaving Outlook. Or accessing external content directly in Word, Excel or PowerPoint. Users can do more without having to alt-tab their way through the day, and developers can leverage a rich set of features and functionality without re-inventing the wheel.

What’s more, the functionality you add is available from anywhere, on any device. Office 365 provides rich browser-based web apps as well as native apps for Windows, iOS, and Android.

Nice.

Office 365 Add-ins

The beauty of this architecture is that you can build Office 365 Add-ins using your favorite web technology stack.

Office 365 provides two ways of adding functionality: Office Add-ins and SharePoint Add-ins (formerly known as Office and SharePoint “Apps”).

Add-ins allow you to integrate functionality directly into Office applications using standard web technologies like HTML5, CSS3, JavaScript, and REST APIs.

An add-in is hosted outside of the Office 365 environment as an independent web application. The beauty of this architecture is that you can build Office 365 Add-ins using your favorite web technology stack. Want to write an ASP.NET app hosted in the Microsoft Azure cloud? Great. Want to use Node.js hosted in Linux? No problem. A Single Page Application using AngularJS? Sure!

Office Add-ins

With Office Add-ins you can do things like:

  • Interact with Outlook items, such as email messages and calendar items.
  • Integrate content from external services into Excel and PowerPoint documents.
  • Add functionality via a Task Pane to Word.

For simpler add-ins, no developer environment is even required – you can create Office Add-ins with just a web browser using Microsoft’s Napa tools.

SharePoint Add-ins

SharePoint Add-ins allow developers to extend and interact with the rich feature set provided by the SharePoint platform, including SharePoint Online integrated with Office 365.

Since code for SharePoint Add-Ins runs on servers separate from SharePoint, administrators have peace of mind that an Add-in cannot cause any harm to SharePoint servers or degrade their performance. And with provider-hosted Add-ins, you can integrate all the functionality of a full-scale web application with SharePoint content.

Unlock Your Business Data

Sure, Office 365 Add-ins allow you to pull content and applications directly into Office applications, but what about the other way around?

Here Office 365 also delivers. The new Graph API provides unified access to Office 365 assets. For SharePoint-specific assets like lists, SharePoint APIs come in several flavors including the SharePoint REST API and Client Side Object Model (CSOM), and are available for both SharePoint Online and SharePoint Server 2013.

These APIs provide tremendous access to the wealth of business data and assets inside Office 365, including people, calendars, emails, documents, tasks, notes and other files.

All access to these resources is secured with the credentials of the Office 365 user via Azure Active Directory (AAD) authentication and authorization. With AAD you can also configure an application to be authenticated and authorized so that programs like background services and web jobs can access Office 365 assets.

Ready for More?

Enabling developers to write add-ins using their favorite modern web stack? Check.

Extensive and secure API access to Office 365 and SharePoint assets? Check.

In my next post we’ll take a look at a solution that shows off some of the Office 365 development features: Click here to read that now!

Further Reading from our Office 365 Series:

Matter Center on the Office 365 Platform

Unlocking the Enterprise in Office 365

Office 365 and the Graph API: Under the Hood

Improving Productivity With Office 365 Add-Ins

About David Zientara

David Zientara joined AIS in 2010 with over 15 years of software engineering and architecture experience, much of it utilizing the Microsoft technology stack. His career has spanned industries such as security, digital imaging, health care, education and non-profits with organizations ranging from small start-ups to multi-national corporations. His enthusiasm is currently focused on HTML5 and JavaScript front ends, server-side solutions using technologies like ASP.NET MVC and Web API, and leveraging cloud services. David’s other passions include music, foreign languages and cultures, and travel.