開発モデルDevelopment models

概要Summary

Microsoft SharePoint Online またはオンプレミスのソリューションの開発は、複数の開発モデルで行うことができます。Developing solutions for Microsoft SharePoint Online and/or on-premises can rely on multiple development models. ターゲット プラットフォームとターゲット シナリオに基づき、示されているモデルの一つまたは一つ以上を選択できます。Based on what is your target platform, and what is your target scenario, you can select one or more of the models that are illustrated in this article.

SharePoint FrameworkSharePoint Framework

適用対象: Office 365 | SharePoint Online | SharePoint 2016 (FP2)Applies to: Office 365 | SharePoint Online | SharePoint 2016 (FP2)

SharePoint Framework (SPFx) は、クライアント側の SharePoint の開発、SharePoint データとの容易な統合、オープンソース ツーリングのサポートをすべてサポートするページと Web パーツ モデルです。The SharePoint Framework (SPFx) is a page and web part model that provides full support for client-side SharePoint development, easy integration with SharePoint data, and support for open source tooling. SharePoint Framework では、優先開発環境内で最新の ウェブ テクノロジとツールを使用し、ネイティブ応答でモバイル対応の生産性の高い体験とアプリを制作することができます。With the SharePoint Framework, you can use modern web technologies and tools in your preferred development environment to build productive experiences and apps that are responsive and mobile-ready from day one. SharePoint Framework は、SharePoint Online とオンプレミス用で動作します (SharePoint 2016 Feature Pack 2以降)。The SharePoint Framework works for SharePoint Online and also for on-premises (SharePoint 2016 Feature Pack 2). SharePoint Framework でクライアント側の Web パーツおよび SharePoint フレームワーク拡張の制作が可能です。You can built client-side web parts and SharePoint Framework Extensions with the SharePoint Framework.

記事Articles

サンプルSamples

ツールTools

ビデオVideos

SharePoint アドインSharePoint Add-Ins

適用対象: SharePoint 2013 | SharePoint 2016 | SharePoint OnlineApplies to: SharePoint 2013 | SharePoint 2016 | SharePoint Online

SharePoint アドイン モデルは、SharePoint Online と SharePoint 2013/2016 オンプレミスの開発モデルです。The SharePoint Add-In model is a development model for SharePoint Online and SharePoint 2013/2016 on-premises. このモデルの主な目的は、クライアント側オブジェクト モデル (CSOM) と SharePoint の REST API により、開発者がカスタマイズおよび SharePoint サイトの拡張をターゲット ファームに完全アクセスせず、クライアント側のコードでリモート作業を実行する。The main goal of this model is to make developers able of customizing and extending SharePoint sites without the need of having full trust access to the target farm, being able to work remotely with client-side code, which is based on the Client Side Object Model (CSOM) and the REST API of SharePoint.

この目的は、クラウド提供モデルとその考え方に完全に準拠しています。This goal adheres perfectly to the cloud offering model and philosophy. ユーザーは、SharePoint アドインをパブリック SharePoint アドイン ストアまたは企業のアドイン カタログから検索およびダウンロードができます。Users can discover and download SharePoint Add-ins from a public SharePoint add-in store or from their organization's corporate add-in catalog. SharePoint アドイン モデルでは、SharePoint でホストされたソリューションやプロバイダーでホストされたソリューションを作成できます。With the SharePoint Add-In model you can create SharePoint-hosted and provider-hosted solutions. 前者は、SharePoint でホストされているクライアント側ベースと JavaScript ベースのアプリケーションです。The former are just client-side and JavaScript based applications, hosted in SharePoint. 後者は、Microsoft Azureまたはその他のホスティング プラットフォーム上でホストされている .NET アプリケーションです。The latter typically are .NET applications hosted on Microsoft Azure, or on any other hosting platform. SharePoint アドイン モデルで次の作成ができます。With the SharePoint Add-In model you can create:

  • フルページ ソリューションは、没入型フルページ 体験で SharePoint ページと同じ外観にできるソリューションです。As an immersive full-page experience that can have the look and feel of a SharePoint page.
  • アプリ パーツは、Web ページの一部として、アドイン パーツと呼ばれる特別なコントロールを使用し、 アドインを格納する iframe 要素を表示します。As part of a webpage, using a special kind of control, called an add-in part, to surface an iframe element that contains the add-in.
  • UI カスタム アクションは、リストやドキュメントなどでリボンとメニューを拡張する UI コマンドです。As UI commands that extend ribbons and menus for lists, documents, and more.

さらに、SharePoint のアドインには、リスト、カスタム Web サイト ページ、Web パーツ、ワークフロー、コンテンツ タイプやその他などの従来の SharePoint コンポーネントを含めることができます。Moreover, a SharePoint Add-in can include classic SharePoint components such as lists, custom website pages, web parts, workflows, content types, and many other artifacts.

記事Articles

サンプルSamples

ソリューションSolutions

ビデオVideos

サンドボックス ソリューションSandbox solutions

適用対象: SharePoint Online | SharePoint 2013 | SharePoint 2016Applies to: SharePoint Online | SharePoint 2013 | SharePoint 2016

