SOLVED

Develop using SharePoint Add-In or SPFX Framework?

%3CLINGO-SUB%20id%3D%22lingo-sub-1094740%22%20slang%3D%22en-US%22%3EDevelop%20using%20SharePoint%20Add-In%20or%20SPFX%20Framework%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1094740%22%20slang%3D%22en-US%22%3E%3CP%3EHello%20All%2C%3C%2FP%3E%3CP%3EI%20am%20in%20need%20of%20some%20opinions%20with%20respect%20to%20a%20method%20that%20makes%20sense%20to%20focus%20when%20developing%20apps%20for%20Sharepoint%20Online.%3C%2FP%3E%3CP%3EI%20have%20been%20tasked%20with%20building%20a%20customized%20Leave%20application%20for%20the%20company%20i'm%20employed%20with.%20It's%20also%20important%20that%20the%20application%20is%20built%20in%20a%20way%20that%20will%20cater%20not%20only%20for%20internal%20use%20but%20to%20eventually%20end%20up%20on%20the%20app%20store%20for%20other%20companies%20to%20use.%20Since%20SPFx%20came%20along%2C%20i've%20been%20torn%20between%20choosing%20to%20build%20a%20SharePoint%20Add-in%20or%20get%20on%20board%20with%20SPFx%20development.%20While%20I%20understand%20the%20differences%20between%20both%2C%20I%20assumed%20that%20SharePoint%20Add-ins%20would%20eventually%20become%20'buggy'%20in%20some%20form%20or%20fashion%20with%20the%20change%20to%20the%20modern%20SPO%2C%20so%20I%20ended%20up%20going%20with%20learning%20and%20building%20this%20application%20with%20SPFx%20and%20React.js.%20I%20have%20not%20been%20able%20to%20find%20any%20talk%20about%20Add-ins%20at%20the%20time%20since%20the%20trending%20topic%20is%20around%20SPfx%20development%2C%20therefore%2C%20I%20assumed%20that%20I%20chose%20the%20right%20path%26nbsp%3B%3CIMG%20class%3D%22lia-deferred-image%20lia-image-emoji%22%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Fhtml%2Fimages%2Femoticons%2Fsad_40x40_1.gif%22%20alt%3D%22%3Asad%3A%22%20title%3D%22%3Asad%3A%22%20%2F%3E.%3C%2FP%3E%3CP%3ESo%20far%2C%20I%20have%20accomplished%20building%20out%20multiple%20web%20parts%3A%20each%20having%20their%20own%20purpose%2C%20from%20representing%20data%20from%20Sharepoint%20lists%20and%20displaying%20a%20form%20for%20data%20intake.%20In%20the%20end%2C%20I%20have%20created%20a%20sort%20of%20dashboard%20look%20and%20feel%20to%20the%20Leave%20application%20I%20have%20been%20trying%20to%20accomplish.%20However%2C%20this%20method%20is%20not%20in%20a%20form%20where%20it%20can%20be%20packaged%20up%20and%20%22Added-on%22%20to%20another%20SharePoint%20environment%20seamlessly.%3C%2FP%3E%3CP%3EAfter%20spending%20a%20lot%20of%20time%20on%20SPFx%2C%20I've%20now%20realized%20that%20it%20makes%20more%20sense%20to%20build%20a%20Sharepoint%20Hosted%20Add-In%20to%20cater%20for%20the%20functionality%20of%20this%20application%20and%20the%20scope%20that%20we%20are%20aiming%20for.%20However%2C%20I'm%20very%20fearful%20that%20in%20the%20time%20I%20would%20spend%20learning%20how%20to%20build%20an%20Add-in%2C%20it%20would%20all%20crumble%20due%20to%20unforeseen%20errors%20that%20may%20occur%20in%20the%20new%20modern%20sharepoint%20environment.%20I%20am%20also%20guessing%20that%20Add-in%20development%20does%20not%20cater%20for%20modern%20pages%20and%20I%20will%20be%20using%20classic%20pages%20and%20web%20parts.%20This%20can%20allow%20limited%20functionality%20as%20well%2C%20and%20this%20also%20influenced%20my%20decision%20in%20choosing%20SPFx.%3C%2FP%3E%3CP%3EHas%20anyone%20recently%20and%20successfully%20developed%20an%20Add-In%20that%20works%20well%20with%20this%20new%20environment%3F%20If%20so%2C%20can%20you%20shed%20some%20light%20on%20my%20fears%3F%20All%20opinions%20and%20recommended%20resources%20to%20point%20in%20the%20right%20direction%20are%20welcomed...%3C%2FP%3E%3CP%3EThank%20you%20very%20much!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1094944%22%20slang%3D%22en-US%22%3ERe%3A%20Develop%20using%20SharePoint%20Add-In%20or%20SPFX%20Framework%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1094944%22%20slang%3D%22en-US%22%3E%3CP%3EDear%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F421542%22%20target%3D%22_blank%22%3E%40Yarrah%3C%2FA%3E%3C%2FP%3E%3CP%3EI%20can%20tell%20you%20that%20you%20are%20in%20the%20right%20place%2C%20so%20keep%20calm%20and%26nbsp%3Btalk%20together%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3ESPFX%20solutions%20can%20be%20published%20on%20any%20tenant%2C%20however%2C%20it%20is%20essential%20to%20follow%20best%20practices%2C%20but%20this%20applies%20to%20any%20approach.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESPFx%20Custom%20Webpart%20(dashboard%3F)%20must%20be%20deployed%20to%20tenant%20app%20catalog%20or%20site%20collection%20app%20catalog%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fgeneral-development%2Fsite-collection-app-catalog%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fgeneral-development%2Fsite-collection-app-catalog%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESharePoint%20assets%20like%20lists%2C%20content%20type%20could%20be%20deployed%20already%20using%20SPFx%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fspfx%2Fweb-parts%2Fget-started%2Fprovision-sp-assets-from-package%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fspfx%2Fweb-parts%2Fget-started%2Fprovision-sp-assets-from-package%3C%2FA%3E%26nbsp%3Bor%20using%20PnP%20Provisioning%20engine%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fsolution-guidance%2Fintroducing-the-pnp-provisioning-engine%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fsolution-guidance%2Fintroducing-the-pnp-provisioning-engine%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESharePoint%20Add-ins%20approach%20is%20already%20valid%2C%20in%20my%20opinion%2C%20it%20depends%20on%20technology%20approach%2C%20architectural%20approach%20and%20dependency%2C%20and%20isolation%2Fsecurity%20(governance)%20level%20you%20want%20to%20introduce%20in%20your%20solution.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EWhat%20I%20understand%2C%20your%20SPFx%20WebParts%20and%20Custom%20lists%20is%20a%20classic%20solution%20you%20could%20easily%20deploy%20and%20maintain%20everywhere%2C%20in%20every%20tenant.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIf%20you%20can%2C%20please%20check%20already%26nbsp%3B%3CEM%3EImplement%20Continuous%20Integration%20and%20Continuous%20deployment%20using%20Azure%20DevOps%3C%2FEM%3E%20%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fspfx%2Ftoolchain%2Fimplement-ci-cd-with-azure-devops%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fsharepoint%2Fdev%2Fspfx%2Ftoolchain%2Fimplement-ci-cd-with-azure-devops%3C%2FA%3E%26nbsp%3Bin%20order%20to%20understand%26nbsp%3Bthe%20great%20potential%20of%20how%20to%20build%20a%20solution%20with%20SPFx%20and%20deploy%2Fmaintain%20it%20according%20to%20the%20DevOps%20principles.%3CBR%20%2F%3E%3CBR%20%2F%3ECheers%2C%3CBR%20%2F%3EFederico%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1108084%22%20slang%3D%22en-US%22%3ERe%3A%20Develop%20using%20SharePoint%20Add-In%20or%20SPFX%20Framework%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1108084%22%20slang%3D%22en-US%22%3E%3CP%3EHey%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F138334%22%20target%3D%22_blank%22%3E%40Federico%20Porceddu%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20assurance%26nbsp%3B%3CIMG%20class%3D%22lia-deferred-image%20lia-image-emoji%22%20src%3D%22https%3A%2F%2Fgxcuf89792.i.lithium.com%2Fhtml%2Fimages%2Femoticons%2Fhappyface_40x40.gif%22%20alt%3D%22%3Ahappyface%3A%22%20title%3D%22%3Ahappyface%3A%22%20%2F%3E!%26nbsp%3B%20I%20feel%20better%20now%20lol.%20Also%2C%20thank%20you%20very%20much%20for%20your%20tips%2C%20they%20are%20pointing%20me%20in%20the%20right%20direction%20as%20I%20have%20been%20using%20them%20as%20a%20checklist%20before%20deploying%20to%20production.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1109703%22%20slang%3D%22en-US%22%3ERe%3A%20Develop%20using%20SharePoint%20Add-In%20or%20SPFX%20Framework%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1109703%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F421542%22%20target%3D%22_blank%22%3E%40Yarrah%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3Eyou're%20welcome%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3EFeel%20free%20to%20ask%20the%20community%20what%20you%20need%20%3A)%3C%2Fimg%3E%3C%2FP%3E%3CP%3ECheers%2C%3C%2FP%3E%3CP%3EFederico%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
Contributor

