はじめに
※ 2022年5月29日更新
SharePoint Online を安全にそしてパワフルに拡張するための開発フレームワークである SharePoint Framework 。
これまでの SharePoint 開発手法とは大きく異なり、オープンソースのツールを駆使した開発環境とクラウドを前提としたアーキテクチャを採用しているため、昔からの Windows 系開発者にはなかなか取っつき辛くハードルの高いものとなっています。
私もそのうちの一人。
それでも、クラウド時代に生きていくためには必要な知識なので、少しずつでも情報を蓄え、手を動かし、経験を蓄えて、その成果をブログにまとめて行っています。
このページでは、沢山の情報をなるべく一か所に集約し分類分けしてまとめることで、SharePoint Framework 開発にこれから取り掛かる開発者が、少しでも早く立ち上がることができるように情報提供をしていきたいと思います。
なお、情報はまだまだ全然足りないので、自分のブログ記事を追加するだけでなく、有識者の方、先駆者の方が作成した良い記事を見つけたりしたら、勝手ながらここに追記させていただきたいと思います。
SharePoint Framework 開発概要
そもそも SharePoint Framework が何のために存在しているのか?
そんな内容を過去にテクニカルイベントでお話させていただいたことがあります。
その際のビデオが YouTube にあるのでここに掲載しておきます。
開発環境
SharePoint Framework の開発環境構築に関する情報です。
Docker を使った開発環境構築
バージョンアップの早い SharePoint Framework の開発では Docker を使った開発環境を使用するのがお勧めです。
Visual Studio Code を利用していない方には Visual Studio Code Remote – Containers 拡張機能の便利さを体験して欲しいところではありますが、お気に入りのエディタがあるのでそちらを使いたいという場合は、以下の記事を参考にしてください。
- Docker を使った SharePoint Framework 開発環境の構築 その1
- Docker を使った SharePoint Framework 開発環境の構築 その2
- Docker を使った SharePoint Framework 開発環境の構築 その3
Docker を使わない開発環境構築
Docker が動かない場合は、Windows、Mac、Linux に直接開発環境を構築することももちろん可能です。
- SharePoint Framework (SPFx) 開発環境構築 (Windows 10) @鍋綿ブログ
- SharePoint Framework on Ubuntu Linux @LIAM CLEARY [MVP] BLOG
SharePoint Framework で開発できること/もの
SharePoint Framework を使うことで SharePoint Online や Teams で使用できるパーツなどを開発することができます。
SharePoint
SharePoint では、Web パーツ、拡張機能 (ヘッダ、フッタ、コマンド、フィールド) などが開発できます。
- SharePoint Framework Web パーツ開発 その1:プロジェクトの作成
- SharePoint Framework Web パーツ開発 その2:ビルド&デバッグ
- SharePoint Framework Web パーツ開発 その3:デプロイ
- SharePoint Framework Extension (拡張機能) 基礎講座
- SharePoint Framework 拡張機能開発 ハンズオン
- SharePoint Framework ライブラリコンポーネントの開発
- SharePoint Framework による Viva Connections アプリの開発
SharePoint Framework で開発したアプリを利用/運用する際に必要となる情報をまとめました。
Teams
Teams では、タブと Personal Apps の開発ができます。
Office アドイン
Office アドインでは、デスクトップ版および Web 版の Office で使えるアドインの開発ができます。
必須知識
SharePoint Framework の開発で必ず必要になる知識をまとめました。
- SharePoint REST サンプル集
SharePoint Framework で SharePoint からデータを取得する際には REST を使用します。
良く使う REST のサンプルをこちらのページでまとめています。
公式情報
マイクロソフト公式の SharePoint Framework に関する情報です。
- Docs
教科書的なドキュメントです。
基本的なことは、実はすべてここに書いてあります。
- Microsoft Learn – Microsoft SharePoint の拡張
SharePoint Framework の概要説明、開発環境構築、Web パーツ開発、拡張機能開発、Teams 開発、デプロイなど、SharePoint Framework に必須の知識を学ぶことができます。 - Microsoft SharePoint Blog
SharePoint Dev Weekly、SharePoint Development Community (PnP) Update など、開発者向けの記事や動画配信がされています。
英語ですが、開発画面の動画だったりするので、言葉を理解することはできないけど雰囲気はつかめますw - sp-dev-docs
マイクロソフト公式ドキュメントの基となっている GitHub 上のドキュメント。
トップページには SharePoint Framework のリリースノートへのリンクがあり、このページを見ることでバージョンごとの SharePoint Framework の変更点を確認することができます。
また、新しいバージョンがリリースされた際もこのページが更新されるため、バージョンアップの有無のチェックにも使えます。 - Teams 開発者向けドキュメント
SharePoint Framework で開発可能なものとして Teams のアプリがありますが、そもそも Teams の開発でどういったことができるのか、その内容の説明と開発のチュートリアルがまとめられたサイトです。
SharePoint Framework のバージョンの変遷
SharePoint Framework は現在進行形でバージョンアップが繰り返されています。
各バージョンでどんな機能がリリースされたのかはリリースノートにすべて記載されています。
- SharePoint Framework v1.14 の変更点
- SharePoint Framework v1.13 の変更点
- SharePoint Framework v1.12.1 の変更点
- SharePoint Framework v1.11 の変更点
- SharePoint Framework v1.10 の変更点
- SharePoint Framework v1.9.1 の変更点
SharePoint モダンサイト関連
SharePoint Framework とは直接関係のない、SharePoint モダンサイトに関する記事をまとめました。
サイトテンプレート
モダンサイトはクラシックサイトよりもテンプレート化の難易度が上がっていますが、テンプレート化することはできます。
そして、クラシックサイトよりも便利です。
- サイトテンプレートによるモダンサイトのテンプレート化とサイト作成 その1:サイトテンプレートとサイトスクリプト
- サイトテンプレートによるモダンサイトのテンプレート化とサイト作成 その2:サイトテンプレートの作成と登録
- サイトテンプレートによるモダンサイトのテンプレート化とサイト作成 その3:既存サイトのテンプレート化
- モダンサイトのテンプレート展開などを実現する「PnP PowerShell」
- PnP Provisioning でクラシックサイトのマスターページとページレイアウトを SPO に展開する方法
SharePoint の知識
SharePoint 開発を進める上で必要となる SharePoint の知識をまとめました。
SharePoint アドイン
SharePoint Framework ではないのですが、SharePoint Online に対応したもう一つの公式開発方法として、SharePoint アドインというものがあります。
こちらは、ASP.NET MVC を使った開発となります。
以下に、SharePoint アドインの開発についての情報をまとめました。