Comparison of Client-side and Server-Side Technologies
Traditional custom SharePoint development services were done primarily on the server using C#, the.Net Framework, and the SharePoint object model; SPFx uses modern technologies for cloud application development using new tooling chains like SPFx. Below is a comparison between old and new toolchains.
SPFx Web Parts Vs. Script Editor Web Parts Vs. App Parts
When it comes to injecting scripts into SharePoint pages, Script Editor web parts are the go-to solution, as it enables developers to do just that while also providing us access to interact with DOM elements directly. However, there may be drawbacks.
Security concerns exist due to end-user access, as an end user could edit pages and modify scripts themselves. Config options cannot be quickly provided, although in certain instances, “NoScript” can be activated for specific site collections; in this way, script editors on such sites will no longer function.
This option is recommended for SharePoint 2013 sites that do not permit script injection, as it creates an iFrame where experience will reside & run, which requires separate authorization before accessing DOM elements.
- This is the most popular SharePoint web part, which allows developers to inject scripts into SharePoint pages. This approach allows us to interact with the DOM element. There are some cons.
- It is not secure because the end-user can edit the page and modify the script.
- It is only possible to provide configuration options slowly.
- In some cases, the “NoScript” feature can be enabled for specific site collections. The script editor will, therefore, be blocked on such sites.
- This option is for SharePoint 2013 sites that are “NoScript.” This creates an iFrame in which the experience resides & runs. This will require separate authorization & will prevent us from accessing DOM elements.
- It will also take more work to create responsive designs that inherit CSS and theme information.
- It is a disadvantage not to be able to access the DOM element because we might need to interact with the elements of the SharePoint page.
With its versatile features, SPFx has become popular.
- Open Source Tooling: The SPFx platform is open and interoperable, enabling anyone to install it on any computer using only open-source software.
- SharePoint 2019 On-Premise Customizations: SharePoint Server 2019 supports modern SPFx features for building and deploying solutions quickly and securely.
- Create SPFx tabs easily in Teams using only minimal customizations. Starting in version 1.8.0 of SPFx, SPFx tabs can now be added to Teams, which enables web parts to be utilized more widely and gives them greater exposure.
- Library Components are an innovative feature of SharePoint Framework, which makes reusable code accessible by multiple components. Additionally, SharePoint Framework makes this available so web parts can access standard services seamlessly.
Power Apps Vs. SPFx – When to Use What?
Microsoft Power Platform allows for low-code development through its Power Apps component, enabling us to rapidly build custom business apps that connect to different data sources like Microsoft 365, SharePoint Server, and SQL Server. Power Apps has become increasingly popular as an app development solution due to their rapid app creation capabilities; Power Apps are often compared with SPFx for their rapid app creation capabilities.
What can the SharePoint Framework accomplish?
SPFx allows us to develop three distinct types of components: Extensions, Library Components, and Web parts. These all may include subcomponents as subcomponents.
SharePoint extensions allow developers to enhance the user interface for modern pages and document libraries, providing branding opportunities across an entire tenant site. SPFx offers three categories of extensions.
- ApplicationCustomizers: Application Customizers allow developers to add scripts and HTML placeholders into SharePoint pages for branding across all sites.
- Customizers for Fields and Columns: Customizers are tools that enable you to change the data displayed in lists or libraries by altering how fields and columns display data, such as colors or KPIs, instead of text-based percentages, to provide an engaging user experience.
- Command Sets: Command Sets are used to create customized library and list commands, extending SharePoint’s command surfaces by creating new actions through SharePoint’s command surfaces.
A library component provides a platform where code that all tenants and components can utilize can be created easily.
Microsoft Teams Solution
SPFx can be used to develop custom apps in Microsoft Teams. By altering its manifest file, web parts can be modified so they are clear they are compatible with Microsoft Teams; then, one web part is added both to SharePoint pages and custom applications in Microsoft Teams.
Single Page Apps (SPAs)
Are applications made up of several significant web components added directly to a page? Developers can quickly build single-page apps with single-page apps by creating web parts & adding an entry to their manifest file that specifies they belong in this way.
SPFx does have some drawbacks, as with any development model.
- Elevating Permissions: Since SPFx runs under the context of the current user, as is true with client-side solutions, there is no built-in way of elevating permissions when impersonating another user.
- Long-running operations: Since SPFx is a client-side implementation, it may not be appropriate for operations that take an extended amount of time to complete. Since web requests must respond immediately, hybrid solutions such as Azure web jobs with regular updates to SPFx via webhooks might be best suited.
Why Use the SharePoint Framework?
Microsoft offers numerous approaches for enterprise On-premise environments to fulfill any task or function needed, from out-of-the-box (OOTB) to custom web parts. Sharepoint features XML features (C#/DLL features available) that can be deployed. While this approach works great when deployed at one enterprise site simultaneously, when multiple tenants run concurrently, it becomes ineffective. Two approaches were suggested by outsourcing SharePoint web development services consultants when dealing with SharePoint Online environments, as shown below.
- The Script Editor is the most popular web part in SharePoint Online. It is also one of its most powerful features.
- The page can be easily interacted with by the controls on the page, as they run in the same browser context and the same DOM.
- It has some disadvantages of its own. It takes a lot of work to configure. The web-parts functionality can be broken if an end user modifies the script by editing the page.
- This web-part does not have the “Safe for Scripting” label.
- NoScript is enabled in most site collections that provide self-service, like development Team Sites and Group Sites. The Script Editor Web part has been blocked on these sites due to the removal of Add/Customize Pages permission (ACP).
- SharePoint Add-ins are an option for executing custom solutions in NoScript sites.
- This option creates an iFrame where the functionalities are located and executed.
- It is external to the system and does not have access to the DOM/connection. The SharePoint add-in model can be deployed and trusted easily. They are also available for consumption on NoScript sites.
- They also have their effects due to being run in an iFrame. iFrame is slower than Script Editor because it requires a request for a new page and goes through authentication and authorization.
- The iFrame is more secure because the controls that are loaded into it cannot be accessed by other controls on the page, and they have no access to Office 365.
- It is a barrier to responsiveness, inheritance of CSS, and theming.
SharePoint Framework: Pros and Cons
Like anything, Microsoft SharePoint Framework has both advantages and disadvantages.
SPFx uses user contexts to display only data that are visible to an end-user, making it lightweight, responsive, and fast compared to client-side solutions like NodeJS or Office Fabric UI.
- Furthermore, Office Fabric UI compatibility means an increase in responsiveness is possible.
- If not used correctly, server-side solutions can cause irreparable harm to a SharePoint farm – from one site collection all the way up to its entirety. SPFx supports client-side development to reduce this risk.
- SPFx can be used with either classic or modern pages, depending on whether your online tenant uses SharePoint 2013 Classic mode.
- Before SPFx was available, client-side code required extra variables and calls to retrieve configuration settings. Now, it is easy to set up web components by assigning properties directly.
- SPFx’s deployment mechanisms, which include app bundling and packaging, app shipping to stores (such as SharePoint App Catalog), and tenant deployment, are more efficiently managed than before.
- SPFx includes a locally installed workbench that allows for the rapid development and testing of client-side web parts.
- NodeJS components from the NodeJS Community can also be utilized in SPFx Client-side Development. Furthermore, Microsoft Graph API provides a client-side web component that enables clients to interact with Office365, Azure OneDrive, Outlook, etc.
- Development does not require any special hardware, as any computer (Windows, Mac, or Linux) can be used by a SharePoint consultant for client-side development.
- Simply installing NodeJS, Gulp, and Yeoman templates into an environment is all that’s needed; text editors provide all that’s necessary when developing SPFx Web parts.
- Without accessing its client-side business logic via source code or browser inspection, web-part client-side business logic cannot be reached through source code or browser inspection.
- NodeJS, Typescript Webpacks, and Gulp present an entirely different development environment than the SharePoint Classic development environment for developers who must now learn them all before moving forward with any further work on SharePoint Classic.
Conclusion of Article