Hello All,

I am in need of some opinions with respect to a method that makes sense to focus when developing apps for Sharepoint Online.

I have been tasked with building a customized Leave application for the company i'm employed with. It's also important that the application is built in a way that will cater not only for internal use but to eventually end up on the app store for other companies to use. Since SPFx came along, i've been torn between choosing to build a SharePoint Add-in or get on board with SPFx development. While I understand the differences between both, I assumed that SharePoint Add-ins would eventually become 'buggy' in some form or fashion with the change to the modern SPO, so I ended up going with learning and building this application with SPFx and React.js. I have not been able to find any talk about Add-ins at the time since the trending topic is around SPfx development, therefore, I assumed that I chose the right path :sad:.

So far, I have accomplished building out multiple web parts: each having their own purpose, from representing data from Sharepoint lists and displaying a form for data intake. In the end, I have created a sort of dashboard look and feel to the Leave application I have been trying to accomplish. However, this method is not in a form where it can be packaged up and "Added-on" to another SharePoint environment seamlessly.

After spending a lot of time on SPFx, I've now realized that it makes more sense to build a Sharepoint Hosted Add-In to cater for the functionality of this application and the scope that we are aiming for. However, I'm very fearful that in the time I would spend learning how to build an Add-in, it would all crumble due to unforeseen errors that may occur in the new modern sharepoint environment. I am also guessing that Add-in development does not cater for modern pages and I will be using classic pages and web parts. This can allow limited functionality as well, and this also influenced my decision in choosing SPFx.

