sharepoint 開発入門

14
SharePoint 開開開開 - SharePoint 開開開開開開開開開開開- @HiroakiOikawa 2016/12/19 http://sharepoint.orivers.jp

Upload: hiroaki-oikawa

Post on 16-Apr-2017

215 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: SharePoint 開発入門

SharePoint 開発入門- SharePoint 開発ってなにができるの?

-

@HiroakiOikawa2016/12/19

http://sharepoint.orivers.jp

Page 2: SharePoint 開発入門

2

目次

SharePoint 開発の定義

SharePoint の開発手法と特徴

SharePoint 開発をはじめるにあたって

© SharePoint Developersharepoint.orivers.jp

Page 3: SharePoint 開発入門

SharePoint 開発の定義

SharePoint における「開発」について定義づけします。

3

Page 4: SharePoint 開発入門

4

SharePoint 開発の定義 1SharePoint は、ユーザーの技量に合わせて、様々なカスタマイズ方法が用意されており、難易度が高いほど、より詳細な部分までカスタマイズすることができます。( 自由度が高くなる )

© SharePoint Developersharepoint.orivers.jp

標準

説明 難易度

ブラウザからのページ編集や各種アプリの追加、変更など 低

カスタマイズ

SharePoint Designer を使用したワークフロー作成や、 3rd パーティ製品の導入など

開発C# 、 JavaScript など開発言語を使用して、独自の UI や機能を追加するなど

方法

※ だいたい間違ってはいないと思いますが、上記は一つの考え方であって、他の切り口からの考え方もあるかと思います。

自由度

Page 5: SharePoint 開発入門

5

SharePoint 開発の定義 2本書では、 C# や JavaScript を使用して SharePoint のカスタマイズを行うことを「開発」と定義します。

© SharePoint Developersharepoint.orivers.jp

標準

説明 難易度

ブラウザからのページ編集や各種アプリの追加、変更など 低

カスタマイズ

SharePoint Designer を使用したワークフロー作成や、 3rd パーティ製品の導入など

開発C# 、 JavaScript など開発言語を使用して、独自の UI や機能を追加するなど

方法

本書の説明範囲

自由度

Page 6: SharePoint 開発入門

SharePoint の開発手法と特徴

一言で SharePoint 開発といっても、実は色々な開発があります。

6

Page 7: SharePoint 開発入門

7

3 タイプの開発手法

オンプレからはじまりクラウドの世界まで広がった SharePoint は、大きく3タイプの開発手法があり、それぞれに特徴があります。

© SharePoint Developersharepoint.orivers.jp

ファームソリューショ

ン開発

アドイン開発

クライアントサイド開発

•SharePoint が稼動するサーバー上で動作するプログラムを開発する手法。•サーバーサイドのクラスライブラリを用いて、 SharePoint に様々な機能拡張ができる。•正しい知識で正しくプログラムを開発しなければ、 SharePoint 全体を停止させてしまうようなプログラムを書くこともできるため、リスクが大きい。

•SharePoint が稼動するサーバーとは別のサーバーでプログラムを動作させつつ、 SharePoint とシームレスに連携するプログラムを開発する手法。•クライアントサイドのクラスライブラリを用いて、 SharePoint が持つ Web API を経由して SharePoint の機能の利用、データの授受を行う。•開発できるものは限られるが、ファームソリューションよりも安全。

• JavaScript 、 TypeScript など、 Web フロントエンド開発の技術を用いて、ブラウザ上で動作するプログラムを開発する手法。•開発する対象により、開発のお作法が異なる。( 表示テンプレート、 SharePoint Framework など )

Page 8: SharePoint 開発入門

8

実装可能な拡張機能

開発手法により、実装可能な SharePoint の拡張機能の種類と、 Office 365 に対応しているか否かが変わります。

© SharePoint Developersharepoint.orivers.jp

ファームソリューショ

ン開発

アドイン開発

クライアントサイド開発

•Web パーツ ( サーバー上で動作する )•イベントレシーバー ( アイテム追加、更新、削除で動作する処理 )•リボンメニュー、…メニュー、サイトの設定メニュー•アプリケーションページ•サイト定義、リスト定義

•コンテンツタイプ、サイト列•2010, 2013 ワークフローのアクティビティ、テンプレート•フィーチャー ( サイトの機能、サイトコレクションの機能など )•サービスアプリケーション、タイマージョブ

•Web パーツ(別サーバー上で動作する)•リモートイベントレシーバー•リスト、サイト列、コンテンツタイプ

•リボンメニュー、…メニュー•2013 ワークフローのアクティビティ、テンプレート•アドインが動作する専用ページ

•Web パーツのビジュアル変更•検索結果ページのビジュアル変更•SharePoint ページ上に独自 UI 追加•SharePoint Framework による client-side webpart

実装可能な SharePoint の拡張機能

×

O365 対応

Page 9: SharePoint 開発入門

9

必要なスキルセット、開発環境

開発手法により、必要なスキルセット、開発環境が異なります。

© SharePoint Developersharepoint.orivers.jp

ファームソリューショ

ン開発

アドイン開発

クライアントサイド開発

•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

開発環境

Page 10: SharePoint 開発入門

10

デプロイ方法

開発手法により、デプロイ方法が異なります。

© SharePoint Developersharepoint.orivers.jp

ファームソリューショ

ン開発

アドイン開発

クライアントサイド開発

•Visual Studio で作成したソリューションファイル (.wsp) を、 SharePoint のサーバー上にて、 PowerShell を使用してインストール。•機能を利用するサイトコレクション、サイトにて、フィーチャーをアクティブ化。

•Visual Studio で作成したアプリアプリファイル (.app) を、アプリカタログに登録。•外部 Web アプリケーションは、別途 Web サーバーや Azure 上にデプロイ。•機能を利用するサイトにて、アプリを追加。

•必要な JS などのファイルをドキュメントライブラリや、 Web サーバー、 CDN 等にアップロード。•SharePoint Framework 利用時は、上記の他、開発環境で作成したアプリファイル (.spapp) をアプリカタログに登録。

Page 11: SharePoint 開発入門

SharePoint 開発をはじめるにあたって

SharePoint 開発をはじめるにあたって、知っておいた方がよいことをいくつか。

11

Page 12: SharePoint 開発入門

12

そもそも SharePoint 開発する意味ありますか?SharePoint の利点を少しでも活かすことができなければ、 SharePoint 開発を行う意味はありません。

本当に SharePoint で実現すべきことなのか、よく考えましょう。

例えばこんなことを考えてみる- SharePoint が持つ機能を利用しますか?

- SharePoint のインフラを利用するメリット、デメリットは認識できていますか?

- 他のソリューションを採用するより、 SharePoint を使った方が良いと考える理由は何ですか?

© SharePoint Developersharepoint.orivers.jp

Page 13: SharePoint 開発入門

13

開発手法選択のポイント

最適な開発手法を選択し、開発効率を高めましょう。

ポイント1- クライアントサイド開発→アドイン開発→ファームソリュー

ション開発の順に Fit & Gap する。• C# が好きだからとなんでもかんでもファームソリューション

で、はダメです。

ポイント2- 開発するものを明確にし、利用イメージを固めてから開発手

法を決める。• 開発をはじめてから開発手法を変更することはできません。

ポイント3- スキル、環境が足りるかきちんと見極める。

• きちんと開発ができるスキル、環境がある方にお願いしましょう。

© SharePoint Developersharepoint.orivers.jp

Page 14: SharePoint 開発入門

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-ov

erview

© SharePoint Developersharepoint.orivers.jp