サンドボックス ソリューションを使用すれば、サイト コレクション管理者が、テナント管理者の関与を必要とせず Microsoft SharePoint にカスタム ソリューションをインストールできます。A spusercodesing, in contrast to a farm solution, enables site collection administrators to install custom solutions in wssnoverslong without the involvement of a higher level administrator. ただし、サンドボックス ソリューションの展開量、実行するコード、アクセスできるリソースなどの制限が必要となります。However, this freedom requires that sandbox solutions be limited in what they can deploy, what code they can execute, and what resources they can access. 通常のサンド ボックス ソリューションは、サイト内の列、コンテンツ タイプ、リストおよびライブラリなど、SharePoint アセットの展開に使用されます。Typically sandbox solutions are used to deploy SharePoint assets, like site columns, content types, lists and libraries. これらのクラシック xml ベースのモデルより、リモート プロビジョニング パターンの使用をおすすめします。It's however recommended to rather use remote provisioning patterns than these classic feature xml based models.

コードベースのサンドボックス ソリューションは、2014 年に廃止されました。また、SharePoint Online では、この機能は完全解除されています。Code-based sandbox solutions were deprecated back in 2014 and in SharePoint Online this capability was completely removed. コードベースのサンドボックス ソリューションは作成が可能ですが、SharePoint 2013 および SharePoint 2016 から廃止されました。Code-based sandbox solutions are also deprecated in SharePoint 2013 and in SharePoint 2016, even if there you can still create them. ただし、コードベース サンドボックス ソリューションを SharePoint Online に移行する際にブロックされる可能性がありますので要注意。However, be careful that any code-based sandbox solution could be a road blocker for migrating to SharePoint Online.

記事Articles

ソリューションSolutions

ビデオVideos

ファーム ソリューションFarm Solutions

**適用対象: **SharePoint 2013 | SharePoint 2016Applies to: SharePoint 2013 | SharePoint 2016

SharePoint ファーム ソリューションは、信頼されている SharePoint 拡張で、カスタム ロジックが SharePoint サーバーのオブジェクト モデルを呼び出し、SharePoint サーバー上で完全な信頼の下に実行されます。SharePoint Farm Solutions are trusted SharePoint extensions whose custom logic calls the SharePoint server object model and runs with full trust on the SharePoint servers. これらのソリューションは主にタイマー ジョブ、Windows PowerShell のカスタム コマンド、およびサーバーの全体管理の拡張など SharePoint のカスタム 管理者用拡張に使用します。These solutions are primarily for custom administrative extensions of SharePoint, such as timer jobs, custom Windows PowerShell commands, and extensions of Central Administration.

ファーム ソリューションは、ファーム管理者が展開可能なファーム全体の格納場所にアップロードする SharePoint ソリューション パッケージとして配布されます。Farm Solutions are distributed as SharePoint solution packages that farm administrators upload to a farm-wide storage location from which they can be deployed. ファーム ソリューション内のコンポーネントには、ファーム、Web アプリケーション、サイト コレクション、または Web サイトの範囲があります。Components in Farm Solutions can have farm, web application, site collection, or website scope. ファーム ソリューションは、SharePoint オンプレミスでのみサポートされます。The Farm Solutions are supported in SharePoint on-premises only.

記事Articles

スクリプト エディターまたはコンテンツ エディターの Web パーツScript Editor or Content Editor web part

適用対象: SharePoint Online | SharePoint 2013 | SharePoint 2016Applies to: SharePoint Online | SharePoint 2013 | SharePoint 2016

スクリプト エディターおよびコンテンツ エディターの Web パーツは、SharePoint ページにカスタム JavaScript コードを埋め込むための非常によく使われる方法です。Script Editor or Content Editor web parts are quite popular way to embed any custom JavaScript code into SharePoint pages. このような方法は、期限内 SharePoint ページで現在のユーザーの属性でクライアント側のカスタム コードの実行が目的です。The goal of such kind of technique is to run custom client-side code in the context of the current user within the current SharePoint page. 外部の JavaScript ライブラリを使用し、SharePoint で外部のホスティング環境がなくてもカスタム コードをホストできます。You can use external JavaScript libraries, and host your custom code in SharePoint, without the need for an external hosting environment.

しかし、スクリプトは、管理者からの調整なしで SharePoint サイトに配置できるので、セキュリティ上の問題が発生します。This however raises a security challenges as scripts can be deployed to SharePoint site without any coordination from the administrators. このセキュリティ上の問題を解決するため、SharePoint Online サイト (最新およびクラシック) は既定でサイトのスクリプト追加をサポートしていません。To address this security concern, SharePoint Online sites (both modern and classic) by default do not support adding scripts to to the sites. これは、SharePoint Online のテナント管理者により制御することができますが、いわゆるなしスクリプトの設定によってブロックされます。This is blocked by so called no-script setting, which can be controlled by SharePoint Online tenant administrators.

さらに、スクリプト エディター Web パーツ内でホストされているカスタム コードには、メンテナンス機能、ガバナンス、またはライフサイクル管理は一切存在しません。Moreover any custom code hosted within the Script Editor web part does not have any kind of maintenance capability, governance, or life-cycle management. そのため Microsoft は、2017 年に SharePoint Framework モデルを導入しました。これは、スクリプト エディター Web パーツと似ていますが、"モダン" UI で動作し、ノースクリプト フラグをサポートし、SharePoint 管理者のための集中ガバナンスとコントロールを提供します。That's why starting from 2017 Microsoft introduced the SharePoint Framework model, which is similar to the Script Editor web part, but works in the "modern" UI, supports the no-script flag and provides centralized governance and control for the SharePoint administrators.

記事Articles