SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
初めてでも大丈夫!
SharePoint
開発の第一歩
瀬尾佳隆 (@seosoft)
Microsoft MVP for Visual C#
技術ひろば.net
自己紹介
瀬尾 佳隆 (せお よしたか)
MVP for Visual C# (Jan 2009 – Dec 2014)
SharePoint / Office 365 が好き
 AKB48G が好き
技術ひろば.net やってます
 http://hiroba-tech.net/
ブログやってます
 http://yseosoft.wordpress.com/
5月17日(土) は合同勉強会の第2弾~活用・連携編~
 http://bit.ly/hiroba201405
アジェンダ
SharePoint 開発の基礎知識
プログラミングモデル
コードの基本的な流れ/コードの定石
SharePoint 用アプリ開発ツール
Access
“Napa”
ASP.NET
LightSwitch
“Project Siena”
今日はコレ!
SharePoint 開発の基礎知識
SharePoint 開発は決して難しくない
以前の SharePoint 開発は
独特の API の理解がポイントだった
2013 で新しいプログラミングモデルが
追加された
一般的な Web や .NET のスキルが
使える
SharePoint ならではの知識は
それほど多くない
SOM (Server
Object Model)
COM (Client
Object Model)
クラウド指向
オブジェクト
モデル
SharePoint のプログラミングモデル
2013 からの
新しいモデル
クラウド指向のプログラミングモデル
SharePoint 用アプリは本体の SharePoint サイト
とは別の場所に配置される
SharePoint ホスト型・・・専用の SharePoint サイト
クラウドホスト型・・・外部の Web サイト
SharePoint ホスト型 クラウドホスト型
SharePoint ホスト型の構成
App Web
Host Web
利用者の
SharePoint 環境
アプリ専用の
SharePoint 環境
RequestExecutor
でアクセス
アプリを専用の SharePoint サイトに配置する
クラウドホスト型の構成
App Web
Host Webアプリ本体
CreateUserClientContextForSPHost
でアクセス
Remote App
CreateUserClientContextForSPAppWeb
でアクセス
SQL データベース
アプリを専用のサーバーに配置する
利用できる API
.NET OM, JavaScript OM, REST API が
用意されている
※OM = Object Model
API SharePoint ホスト型 クラウドホスト型
.NET OM × ○
JavaScript
OM
○ ○
REST API △ △
その他の
技術的特徴
一般の Web アプリに
出来ることが出来る
△=利用可能だが積極的に使うものでもない
コードの基本的な流れ
1. ClientContext を生成する
• SharePoint サーバーにアクセスするためのコンテキスト
2. 欲しい Web、List を指定する
• Web = 一般的な Web アプリケーションに相当する
• List = Web アプリケーション内のデータ
3. Load で欲しい情報をバッチコマンドに追加する
• SharePoint では要求の実行はバッチで行う
4. Query でバッチコマンドを実行する
• 要求をまとめて実行する
コードの定石
JavaScript OM .NET OM
ClientContext
を生成
ClientContext
GetSharePoint-
Context
欲しい情報を指定
get_web, get_list
など
Web, List など
バッチコマンド
に追加
load Load
要求を実行 executeQueryAsync ExecuteQuery
コード例 (JavaScript OM)
ClientContext を
取得
get_xxx で欲しい
情報を指定
load でバッチ
コマンドに追加
executeQuery
で要求を実行
コード例 (.NET OM)
ClientContext を
取得
Web, List など
欲しい情報を指定
Load でバッチ
コマンドに追加
ExecuteQuery で
要求を実行
SharePoint 開発ツール
SharePoint 開発ツールの種類
Access
“Napa”
ASP.NET
LightSwitch
“Project Siena”
Access
SharePoint 用アプリを簡単に開発できる
自動ホスト型
対象のデータは SQL データベース上に置かれる
SharePoint のカスタムリストを使わない
データアクセスのパフォーマンス向上
SharePoint の “リスト件数 実質 5,000件まで” の
上限を超えられる
※Access は SPサイトを
開発することもできる
“Napa”
JavaScript OM を使ったアプリケーション開発
SharePoint ホスト型
Web のスキルを活用
ブラウザーベースの開発環境 (Visual Studio のサブセット)
アプリ専用のリストは主に App Web に置くのがよい
Host Web のアクセスも可能、
WebRequestExecutorFactory を利用する
課題はソースコード管理がしづらい点
“Napa” の開発画面
ASP.NET
.NET OM を使ったアプリケーション開発
任意のホスト型に対応する
ASP.NET 開発のスキルを利用できる
Visual Studio の開発支援機能・デバッグ支援機能を
利用できる
専用のリストは主に SQL データベースに置くのがよい
自由なデータ設計、パフォーマンス、件数上限などのメリット
App Web, Host Web のアクセスも可能、
JavaScript OM よりもシンプルなコードにできる
 CreateUserClientContextForSPAppWeb ・・・App Web
 CreateUserClientContextForSPHost ・・・Host Web
