
Types of projects the SharePoint Framework supports
As the SharePoint Framework is not a fixed set of functionalities that Microsoft chooses to release once, and then update at leisure years later, the types of projects it supports varies.
At the time of writing this book, the SharePoint Framework supports the following capabilities and project types:
- Client-side web parts: These are equivalent to your typical SharePoint web parts, or client-side web parts you could build with the add-in model. This is the most common requirement for any SharePoint project: to build a widget or element on a page that can be configured and parameterized to provide new functionality on a given page.
Client-side web parts are, as the name implies, implemented using assets the client browser understands; namely Cascading Style Sheets (CSS) for element branding and positioning, HTML for structure, and JavaScript for logic and functionality. You are free to include your preferred JavaScript frameworks inside a client-side web part, or use one of the recommended client-side frameworks, such as React or AngularJS, if you're already familiar with those.
- The SharePoint Framework extensions: These allow developers to extend and modify existing elements on SharePoint pages and views. These include the toolbars of SharePoint, the views of list data, notification areas, and similar facets. With the addition of the SharePoint Framework extensions, developers can customize and create new functionality outside client-side web parts, which was initially the only approach to using the SharePoint Framework in SharePoint Online.
- Web part connections: Similarly to classic (server-side) web part connections, these allow developers to create richer client-side web parts that can communicate with other web parts on a given page. This feature allows for functionality, such as selector view, that provides detailed information on another adjacent web part based on the selection.
As you can see, the SharePoint Framework already provides most of the needs that typical SharePoint projects, such as intranets, require. As the framework evolves, we can expect to get more abilities and possibilities that allow us to extend or even replace existing SharePoint features, in a clean and supported approach.