このエントリは、「アプリケーション開発のためのUIコントロールガイド」の第一章で述べられている有償コントロールを利用する意義について記したものです。
全体の目次やPDF版のダウンロードについてはエントリの最後をご覧ください。
前節では要件定義や画面設計などのプロジェクトの初期段階でUIコントロール利用を検討することが重要だと説かれていますが、検討を行うにあたり、弊社が提供している「有償コントロール」のほかに「内製(自作)コントロール」、「OSSコントロール」の2種類が存在します。それぞれとの対比を行いながら、「有償コントロールを利用する意義」について論じます。
有償コントロールがカバーする範囲
前節において、選択したテクノロジーとUIコントロールの組み合わせで実現できる機能について「レベル」が示されました。
- レベル1: UIコントロールの設定だけで実現できる機能
- レベル2: 拡張ポイントを利用した少ないカスタムコードで実現できる機能
- レベル3: UIコントロールのソースコードレベルに手を入れるなど、多くのカスタムコードが必要なレベルの機能
このレベルは、利用するコントロールによって変動します。例えば、受注一覧データを表示する画面で、受注日を特定の期間に絞り込むという要件があります。エンドユーザーは、データの絞り込みを普段よく使っているMicrosoft ExcelのようなフィルターUIを用いて行いたいという要望があります。皆さんが普段利用されているテーブルデータを表示するデータグリッドコントロールでは「ExcelのようなUIでフィルタリングをする」を満たせるでしょうか。
多くの標準コントロールには「ExcelのようなフィルターUI」は存在していないといっても過言ではありません。今回の例では、判定基準に照らし合わせると、「レベル3」となります。業務アプリケーションにはこのような画面要件が無数に存在するため、結果、標準コントロールを利用する場合はカスタマイズ前提となり、見積もり工数がうなぎ上りになってしまいます。
一方、弊社が提供する有償コントロールに含まれるデータグリッドコントロールの大半にはこの機能が標準的に実装されており、コントロールの設定のみで対応が可能です。この場合は、「レベル1」と判定されるため、工数やリスクは大幅に低減できます。
このように有償コントロールは、標準コントロールでは、レベル2、あるいはレベル3と判定される機能をあらかじめ実装し、レベル1にすることで画面開発時の生産性を向上させることができます。
内製(自作)コントロールとの比較
標準コントロールの「レベル3」にあたる機能を自分で実装したものが、「内製(自作)コントロール」です。有償コントロールに比べ急な仕様の変更や一般的ではない要件を満たす機能を実装できます。一方、機能の実装および保守のコストを検討しなければならず、作りっぱなしにすることはできません。そのため内製(自作)の場合、特に保守コストが開発プロジェクトに重くのしかかります。にもかかわらず、当初の検討段階では保守コストが少なく見積もられる場合があります。
有償コントロールを利用する場合、機能の実装コストに加え、保守コストもサブスクリプションの費用に組み込まれています。そのため、全体のコストは内製に比べて低くできます。
OSSコントロールとの比較
OSSコントロールは、「レベル2」、「レベル3」にあたる機能が実装されており、種類も多く、かつ無償で利用することができるという、プロジェクトにとっては魅力的な選択肢です。しかし、一部の有名なOSSプロジェクトを除き、大半が「有志のボランティア」によるものです。このためコードの品質、ドキュメントの品質、サポートの品質、不具合修正までのリードタイムなど、運用・保守の観点からリスクが存在します。自らの組織がOSSに修正コードを貢献する、あるいは今後も深く活用するという場合は別として、利用検討は注意深く行う必要があります。
有償コントロールを利用する場合、専任の開発チームが開発からドキュメントの作成、保守までを行っています。そのため、OSSに比べ、運用・保守におけるリスクを低減できます。
まとめ
この章では、さまざまな視点や比較から「有償コントロール利用の意義」について論じました。下の表はそれぞれの特徴をまとめたものです。業務アプリケーションを開発する場合、開発・導入だけではなく、保守の観点から有償コントロールを検討されることをおすすめします。
|
有償 |
内製(自作) |
OSS |
コントロール数 |
◎ |
△ |
〇 |
提供機能数 |
◎ |
△ |
〇 |
コントロールの開発コスト |
〇 |
× |
◎ |
保守コスト |
〇 |
× |
△ |
UIコントロールカタログ
次章では、インフラジスティックス・ジャパン株式会社が提供する有償コントロールスイート「Infragistics Ultimate」に収録されているコントロールをカタログ形式でご紹介します。
コントロールの概要や特長、シナリオ、機能、利用ポイントが含まれていますので、要件定義や画面設計に行き詰った際のリファレンスとしてご利用いただければ幸いです。
全体目次およびPDF版のダウンロード
「アプリケーション開発のためのコントロールガイド」ではこのエントリの他にも「有償コントロールを利用する意義」やInfragistics Ultimateで提供しているさまざまなUIコントロールの特性や利用ポイントをまとめた「UIコントロール選択ガイド」をご準備しています。
オンライン版では数週間に渡り1つ1つのトピックについて連載します。
blogs.jp.infragistics.comローカル環境で全文をご覧になりたい場合は、こちらよりダウンロード頂けます。
jp.infragistics.comぜひ、ご活用ください。