LightSwitch
SharePoint 用アプリを簡単に開発できる
自動ホスト型
業務アプリを簡単にクラウド化できる
タッチ前提の UI=マルチデバイス対応
SharePoint / Office 365 との連携が簡単
マルチデータソースの操作が簡単
サーバー側/クライアント側それぞれをカスタマイズ可能
LightSwitch の開発画面
LightSwitch アプリの実行画面
“Project Siena”
Windows 8.1 用のダッシュボードを開発
記述できる範囲はExcel ライクな関数のみ
Office 365 には今後対応(・・・されるはず)
まとめ
まとめ
SharePoint 開発は決して難しくない
SharePoint 開発の基礎知識
 クラウド指向の新しいプログラミングモデル
 アプリの形態の理解
 コードの定石を利用
SharePoint 開発ツール
 Access ・・・PC ブラウザー向けアプリを簡単に開発
 “Napa” ・・・JavaScript で Web のスキルを利用
 ASP.NET ・・・ .NET と C#/VB を最大限に活用
 LightSwitch ・・・業務アプリを高品質にクラウド化
 “Project Siena” ・・・Windows 8.1 用のダッシュボードを開発
参考) 企業アプリカタログへの発行
企業アプリカタログサイトの作成 (1)
企業アプリカタログサイトの作成 (2)
企業アプリカタログへの発行 (1)
企業アプリカタログへの発行 (2)
企業アプリカタログへの発行 (3)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

カッコいい SharePoint モダンサイトを作ろう
カッコいい SharePoint モダンサイトを作ろうカッコいい SharePoint モダンサイトを作ろう
カッコいい SharePoint モダンサイトを作ろう
 
クラウド時代の SharePoint 開発に備えよう
クラウド時代の SharePoint 開発に備えようクラウド時代の SharePoint 開発に備えよう
クラウド時代の SharePoint 開発に備えよう
 
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
にぎやか 3 人組が選ぶ Microsoft 365 注目アップデート 7 選
 
ファイルサーバーを SharePoint に移行するためのアプローチ
ファイルサーバーを SharePoint に移行するためのアプローチファイルサーバーを SharePoint に移行するためのアプローチ
ファイルサーバーを SharePoint に移行するためのアプローチ
 
SharePointアドイン開発 Line風Chat アドイン
SharePointアドイン開発 Line風Chat アドインSharePointアドイン開発 Line風Chat アドイン
SharePointアドイン開発 Line風Chat アドイン
 
SharePoint モダンポータル 2021年アップデートと最新のファイル管理方法
SharePoint モダンポータル 2021年アップデートと最新のファイル管理方法SharePoint モダンポータル 2021年アップデートと最新のファイル管理方法
SharePoint モダンポータル 2021年アップデートと最新のファイル管理方法
 
SharePoint Online で、ポータル実践アイデア
SharePoint Online で、ポータル実践アイデアSharePoint Online で、ポータル実践アイデア
SharePoint Online で、ポータル実践アイデア
 
SharePointリストのフォームのカスタマイズを利用したときにハマること
SharePointリストのフォームのカスタマイズを利用したときにハマることSharePointリストのフォームのカスタマイズを利用したときにハマること
SharePointリストのフォームのカスタマイズを利用したときにハマること
 
SharePoint Online モダンサイトの設計 - SharePoint の利用計画 - #‎MSInteract19‬ #PR05
SharePoint Online モダンサイトの設計 - SharePoint の利用計画 - #‎MSInteract19‬ #PR05SharePoint Online モダンサイトの設計 - SharePoint の利用計画 - #‎MSInteract19‬ #PR05
SharePoint Online モダンサイトの設計 - SharePoint の利用計画 - #‎MSInteract19‬ #PR05
 
