The Transition to Modern Office Add-in Development

Slides:



Advertisements
Similar presentations
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Advertisements

Extending Your Reach with SharePoint and Office. Ignite: Office SharePoint Azure.
Bringing SharePoint information into Office through Office Apps.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
Office 365 Platform Flexible Tools Office Store and App Catalog Discover A marketplace of off-the-shelf solutions to many of the common needs for.
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 15 Technical Preview and published July Thierry Gasser TSP
©2012 Microsoft Corporation. All rights reserved. Content based on SharePoint 2013 Technical Preview and published July Introducing.
Flexible Tools Office Store and App Catalog Discover A marketplace of off-the-shelf solutions to many of the common needs for business users.
Cross Platform Mobile Backend with Mobile Services James
Office 365 Platform Flexible Tools Office Store and App Catalog Discover A marketplace of off-the-shelf solutions to many of the common needs.
Project Agenda Project Introduction Project Developing for Microsoft the new Project Easy to acquire, try and validated by Microsoft! I like it – exactly.
Access 2013 Platform Overview Access Low up-front investment Easy to evolve and iterate Easy adoption One version of the truth Easy to collaborate.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Cloud Roadshow. Advanced Office add-in Development with Outlook.
Cloud Roadshow. Getting Started with Office add-ins.
Multi-Tier Apps with Admin Access, RDP, Custom Installs Modern Scalable Web Sites Full Windows Server/Linux VMs Web Sites Virtual Machines Cloud Services.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
| Lausanne Become an Office 365 developer in 60 min Valerie Alonso Xavier Bocken.
Andrew Coates Advanced Office add-in Development with Outlook DEV32 7.
Task Pane App adjacent to the document Content App in the body of the document Mail Inline Pane on an or appointment item.
Bob German Principal Architect Future-Proof your SharePoint Customizations: Build 2010 Solutions that become 2013 Apps.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
跨平台 Hybrid App 開發簡介 - 使用 Visual Studio Tool for Apache Cordova + HTML/JavaScript 陳葵懋 (Ian)
Office 365 Development July 2014.
From SharePoint to Office 365 Development
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
Introduction to Xamarin C# Everywhere
SharePoint + CRM Saturday Zurich 2017
Office 365 Development July 2014.
Web Technologies Computing Science Thompson Rivers University
Make your app a native part of Office with Add-ins
Microsoft Ignite /10/2018 3:38 AM
Office Add-ins: Make your solution a native part of Office
Office 365 Developer Overview
Office 365 development CloudRoadShow 5/20/ :25 AM
Office Add-ins Intro and Development
What's new in the world of SharePoint development and deployment
Building Custom Application With Office Add-Ins for OneNote
Office 365 Development July 2014.
The Transition to Modern Office Add-in Development
Line of Business Solutions in SharePoint Online
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Microsoft /26/2018 6:05 PM BRK3044 Integrate line of business services with Outlook on Windows, Mac and web Andrew Salamatov Bharathan Venkateswaran.
Cloud Data platform (Cloud Application Development & Deployment)
Platform as a Service.
Visual Studio Tools for Office 2005
TechEd /7/ :00 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Web App vs Mobile App.
SPFx – A modern development tool for SharePoint
Introduction to SharePoint Framework (SPFx)
Microsoft Build /22/2018 4:06 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Office Add-ins Sudheer Maremanda Program Manager
Introduction to SharePoint Framework (SPFx)
Getting started with SharePoint Framework
SPC Developer 1/16/2019 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Visual Studio 2005 Tools For Office: Creating A Multi-tier Application
Office 365 Development.
04 | Apps and SharePoint Chris Johnson | SharePoint Guru
Web Technologies Computing Science Thompson Rivers University
SharePoint 2007 Developer Overview Collaboration BI Features
Windows Forms in Visual Studio 2005: An Overview
Mark Quirk Head of Technology Developer & Platform Group
Running C# in the browser
Build’an’Office add-in- using’modern JavaScript tools and techniques
Web Application Development Using PHP
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

The Transition to Modern Office Add-in Development Presented by Cameron Dwyer

Introduction Office Add-ins and extensibility Developer opportunity The OnePlaceMail story

Outline Recap on the existing add-in development model Why a new model was needed Explain the modern Office add-in model What does this mean for Office developers Q & A

The existing Office add-in model COM Add-ins and/or Visual Studio Tools for Office Add-ins (VSTO) Typically C# or VB (.Net Framework) written in Visual Studio Add-ins were compiled code (dll’s) Dll’s were deployed (installed) onto machines running Office client via setup packages or .msi files Rich extensibility experience - customize ribbon, areas of the host application, context menus, events, deep APIs into the data/content (e.g. Excel API) Access to local machine resources Experience “on rails”

Why did we need a new model? Office is now on any device (Windows, Mac, iOS, Android and Office Online) Those compiled DLLs would only ever work on a Windows PC We needed an extensibility model to match, one that could work on any device Microsoft struggled in 2 other areas under the old model: Add-in code isolation (performance, stability) Deployment Why did we need a new model?

