OfficeDev / Office-Add-in-samples

Code samples for Office Add-in development on the Microsoft 365 platform.
MIT License
749 stars 805 forks source link

Inquiry Regarding Suitable Framework for Office Add-ins Development #673

Closed shermaro91 closed 9 months ago

shermaro91 commented 9 months ago

Hello,

I'm new to developing Office add-ins and I'm interested in creating one using Angular 13 and a C# Web API. However, I've come across some information on Stack Overflow suggesting that Angular 13 is no longer supported for Office add-ins development. I want to ensure that I choose a framework that has long-term support from the Office.js side.

Could you please provide guidance on the best framework to use for developing Office add-ins considering long-term support from Office.js?

Below are the links which suggest not to use Angular.

https://github.com/OfficeDev/Office-Addin-TaskPane-Angular

https://github.com/OfficeDev/Word-Add-in-Angular2-StyleChecker

Thanks

Rick-Kirkham commented 9 months ago

You can still use Angular to create Office Add-ins. Due to lack of staffing, we no longer maintain/update documentation and samples for add-ins that use Angular. For the same reason, the Yo Office tool no longer has an option to create an Angular-based add-in. But there is no technical incompatibility between Angular and Office Add-ins, so Office Add-ins are still compatible with Angular. Just note that if you use Angular, you will be dependent on the add-in developer community to help you out of any problems by raising them on Stack Overflow.

shermaro91 commented 9 months ago

Thanks @Rick-Kirkham for quick response.

Can you suggest which framework would provide the longest support and most comprehensive documentation from the Office side?

Rick-Kirkham commented 9 months ago

React is the most supported and if you use React, you can easily use the Fluent UI React library to make your add-in visually compatible with Microsoft 365 and reflect the user's chosen Office theme. (There is also a Fluent UI Web Components library for non-React developers, but even the Fluent team considers it not fully baked and we don't recommend it yet for Office Add-ins.)

React is really just a UI framework supplemented with a little state management, not a full stack framework, like an MVC framework. If you want an end-to-end framework, there is ASP.NET MVC. If you want to take that route, create your project with one of the Office Add-in project types in Visual Studio (not Yo Office, which creates Node.js-based projects). These projects are ASP.NET.