Más contenido relacionado
La actualidad más candente (20)
Similar a SharePoint 開発入門 (20)
Más de Hiroaki Oikawa (12)
SharePoint 開発入門
- 2. 目次
SharePoint 開発の定義
SharePoint の開発手法と特徴
SharePoint 開発をはじめるにあたって
2
© SharePoint Developer
sharepoint.orivers.jp
- 4. SharePoint 開発の定義 1
SharePoint は、ユーザーの技量に合わせて、様々なカスタマイ
ズ方法が用意されており、難易度が高いほど、より詳細な部分ま
でカスタマイズすることができます。(自由度が高くなる)
© SharePoint Developer
sharepoint.orivers.jp 4
標準
説明 難易度
ブラウザからのページ編集や各種アプリの追加、
変更など
低
カスタマイズ
SharePoint Designer を使用したワークフ
ロー作成や、3rd パーティ製品の導入など
中
開発
C#、JavaScript など開発言語を使用して、
独自の UI や機能を追加するなど
高
方法
※ だいたい間違ってはいないと思いますが、上記は一つの考え方であって、他の切り口からの考え方もあるかと思います。
低
自由度
中
高
- 5. SharePoint 開発の定義 2
本書では、C# や JavaScript を使用して SharePoint のカス
タマイズを行うことを「開発」と定義します。
© SharePoint Developer
sharepoint.orivers.jp 5
標準
説明 難易度
ブラウザからのページ編集や各種アプリの追加、
変更など
低
カスタマイズ
SharePoint Designer を使用したワークフ
ロー作成や、3rd パーティ製品の導入など
中
開発
C#、JavaScript など開発言語を使用して、
独自の UI や機能を追加するなど
高
方法
本書の説明範囲
低
自由度
中
高
- 7. 3 タイプの開発手法
オンプレからはじまりクラウドの世界まで広がった SharePoint は、
大きく3タイプの開発手法があり、それぞれに特徴があります。
© SharePoint Developer
sharepoint.orivers.jp 7
ファーム
ソリューション
開発
アドイン開発
クライアントサイド
開発
• SharePoint が稼動するサーバー上で動作するプログラムを開発する手法。
• サーバーサイドのクラスライブラリを用いて、SharePoint に様々な機能拡張ができる。
• 正しい知識で正しくプログラムを開発しなければ、SharePoint 全体を停止させてしまうようなプ
ログラムを書くこともできるため、リスクが大きい。
• SharePoint が稼動するサーバーとは別のサーバーでプログラムを動作させつつ、 SharePoint
とシームレスに連携するプログラムを開発する手法。
• クライアントサイドのクラスライブラリを用いて、SharePoint が持つ Web API を経由して
SharePoint の機能の利用、データの授受を行う。
• 開発できるものは限られるが、ファームソリューションよりも安全。
• JavaScript、TypeScript など、Web フロントエンド開発の技術を用いて、ブラウザ上で動作す
るプログラムを開発する手法。
• 開発する対象により、開発のお作法が異なる。
(表示テンプレート、SharePoint Framework など)
- 8. 実装可能な拡張機能
開発手法により、実装可能な SharePoint の拡張機能の種類
と、Office 365 に対応しているか否かが変わります。
© SharePoint Developer
sharepoint.orivers.jp 8
ファーム
ソリューション
開発
アドイン開発
クライアントサイド
開発
• Web パーツ (サーバー上で動作する)
• イベントレシーバー (アイテム追加、更新、
削除で動作する処理)
• リボンメニュー、…メニュー、サイトの設定メ
ニュー
• アプリケーションページ
• サイト定義、リスト定義
• コンテンツタイプ、サイト列
• 2010, 2013 ワークフローのアクティビティ、
テンプレート
• フィーチャー (サイトの機能、サイトコレク
ションの機能など)
• サービスアプリケーション、タイマージョブ
• Web パーツ(別サーバー上で動作す
る)
• リモートイベントレシーバー
• リスト、サイト列、コンテンツタイプ
• リボンメニュー、…メニュー
• 2013 ワークフローのアクティビティ、テンプ
レート
• アドインが動作する専用ページ
• Web パーツのビジュアル変更
• 検索結果ページのビジュアル変更
• SharePoint ページ上に独自 UI 追加
• SharePoint Framework による client-side webpart
実装可能な SharePoint の拡張機能
×
〇
〇
O365対応
- 9. 必要なスキルセット、開発環境
開発手法により、必要なスキルセット、開発環境が異なります。
© SharePoint Developer
sharepoint.orivers.jp 9
ファーム
ソリューション
開発
アドイン開発
クライアントサイド
開発
• C# or VB.NET、ASP.NET
• .NET サーバー API
• JavaScript、jQuery
• JavaScript クライアント API、REST API
• DB アクセスや、ASP.NET の機能を活用した画面開発な
どを行う場合、C#、ASP.NET、.NET クライアント API
• JavaScript または TypeScript などの AltJS 系言語
• SharePoint REST API、Microsoft Graph API など
• SharePoint Framework (client web part開発時)
• AngularJS などの Web Front Framework (任意)
スキルセット
• Visual Studio
• Windows Server OS
• SharePoint Server
• Visual Studio
• Windows Client OS
• Office 365 開発者サイト
または オンプレの開発者サイト
• 好みのエディタ、OS
• Office 365 サイト
• SharePoint Framework時、
node.js、NPM、Gulp、
Yeoman
開発環境
- 10. デプロイ方法
開発手法により、デプロイ方法が異なります。
© SharePoint Developer
sharepoint.orivers.jp 10
ファーム
ソリューション
開発
アドイン開発
クライアントサイド
開発
• Visual Studio で作成したソリューションファイル (.wsp) を、 SharePoint のサーバー上にて、
PowerShell を使用してインストール。
• 機能を利用するサイトコレクション、サイトにて、フィーチャーをアクティブ化。
• Visual Studio で作成したアプリアプリファイル (.app) を、アプリカタログに登録。
• 外部 Web アプリケーションは、別途 Web サーバーや Azure 上にデプロイ。
• 機能を利用するサイトにて、アプリを追加。
• 必要な JS などのファイルをドキュメントライブラリや、Web サーバー、CDN 等にアップロード。
• SharePoint Framework 利用時は、上記の他、開発環境で作成したアプリファイル
(.spapp) をアプリカタログに登録。
- 12. そもそも SharePoint 開発する意味ありま
すか?
SharePoint の利点を少しでも活かすことができなければ、
SharePoint 開発を行う意味はありません。
本当に SharePoint で実現すべきことなのか、よく考えましょう。
例えばこんなことを考えてみる
- SharePoint が持つ機能を利用しますか?
- SharePoint のインフラを利用するメリット、デメリットは認識できていま
すか?
- 他のソリューションを採用するより、SharePoint を使った方が良いと考
える理由は何ですか?
© SharePoint Developer
sharepoint.orivers.jp 12
- 14. 参考資料
SharePoint 開発のポータル
- https://msdn.microsoft.com/ja-jp/library/office/dn833469.aspx
SharePoint 2013 開発の概要
- https://msdn.microsoft.com/ja-jp/library/office/jj164084.aspx
SharePoint アドイン
- https://msdn.microsoft.com/ja-jp/library/office/fp179930.aspx
SharePoint Framework
- https://dev.office.com/sharepoint/docs/spfx/sharepoint-framework-
overview
© SharePoint Developer
sharepoint.orivers.jp 14