The modern Office add-in model Designed to interact with data in a document, workbook or mail item (same as old model) Designed to develop once and run in Office across all platforms and devices * The add-in is essentially a web application that can be hosted anywhere Develop using standard web technologies (HTML, CSS, JavaScript) Code does not get installed on end user devices The add-in is displayed in pre-defined locations/contexts within the host Office application

Anatomy of an add-in

Add-in contexts Task pane add-in Content add-in Add-in command Add-in that runs beside a document/mail with read/write access Word, Excel, PowerPoint, Project, Outlook Content add-in Add-in that runs within a document content with read/write access Excel, PowerPoint, Access Add-in command Command in the Office UI to launch add-in or perform UI-less operation Outlook and Outlook Web Access (OWA)

Task Pane add-ins [Demo]

Add-in contexts Task pane add-in Content add-in Add-in command Add-in that runs beside a document/mail with read/write access Word, Excel, PowerPoint, Project, Outlook Content add-in Add-in that runs within a document content with read/write access Excel, PowerPoint, Access Add-in command Command in the Office UI to launch add-in or perform UI-less operation Outlook and Outlook Web Access (OWA)

Content add-ins [Demo]

Add-in contexts Task pane add-in Content add-in Add-in command Add-in that runs beside a document/mail with read/write access Word, Excel, PowerPoint, Project, Outlook Add-in contexts Content add-in Add-in that runs within a document content with read/write access Excel, PowerPoint, Access Add-in command Command in the Office UI to launch add-in or perform UI-less operation Outlook and Outlook Web Access (OWA)

Add-in commands [Demo]

Office.js – the JavaScript API for Office Office.js is the new Office API This is a JavaScript library that you can include in the web page of your add-in Provides access to the object models of host Office application (including current document or item) Office.js dynamically loads in Common APIs (apply to all Office applications) and host specific APIs (such as the Word API or Excel API) This provides strongly types object models This allows your add-in to interact with the Office app Microsoft iterating quickly on these APIs to remove barriers in converting VSTO add-ins

Example Office.js code

Deployment Deployment is the act of associating an add-in manifest with a user Add-ins can be acquired through the Office store Enterprise add-ins can be made available using a private add-in catalog No code to install on user machines/devices No elevated permissions needed Install on one host installs on all hosts Centralized deployment controls for organisations

Deployment from Office Store [Demo]

Different Hosts Different UX

Different Hosts Different UX

Modern add-in advantages over VSTO Cross-platform support. Runs in Office for Windows, Mac, iOS, Android and Office Online.  Centralized deployment and distribution. No code installed on end user machines. Add-ins do not affect the performance and stability of the host application. The application is evergreen, because it's centrally hosted making a change to the web app makes it available to all users immediately. Everyone is on the same version. Based on standard web technology. No tie in to using Microsoft stack for developing it. Modern add-in advantages over VSTO

What does this mean for Office developers? Old model was on rails (Visual Studio, C#/VB, .Net Framework, VSTO) New model is web standards (HTML, CSS, JavaScript) Develop on Windows, Mac or Linux (Visual Studio code work on all of these) HTML, CSS & JavaScript by themselves are difficult to scale when building Enterprise apps Use JavaScript frameworks (Angular, React) Use TypeScript instead of JavaScript (strongly typed) You are essentially a web developer = power, freedom, confusion and maybe paralysis But this is only part of the developer story…… What does this mean for Office developers?

The Full Stack Developer Most add-ins consist of a front-end AND a back-end Front-end (Presentation layer - HTML, CSS, JavaScript) – runs on the users device in a browser Back-end (Business logic and data layers) – runs on your server or hosted environment The Full Stack Developer

OnePlaceMail Stack Alternatives Framework: Angular (SPA) Language: TypeScript UI: Office UI Fabric, CSS IDE: Visual Studio Code React, Aurelia JavaScript Bootstrap, Kendo UI, LESS, SAAS Visual Studio, Sublime Text, Atom, WebStorm Front-end .Net Web API (C#) Hosting: Azure Web App IDE: Visual Studio Node.js, Python, PHP, Azure Functions, AWS Lambda IIS, Apache, Serverless (Azure, AWS) Huge array of options (depends on language/tech) Back-end SQL, Azure (CosmosDB, Blob, Table, Queues), MySQL, PostGres, Mongo DB Office 365 (SharePoint) Data Storage

Summary Office is now available on any device The extensibility story has transitioned to match This is a big shift for traditional Microsoft developers There is much more choice for development technology and tooling Key challenge is in understanding the different technologies and choosing wisely Summary

Resources https://dev.office.com/getting-started https://dev.office.com/code-samples https://developer.microsoft.com/en-us/fabric https://angular.io/ https://reactjs.org/ https://www.oneplacesolutions.com/ Resources

Q & A @CameronDwyer camerondwyer.wordpress.com www.linkedin.com/in/camerondwyer www.oneplacesolutions.com