Primer for Modern Office Development – start your journey here

Lets start with a little bit of history, the year was 2008, Windows PCs and Microsoft Office had been entrenched throughout organizations around the globe. We saved all our files on a network drive (if we were smart), or SharePoint if we were really smart and had a dedicated engineer that could keep up with patching it. Sales of Apple Mac had been increasing since the turn of the century and Microsoft had built a version of Office specifically for the Mac and had it running there since 1998. The development story for Microsoft Office had almost exclusively been a Windows only experience, it was quite a rich experience with Visual Studio Extensions for Office allowing Office add-ins to be written in managed code. But I see 2008 as a pivotal year, the landscape of IT usage was about to change in a very disruptive way… Apple had just launched the first version of the iPhone.

In the decade since this moment we have seen a shift towards an always connected, productive on any device world. Microsoft Office was changing dramatically to keep pace with the demands of this changing world. Office was already on the Mac, but fast forward to today (2018) and we have:

  • Office for Windows – the original and still a powerhouse with all the bells and whistles
  • Office for Mac – a very mature product suite that doesn’t lag far behind the Windows offering
  • Office Online – any device with a web browser can not only read but also have a rich editing experience
  • Office for iOS – native applications for iPhone and iPad
  • Office for Android – native applications for Android devices

As you can see in those 10 years a lot had changed, and we don’t even know where our files are physically stored anymore, they are just up there, somewhere, in the Office 365 cloud.

That lead to 2 radical shifts for Office development:

  1. The development technology for extending Office needs to run everywhere that Office does. The one run-time technology that is consistent across all of these devices is the web browser. This meant the shift to web technologies and developing web application (HTML5, JavaScript, CSS). Sure each web browser has it’s own idiosyncrasies but the web development world had been working on ways around this for many years and we now have mature frameworks for building web based applications.
  2. We have an opportunity we never had before – users data stored in the Office 365 cloud (with a shiny new API to get to it – the Microsoft Graph API)

So when we talk about Office Development we talk about 2 distinct types of development:

  1. Extending the user experience within the Office applications (i.e. an add-in)
  2. A standalone application that accesses user data stored in the Office 365 cloud.

 

Where to from here?

The best starting place within the Microsoft documentation for developing Office add-ins is

https://docs.microsoft.com/en-us/office/dev/add-ins/

and for accessing user data via the Microsoft Graph

https://developer.microsoft.com/en-us/graph/docs/concepts/overview

 

Further reading

Office Dev Center

https://developer.microsoft.com/en-us/office

History of Microsoft Office

https://en.wikipedia.org/wiki/History_of_Microsoft_Office

History of Visual Studio Tools for Office

https://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office

History of Office Online

https://en.wikipedia.org/wiki/Office_Online

 

 

About Cameron Dwyer

Chief Technology Officer at OnePlace Solutions. Microsoft MVP: Office Dev Passionate about delivering compelling solutions on the Office 365/SharePoint platform. Addicted to coffee.

Posted on July 1, 2018, in Microsoft Graph, Office, Office 365, Windows and tagged , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: