New Office features make it easier to build add-ins that bring new features to familiar programs.
It was a change that made sense. The iOS release of Office was just around the corner, as was a major update of the macOS release. These weren't the only changes to the Office suite, as Microsoft was working on a web-based set of Office applications. The new add-in model allowed the same add-in to run anywhere where Office was, so developers could write code once and know that it would work on mobile, on PCs, and on the web without any changes.
As well as being cross-platform, the new add-in model built on a common set of technologies that would become the Microsoft Graph, bridging the familiar Office applications and providing tools to allow information from one application to be consumed by another. Each add-in is at heart a small web application, hosted on a server, and behaving much like any application in a browser. You're not limited to one way of developing an add-in; you can use any web framework you want, whether it's a browser-side technology like React or Angular or a server-side tool like ASP.NET or Node.js. You're not limited to where the add-in runs; it can use your own server or any host, even a cloud provider like Azure.
Developing Office add-ins
The Office add-in programming model anticipated many modern, cloud-native programming techniques. Add-ins provide a manifest to their host application, with hooks for ribbon buttons and menu commands. Once the UI elements are in place, the add-on loads and runs in its own secure sandbox. There's no access to the rest of your system, making it a more secure approach than the old COM add-ins. Apps are shared through Microsoft's AppSource store, and can be free or paid-for, either using a one-off charge or a recurring subscription.
That's perhaps one of the more important aspects of the Office Developer platform; while older add-ins continue to operate, new APIs and new versions of existing ones allow your code to evolve with Office. Microsoft releases new builds of Office 365 regularly, with Insiders getting new code weekly.
Developers get access to a sandboxed Office 365 E5 subscription, allowing you to test and develop your code without affecting your live mail and document collaborations. Microsoft provides sample data for the developer tenant, with 16 fake users, complete with email messages and calendar events. You can then use the sample data to test your add-ins on real data.
New features for 2021
2021 is shaping up to be an interesting year for Office developers, with Microsoft adding new APIs, features, and UI tools to the platform. At the same time, it's committing to ensuring platform stability, while improving how users will be able to install and manage add-ins.
One of the more important updates for 2021 is the launch of event-based activation support in Outlook (now available in preview). Instead of a user having to trigger an add-in from the ribbon or a menu item, Outlook offers a set of events that can be used to launch a task automatically, without having to show a UI. These include when a message composition window is opened, when you create a new appointment, when you change the attachments in a message, among others. The events may seem simple, but they allow you to build new workflows around Outlook -- automatically adding a room booking to a meeting, for example, or making sure that messages always have a manager in the CC field. You'll need to add event handling code to your application, and can only use a subset of the Office.js APIs as event-driven code can't change the Outlook UI.
A useful new feature supports adding keyboard shortcuts to Excel add-ins. Excel power users often prefer the keyboard to the mouse, so adding shortcuts will make it easier for them to work with add-ins. They're important for users with disabilities, and it's worth adding them to your existing add-ins to increase accessibility.
SEE: Python programming language: A cheat sheet (free PDF) (TechRepublic)
PowerPoint will get a whole new set of capabilities, initially in the web version. It has not been easy to automate PowerPoint operations in the past, and the new APIs should make it easier to build code to both help design and run presentations.
Other new features let you take advantage of Office-specific UI features. One option supports the creation of custom control groups in the ribbon. You'll be familiar with these from using tools like Office's search. When you start a search, a new tab appears in the ribbon bringing together all the search-related features that aren't normally visible. It's possible to imagine a set of tools that link Word to a content management system, for example, appearing when you trigger a content management task. Saving to an enterprise CMS, for example, could open a new ribbon tab with edit and publish commands, as well as tools to help categorise content and add it to groups.
- Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- 5 programming languages application solutions developers should learn (free PDF) (TechRepublic)
- A guide to The Open Source Index and GitHub projects checklist (TechRepublic Premium)
- Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
- Programming languages and developer career resources (TechRepublic on Flipboard)