SharePoint Online へのアクセスを制限しよう
SharePoint Online へのアクセスを制限しようSharePoint Online へのアクセスを制限しよう
SharePoint Online へのアクセスを制限しよう
 
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれMicrosoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
Microsoft 365 Virtual Marathon 2021 - SharePoint サイトの自動作成あれこれ
 
Share point開発 勤怠管理
Share point開発 勤怠管理Share point開発 勤怠管理
Share point開発 勤怠管理
 
自社で実運用中!Power Apps・Power Automate 活用事例
自社で実運用中!Power Apps・Power Automate 活用事例自社で実運用中!Power Apps・Power Automate 活用事例
自社で実運用中!Power Apps・Power Automate 活用事例
 
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
Power BI をシステムやアプリ開発と一緒に使うなら…~リアルタイムストリーミングの使い方~
 
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
 
Saml×SharePoint
Saml×SharePointSaml×SharePoint
Saml×SharePoint
 
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
【de:code 2020】 監視と管理を自動化するサンプル Center of Excellence Starter Kit 概説
 
PowerApps に Power BI を埋め込んでみよう!
PowerApps に Power BI  を埋め込んでみよう!PowerApps に Power BI  を埋め込んでみよう!
PowerApps に Power BI を埋め込んでみよう!
 
Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要
 
Amazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみたAmazon Kinesis Video Streams WebRTC 使ってみた
Amazon Kinesis Video Streams WebRTC 使ってみた
 

Destacado

IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~
IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~
IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~
Kosuke Kuromiya
 

Destacado (11)

Office 365 のチームサイトを 美味しく つかう 10 の方法
Office 365 のチームサイトを 美味しく つかう 10 の方法Office 365 のチームサイトを 美味しく つかう 10 の方法
Office 365 のチームサイトを 美味しく つかう 10 の方法
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミングIoT 入門 ~ .NET Gadgeteer で簡単プログラミング
IoT 入門 ~ .NET Gadgeteer で簡単プログラミング
 
.NET Gadgeteer の紹介
.NET Gadgeteer の紹介.NET Gadgeteer の紹介
.NET Gadgeteer の紹介
 
C# で QnA Bot
C# で QnA BotC# で QnA Bot
C# で QnA Bot
 
Adaptive Cardのデザインツール
Adaptive CardのデザインツールAdaptive Cardのデザインツール
Adaptive Cardのデザインツール
 
Office 365版SharePoint Onlineの技術概要
Office 365版SharePoint Onlineの技術概要Office 365版SharePoint Onlineの技術概要
Office 365版SharePoint Onlineの技術概要
 
SharePoint 2013 流リスト ビュー カスタマイズ
SharePoint 2013 流リスト ビュー カスタマイズSharePoint 2013 流リスト ビュー カスタマイズ
SharePoint 2013 流リスト ビュー カスタマイズ
 
Office 365-超概要
Office 365-超概要Office 365-超概要
Office 365-超概要
 
中小企業に対してのoffice365
中小企業に対してのoffice365中小企業に対してのoffice365
中小企業に対してのoffice365
 
IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~
IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~
IT初心者の事務員さんに SharePoint を教えてみた ~SharePoint ユーザー教育の事例として~
 

Similar a 初めてでも大丈夫!SharePoint 開発の第一歩

SharePoint アプリ開発ツールの比較
SharePoint アプリ開発ツールの比較SharePoint アプリ開発ツールの比較
SharePoint アプリ開発ツールの比較
Yoshitaka Seo
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
Hiroyuki Mori
 
ON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったことON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったこと
Masakazu Muraoka
 

Similar a 初めてでも大丈夫!SharePoint 開発の第一歩 (20)

SharePoint アプリ開発ツールの比較
SharePoint アプリ開発ツールの比較SharePoint アプリ開発ツールの比較
SharePoint アプリ開発ツールの比較
 
SharePoint Framework アップデート SPFx v1.12.1
SharePoint Framework アップデート SPFx v1.12.1SharePoint Framework アップデート SPFx v1.12.1
SharePoint Framework アップデート SPFx v1.12.1
 
LightSwitchで Office 365 開発
LightSwitchで Office 365 開発LightSwitchで Office 365 開発
LightSwitchで Office 365 開発
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
 
LightSwitchでマルチデータソース
LightSwitchでマルチデータソースLightSwitchでマルチデータソース
LightSwitchでマルチデータソース
 
初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?初音玲の流儀 - なんでプログラミングしているの?
初音玲の流儀 - なんでプログラミングしているの?
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-up
 
