Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Office Add-Ins with Angular - Welcome to a brave new world

Thorsten Hans
September 26, 2017

Office Add-Ins with Angular - Welcome to a brave new world

Slides from my talk on Office Add-Ins with Angular at @BastaCon

Thorsten Hans

September 26, 2017
Tweet

More Decks by Thorsten Hans

Other Decks in Technology

Transcript

  1. Office Add-Ins with Angular Welcome to a brave new world

    Thorsten Hans @thorstenhans [email protected] thorsten-hans.com @thinktecture [email protected] thinktecture.com Consultant @thinktecture
  2. What to expect • Office as Platform • Angular Integration

    • Deployment Options • Getting Started What not to expect • Angular Introduction • Office Add-Ins API Deep Dive • UX / UI Best Practices
  3. The image part with relationship ID rId12 was not found

    in the file. The image part with relationship ID rId12 was not found in the file. The image part with relationship ID rId12 was not found in the file. Special Day “Modern Business Applications” Thema Sprecher Datum, Uhrzeit Raum Pragmatische Microservices-Architekturen mit .NET, Web-APIs, SignalR und Co. Christian Weyer DI, 26. September 2017, 10.30 bis 11.30 Gutenberg-Saal 2+3 TypeScript für .NET-Entwickler Christian Wenz DI, 26. September 2017, 11.45 bis 12.45 Gutenberg-Saal 2+3 Angular: Komponentenbasierte HTML5-Anwendungen für alle Manuel Rauber DI, 26. September 2017, 14.15 bis 15.15 Gutenberg-Saal 2+3 Oberflächenlayout der Zukunft: CSS Flexbox vs. Grid Layout Peter Kröner DI, 26. September 2017, 16.00 bis 17.00 Gutenberg-Saal 2+3 Microsoft Office als Plattform: Mit Angular auf zu neuen Ufern Thorsten Hans DI, 26. September 2017, 17.15 bis 18.15 Gutenberg-Saal 2+3
  4. • Introduction to Office as a platform • Office Add-In

    Shapes • The new dev story • Tips from the field • Recap • Q&A Talking-Points
  5. What offers Office offers as a platform • Seamless integration

    into • Office fat clients • Office Online • Office Mobile • https://dev.office.com/add-in-availability • Use existing distribution channels • More potential customers • Achieve requirements easier • Don’t build yet another Excel, use the existing one Introduction to Office as a platform
  6. Deployment Channels • Deploy to public Office Store • On-Premise

    deployments using Exchange Server and SharePoint • Exchange for Outlook Add-Ins • SharePoint for Word, Excel and PowerPoint • Side-Loading for Developers Introduction to Office as a platform
  7. One development model, many possibilities • Office manifest defines the

    shape of the app • Manifest is extensible, we’ll see more shapes in the future • All shapes are well-known UI concepts for Office users • Microsoft itself is also using those shapes Office Add-In Shapes
  8. No more VSTO • HTML5, JavaScript and CSS are the

    only supported languages in the frontend • You chose the language for the backend / API • The office.js is the center of gravity • Documents, Spreadsheets, Slidedecks, Mails, Appointments • Fundamental information about the user • Name, used Theme, Office Version • The office.css provides styling for Office Add-Ins • Optional, you can use custom styles for consistency Office Developer Story
  9. Tooling • Visual Studio Integration • Visual Studio Extension available

    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
  10. Debugging Experience • Debug everywhere • Office fat client for

    Windows à Edge Developer Tools • Office Online à regular Browser Developer Tools • Office fat client for Mac à Vorlon.JS Office Developer Story
  11. Tips from implementations we did • Build responsive only •

    Wrap office.js for Angular apps • It’s regular callback JS, you want at least Promises or even better Observables • Use factories and swap Angular service implementations when running in Office • Wait for Office before bootstrapping your Angular app • Use Dialog API instead of window.open • Deliver only AOT builds to ensure native-ish performance From the field
  12. • Office Add-In Introduction • The new Developer Story •

    Office Add-In Shapes • Demo (Angular SPA as Excel Add-In) • Tips from the field Recap