SharePoint Framework の概要
このユニットでは、SharePoint Framework とは何か、および開発環境の構成方法について説明します。
SharePoint ユーザー エクスペリエンスの進化
SharePoint ユーザーエクスペリエンスは、年月をかけて複数のバージョンで進化してきました。
SharePoint には、SharePoint Portal Server 2001 の最初のリリースからの長い歴史があります。 前の図は、SharePoint Microsoft が長年にわたってリリースしたバージョンを示しています。 初回リリースの後、Microsoft は ASP.NET 上で SharePoint を記述しなおし、SharePoint Portal Server 2003 リリースで Web パーツを導入しました。
SharePoint が普及すると、開発者は製品の拡張に関心を寄せるようになりました。 Office SharePoint Server 2007 では、特に機能やソリューションを開発者向けに複数導入しました。 さらに、Microsoft は Web コンテンツ管理ソリューションである Microsoft Content Management Server を、サイト発行機能として SharePoint に統合しました。
SharePoint Server 2010 では、分類、共有検索サービス、および外部ビジネス データを SharePoint サイトに取り込む機能を含む複数の共有サービスが製品に追加されました。
2012 年、Microsoft は新しい開発モデルを導入しました。これにより、開発者はカスタマイズを外部化して、ブラウザーまたは SharePoint がインストールされたサーバー以外のサーバーで実行できます。 この新しい SharePoint アドイン モデルは、SharePoint Server 2013 に導入され、多大な投資を行った SharePoint REST API とともにリリースされました。 また、SharePoint Server 2013 では OAuth 2.0 プロトコルが採用され、開発者は独自の ID を持つアプリを作成できるようになりました。
最近では、SharePoint Server 2016、SharePoint Server 2019、SharePoint Server サブスクリプション エディション、および SharePoint Online では、お客様がクライアント側の開発手法を使用して SharePoint をカスタマイズおよび拡張していることに気付きました。 クライアント側のカスタマイズは、SharePoint Framework の基盤となり、インスピレーションを与えています。
現在の SharePoint は次の 2 つのいずれかのバージョンです。
- SharePoint Server サブスクリプション エディション: これは、お客様がサーバーにインストールして管理するオンプレミスバージョンの SharePoint です。
- SharePoint Online: Microsoft 365 の一部として Microsoft が管理するホスト型バージョンの SharePoint です。
SharePoint Framework 拡張の原則
Microsoft 365 の進化に伴い、過去数年間、SharePoint ソリューションの開発は新たな一連の課題を抱えるようになりました。IT 管理者とテナント管理者はデータへのアクセス方法と使用方法を制御するための新しいツールセットを必要としている一方で、開発者は、サイトのライフサイクル全体、エクスペリエンス、およびデータ アクセス機能をプログラムで管理したいと考えています。
しかし残念ながら、現在では、限定的な API セットである iFrame のため、また Microsoft 365 ワークロード間が統合されていないため、開発者はアプリ パーツの作成に制限が課されているように感じています。 このため、SharePoint を拡張するための強力なポータルの開発能力は限定されています。
クライアント側の開発フレームワークは、Microsoft と Microsoft 以外の両方の開発者が強力で豊富なアプリケーションを構築するのに役立つ機能を提供し、直感的で使いやすいエンド ユーザー向けの Microsoft 365 で楽しい Web エクスペリエンスを提供します。
SharePoint Framework の概要
SharePoint Framework は最新のクライアント側の開発です。 作成およびビルドしたすべてのカスタマイズは、ブラウザーで展開され、実行されます。 SharePoint Framework コンポーネントにサーバー側コンポーネントはありません。
サーバー側のコンポーネントは作成できますが、自分で SharePoint 以外の場所にホストします。
SharePoint Framework コンポーネントはクライアント側ソリューションであるため軽量で、Web とモバイルの両方の環境で実行できます。 現在、JavaScript、HTML、CSS、および画像が使われています。 つまり、ブラウザーでもモバイル エクスペリエンスと同じように動作します。
SharePoint Framework は下位互換性があります。これは、モダン ページだけでなく、クラシック ページや発行ページでも機能します。
SharePoint Framework で使用する開発ツールとプラットフォームは、オープンソース ツール、および React などの一般的な JavaScript Web フレームワークを使用して実装されています。
モダン ページ
モダン ページとは
モダン ページとクラシック ページの違いは、モダン ページはクライアント側でレンダリングされることです。 モダン ページはサーバー側ではレンダリングされず、SharePoint 開発者がサーバー側ベースの Web パーツなどのコンポーネントをビルドするために使用します。
モダン ページはネイティブでレスポンシブです。つまり、ブラウザーのサイズが変更されると、現在の解像度やエクスペリエンスに合わせてサイズを変更してページを再レンダリングします。
作成した Web パーツは、クライアント側で実行され、レンダリングされます。クライアント側コンポーネントでは永続的なキャッシュも使用できるため、SharePoint Framework API によってキャッシュされたデータを、モダン ページにあるカスタム コンポーネントで使用できます。
モダン ページはモバイルに最適化されており、クライアント側でブラウザーやデスクトップ ブラウザーを使用していても、どちらでもレンダリングされます。
モダン サイト ページでは、ユーザーは美しい外観のページを簡単に作成できます。 改善された作成キャンバスと Web パーツのギャラリーを使用して、アイデアや情報を伝えることができます。 ページ作成者が使用できる一部の文書ブロックには、ページ キャンバスがあります。 このキャンバスと Web パーツはすべて、クライアント側の HTML と JavaScript を使用して作成されます。
モバイル サポートは最初から組み込まれているため、ページはさまざまなデバイス サイズで自動的に再フローされます。 ページは迅速かつ流動的です。 作成者は Microsoft Graph を活用して、対象読者となるユーザーに関連性の高いページを表示することができるので、Microsoft Graph を使うとモダン ページを向上させることができます。
SharePoint のクライアント側の開発
すべての SharePoint Framework 開発は JavaScript で行われるのでしょうか?
いいえ。また、SharePoint アドイン開発モデルと同じように、バックエンド シナリオにサーバー側の開発が必要です。
SharePoint Framework は、API の使用に関する基礎ではなく、コンポーネントのユーザー インターフェイス側のみを扱います。 サーバー側のソリューションは作成できますが、SharePoint Online で表示されることも、SharePoint プロセス内で実行されることもありません。
代わりに、これらのバックエンド API を操作するための SharePoint Framework コンポーネントを作成できます。
SharePoint Framework 開発環境の構成
SharePoint Framework 開発環境をセットアップするときには、考慮が必要な点がいくつかあります。 まず、Microsoft 365 開発者テナントのセットアップが必要です。
Microsoft 365 開発者テナントのセットアップ
開発者テナントと通常の運用テナントに違いはありません。 開発者は、Microsoft 365 開発者プログラムを通じて開発者テナントにアクセスできます。 開発者テナントは、通常、Microsoft 365 ライセンスを購入したときに取得できるものと同じです。
ヒント
https://aka.ms/offdp で Microsoft 365 Developer Program にサインアップします。
開発者テナントを取得したら、アプリ カタログ サイトを作成する必要があります。 アプリ カタログは、テストや組織内の他のユーザーとの共有を行うコンポーネントを含むカスタム パッケージを展開する場所です。 これは SharePoint ストアのようなものです。
その後、カスタム コンポーネントをテストするためのモダン サイト コレクションを作成する必要があります。
すべての SharePoint モダン サイトには、ワークベンチと呼ばれるものがあります。 ワークベンチとは、コンポーネントを SharePoint Online サイトで実行しようとしているときにテストできる場所です。 ワークベンチからは、SharePoint REST API からライブ データを操作できます。
要約
このユニットでは、SharePoint Framework とは何か、および開発環境の構成方法について説明しました。