• Why you should care • Developer Tooling • Angular • Serverless Backends • Azure Functions • Tips from real world implementations we did What not to expect • Angular Introduction • Office Add-Ins API Deep Dive • UX / UI Best Practices
• Online, Mobile, Fat Clients • https://dev.office.com/add-in-availability • Existing distribution channels • Office Store • On-Premises Deployments • Faster time to market • Don’t build yet another Excel, use the existing one and extend it Using Microsoft Office as application platform
aka Shapes • Shapes use well-known Office UI concepts • Shapes are defined in the application manifest • Shapes host a WebBrowserControl or an <iframe> in the Web • IE 11 / Safari / Safari Mobile / Google Chrome / … • Microsoft is also using those shapes to extend Office Using Microsoft Office as application platform
JavaScript • Use office.js • Access to the current context (eg. Document, Spreadsheet) • Fundamental information about the User and the Office Client • CSS • Use office.css optionally to provide seamless integration • Any programming language can be used for the backend / API Office Add-In Developer Story
for 2015 and 2017 • Yeoman Generator for all platforms • Yeoman -> http://yeoman.io/ • Generator -> https://github.com/OfficeDev/generator-office • Works on all desktop platforms • No Visual Studio license required Office Developer Story
are smaller than Windows Task-Panes • Wrap office.js callback hell using Observables • http://reactivex.io/rxjs/ • Use the Office Dialog API to implement OAuth 2.0 Implicit Flow • Verify if required APIs are supported • Office.context.requirements.isSetSupported(`DialogApi`, 1.1) • Don’t trust @types/office-js always. Verify internal implementation Implementation Tips
Angular service implementations based on hosting context • Deliver only AOT builds to ensure native-ish performance • Ensure Polyfills for Internet Explorer are backed into your build Implementation Tips