この記事は Office 365 Advent Calendar に参加しています。
25日が近づいてきましたね。
SharePoint 開発に使えるツールはいくつかあります。
Visual Studio で Web アプリ、Windows アプリ(WFP なり WinForms なり)、スマホ用アプリなどを作るのが、SharePointアプリ開発でも王道です。当然です。
それに加えて LightSwitch, Access, Project Siena, Napa といった開発ツール・環境でも SharePoint アプリを作ることができます。(これらが万能ツールとは言いません。Visual Studio に取って代わるものではないはず)
本稿では、これらの開発ツール(王道の Visual Studio 以外のもの) の特徴、どういうシーンで使うのか/使えそうかを私なりに整理してみます。
プロの開発者ではなくても簡易的なアプリを作れるというのは大事な特徴ですが、それ以外の観点で見てみます。
唯一解ではありませんし、単純に区分できないケースも多いと思いますが、ツールの使い分けの参考になれば。
■特徴の比較
ツール名 | クライアント | レスポンシブ | 主なデータ | 更新可 | 私見 |
Access (accdb ファイル) | Access | No | SP 内のリスト | Yes | |
Siena | Windows 8.1 | No | SP 内のリスト | Yes | タブレットアプリ開発に良い |
Napa | Web ブラウザー | Yes | App Web 内のリスト Host Web 内のリスト | Yes | JavaScript 開発、 この中では難易度高 |
Access (Link) | Web ブラウザー | No | SP 内のリスト | No | データ参照のみ可能 |
Access (インポート) | Web ブラウザー | No | SQL Server | Yes | リストデータを元にするが、 以降は SQL Server にデータを保存 |
LightSwitch | Web ブラウザー | Yes | SQL Server / App Web 内のリスト / Host Web 内のリスト | Yes | この中では一番拡張性が高く、 外部システムとの連携も容易 |
■使い分けの指針(あくまでも私見)
- データ更新が必要・・・更新が必要な場合には、Access アプリ (SharePoint 内リストにリンク) は使えません。このタイプの Access アプリはデータ参照のみ可能です。他のツールを使ってください。
- マルチデバイス対応(レスポンシブデザイン)・・・LightSwitch または Napa が使えます。それ以外は座標固定で画面をデザインするので PC でもスマホでも使いやすいデザインは難しいです。 また SharePoint のサイトで [Access で開く] で作成できる Access (accdb ファイル) の場合には当然 Access がインストールされた PC が必要です。Siena で開発する場合はクライアントが Windows 8.1 の PC (Surface 2 でも OK) が必要です。クライアントとしてスマホやタブレットを使いたい場合は、他の開発ツールで開発してください。
- 大量のデータを扱う必要がある・・・SharePoint のリストにはいわゆる “5000件” 問題がついて回ります。それ以上のデータを扱いたい場合、または高速なデータアクセスが必要な場合は、LightSwitch または Access (データを DB で管理するタイプ) にしてください。
- タッチ対応・・・タッチ対応のアプリを開発したい場合は Napa はあまりお勧めしません(開発不可ではないのですが)。クライアントを PC に限定できるのであれば Siena または Access (accdb ファイル) が開発効率が高いと思います。汎用性が高く開発効率もできるだけ上げたいのであれば LightSwitch が良いです。
- 外部のシステムとの連携が必要、拡張性が必要・・・LightSwitch 一択だと思ってください。業務アプリの場合は、比較的、画面の見栄えを求められないことが多いと思います(UX 的な意味での操作性は重要ですが)。開発生産性が高く、それでも外部との連携をしやすさを求めるのであれば LightSwitch をどうぞ。
「お前の LightSwitch 愛を語りたいだけじゃないか」と言われれば否定できませんが(笑)、それなりのアプリケーションを簡単に開発したければやはり LightSwitch が良いと思います。
使用するユーザーや対象とするデータを限定できるのであれば、Project Siena や Access でサクッと開発するのもいいと思います。
Napa は・・・私は詳しくありませんが、Web 開発の知識を持っている人であれば、いいシステムが作れると思います。判断基準は HTML / JavaScript / CSS に慣れているかどうか、ですね。
向き不向きはありますが、今回取り上げた開発ツールはどれも生産性が高く、比較的簡単に開発を進められるものです。上記の比較を参考に、適切なツールを選んで SharePoint 開発を実践してください。
※なんだか、文字ばっかりの記事になってしまってすみません。