IoT、貯めるだけではもったいない
IoT、貯めるだけではもったいないIoT、貯めるだけではもったいない
IoT、貯めるだけではもったいない
 
LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発LightSwitchでWebアプリ開発
LightSwitchでWebアプリ開発
 
LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門LINE Bot 開発のための Azure Logic Apps 入門
LINE Bot 開発のための Azure Logic Apps 入門
 
OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。
OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。
OneNote のススメ。 Office 365 利活用の促進 - クライアント推し。
 
いま考えられる限り最も速く対話型アプリを開発する方法
いま考えられる限り最も速く対話型アプリを開発する方法いま考えられる限り最も速く対話型アプリを開発する方法
いま考えられる限り最も速く対話型アプリを開発する方法
 
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
デブサミ2014【13-D-2】川田寛氏 HTML5がSIに与えた衝撃、エンジニアは何を学ぶべきか?
 
ON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったことON HTML5 FIELD で書き尽くせなかったこと
ON HTML5 FIELD で書き尽くせなかったこと
 
.Net GadgeteerでIoT
.Net GadgeteerでIoT.Net GadgeteerでIoT
.Net GadgeteerでIoT
 
The Fastest Possible Way to Develop an Interactive App
The Fastest Possible Way to Develop an Interactive AppThe Fastest Possible Way to Develop an Interactive App
The Fastest Possible Way to Develop an Interactive App
 
福井で「しあわせデザイナー」になるために
福井で「しあわせデザイナー」になるために福井で「しあわせデザイナー」になるために
福井で「しあわせデザイナー」になるために
 
Office アドインの紹介
Office アドインの紹介Office アドインの紹介
Office アドインの紹介
 
事業企画
事業企画事業企画
事業企画
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 

Más de Yoshitaka Seo

Más de Yoshitaka Seo (20)

言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
言語系サービスの統合ポータル Language Studio で Microsoft AI を再確認
 
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
 
AI-900 ポイント解説
AI-900 ポイント解説AI-900 ポイント解説
AI-900 ポイント解説
 
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
AI プログラミング - OCA / 京都TECH オープンキャンパス 2021
 
AIの見方、AIとの付き合い方
AIの見方、AIとの付き合い方AIの見方、AIとの付き合い方
AIの見方、AIとの付き合い方
 
Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類Custom Visionで仏像を画像分類
Custom Visionで仏像を画像分類
 
誰もが AI を使う時代、作る時代
誰もが AI を使う時代、作る時代誰もが AI を使う時代、作る時代
誰もが AI を使う時代、作る時代
 
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom VisionAzure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
 
API ペタペタしただけのお手軽 感情分析アプリ
API ペタペタしただけのお手軽 感情分析アプリAPI ペタペタしただけのお手軽 感情分析アプリ
API ペタペタしただけのお手軽 感情分析アプリ
 
Machine Learning studio で構造化データから予測分析 (LT版)
Machine Learning studio で構造化データから予測分析 (LT版)Machine Learning studio で構造化データから予測分析 (LT版)
Machine Learning studio で構造化データから予測分析 (LT版)
 
BIerのためのAI入門
BIerのためのAI入門BIerのためのAI入門
BIerのためのAI入門
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析
 
チャットボットの自然言語処理
チャットボットの自然言語処理チャットボットの自然言語処理
チャットボットの自然言語処理
 
Custom Visionを活用するためのTips
Custom Visionを活用するためのTipsCustom Visionを活用するためのTips
Custom Visionを活用するためのTips
 
Machine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみようMachine Learning Serviceを使ってみよう
Machine Learning Serviceを使ってみよう
 
Bot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごいBot Framework Emulator はこんなにすごい
Bot Framework Emulator はこんなにすごい
 
VS Code Tools for AI の紹介
VS Code Tools for AI の紹介VS Code Tools for AI の紹介
VS Code Tools for AI の紹介
 
Bot Builder V4 SDK + QnA Maker / LUIS
Bot Builder V4 SDK  + QnA Maker / LUISBot Builder V4 SDK  + QnA Maker / LUIS
Bot Builder V4 SDK + QnA Maker / LUIS
 
QnA Maker 逆入門
QnA Maker 逆入門QnA Maker 逆入門
QnA Maker 逆入門
 
PowerApps アプリ開発入門
PowerApps アプリ開発入門PowerApps アプリ開発入門
PowerApps アプリ開発入門
 

初めてでも大丈夫!SharePoint 開発の第一歩