Based on my analysis, I have found the following considerations related to Modern UI in SharePoint.
- Currently, there is no way to migrate existing branding as in the Modern UI.
- There is a PnP tool available which will help to scan the current UI and will help to find out if it can be can replaced or not. It will give you a report of customizations which are simply ignored in the "modern" user interface.
https://github.com/SharePoint/PnP-Tools/tree/master/Solutions/SharePoint.UIExperience.Scanner
- Site Script is the new concept for Modern UI sites and pages where you can apply to a certain limit customization but again as of now Site Script is not evolved much so a lot of features would not be there which will be available over a period of time. https://github.com/SharePoint/sp-dev-site-scripts
- A certain limit of customization like removing the banner, removing quick links etc. you can do in modern pages as well by executing the js from the page and you can match with the branding you have in the classic sites.
- The list of features which is not supported with Modern UI is quite big and maybe troubling now for businesses who are considering migration or total replacement.
https://support.office.com/en-us/article/differences-between-the-new-and-classic-experiences-for-lists-and-libraries-30e1aab0-a5cc-4363-b7f2-09e2ae07d4dc?ui=en-US&rs=en-US&ad=US
- One thing we have to understand as per the current scenario, classic and modern sites & pages both are altogether different, they both can exist on the same site but can't replace each other completely. A few examples:
- Classic Web part would not work on Modern UI Page
- OOTB Modern Web part would not work on Classic Page
- The custom Modern Web part will work on both kinds of pages.
- Microsoft has introduced SPFx client web parts that can be used both in modern pages & classic pages. But actually there is some glitch to use OOTB provided SPFx web parts on classic pages.It is not fully functional.
- To customize the modern page - Microsoft has introduced SPFx extensions from SPFx 1.2 version.
- Using SPFx extensions we can customize the following,
- Application Customizer - To customize Top (navigation) & Footer of any modern pages
- Command Set - To add custom actions to the List/Document library command bar
- Field Customizer - To format the field in List view
- SPFx web parts can be developed using any of the client side frameworks - Angular, Knockout JS, React JS etc.
- To analyze the impact on an existing site, we can run the below tool on the site and it will provide the details in an excel format
https://github.com/SharePoint/PnP-Tools/tree/master/Solutions/SharePoint.UIExperience.Scanner
- There are not many OOTB Client web parts available at the moment. But, there are many SPFx client web parts that are developed by others and published on GitHub. Also, there are fantastic 40 SPFx web parts that you can consider.
https://github.com/OlivierCC/spfx-40-fantastics
- To migrate existing customizations, you can look into the below link,
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/guidance/migrate-jslink-to-spfx-extensions
- This SPFx extension can be deployed at the tenant side also. So that for example, if we want to have the custom Navigation across tenant in all modern pages, we can achieve it
- Microsoft also introduced site collection level App Catalog that can be useful for hosting the web parts within the site collection without the dependency on the tenant administrator.