Has anyone recently and successfully developed an Add-In that works well with this new environment? If so, can you shed some light on my fears? All opinions and recommended resources to point in the right direction are welcomed...

Thank you very much!

3 Replies
Best Response confirmed by Yarrah (Contributor)
Solution

Dear @Yarrah

I can tell you that you are in the right place, so keep calm and talk together :)

SPFX solutions can be published on any tenant, however, it is essential to follow best practices, but this applies to any approach.

 

SPFx Custom Webpart (dashboard?) must be deployed to tenant app catalog or site collection app catalog https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog

 

SharePoint assets like lists, content type could be deployed already using SPFx https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/provision-sp-assets-from-... or using PnP Provisioning engine https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/introducing-the-pnp-provisioning-e...

 

SharePoint Add-ins approach is already valid, in my opinion, it depends on technology approach, architectural approach and dependency, and isolation/security (governance) level you want to introduce in your solution.

 

What I understand, your SPFx WebParts and Custom lists is a classic solution you could easily deploy and maintain everywhere, in every tenant.

 

If you can, please check already Implement Continuous Integration and Continuous deployment using Azure DevOps  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/toolchain/implement-ci-cd-with-azure-devops in order to understand the great potential of how to build a solution with SPFx and deploy/maintain it according to the DevOps principles.

Cheers,
Federico

Highlighted

Hey @Federico Porceddu ,

 

Thank you for your assurance :happyface:!  I feel better now lol. Also, thank you very much for your tips, they are pointing me in the right direction as I have been using them as a checklist before deploying to production.

 

Highlighted

Hi @Yarrah 

you're welcome :)

Feel free to ask the community what you need :)

Cheers,

Federico