デザインの目標
プレゼンテーションレイヤ開発では、開発者とデザイナーといった専門性に特化した人材で構成されていますが、ベンダーから入手できるデザイナー向けツールの不足が問題となっていました。インフラジスティックスはこの問題に対して革新的なソリューションを提供することを目標としました。
過去のツールは開発者の役割に偏って焦点が当てられていましたが、インフラジスティックスは「アプリケーションスタイリングツールがグラフィックアーティストに提供するエクスペリエンスを推進する」という任務を、我々のデザイン専門チームに課しました。彼らの意見を受け、開発チームは、以下のデザイン目標を実現しました。
開発とスタイリングを分離
Infragisticsアプリケーションスタイリングツールは、視覚的デザインとコード開発を分離します。これによって、アプリケーション開発者とグラフィックアーティストは、互いに待機したり干渉したりすることなく、並行してそれぞれの作業に従事できるようになりました。
そのためアプリケーションのスタイリングに対し、実行コードを再ビルドおよび再配備を行わずに変更することを容易にしました。
ビジュアルデザイナー用のツール
NetAdvantage AppStylist for Windows FormsおよびNetAdvantage AppStylist for ASP.NETツールは、プログラミング言語や.NET Framework SDKへの深い知識を必要としません。グラフィックアーティストが快適に作業するための視覚的環境を作ることを目的としています。これらのツールは視覚的であり、グラフィックアーティストがアプリケーションの外観をデザインし、すべてのアプリケーションで企業のブランドを確立し、組織のスタイルライブラリ アセットを保持することを支援します。
アプリケーション内にスタイルツールを組み込む機能
スタイルツールをWinFormsアプリケーション内に組み込む方法を提供し、実際のアプリケーション自体の中でのスタイル設定を可能としました。実行コードを再ビルドおよび再配備することなく、スタイリングのカスタマイズ方法を提供できます。
ワンポイントのアプリケーションスタイルの管理
開発者が個々のコントロールで大規模な変更を行うことなく、アプリケーションのエンドユーザーが、ルックアンドフィールをインタラクティブに変更する方法を実現しました。
類似した要素のスタイリング
AppStylistは「似た」要素のスタイリング方法を提供します。個々のコントロールへの設定のみならず、共通のUIロールを設定することにより、複数のコントロールに跨った設定を可能としました。
例として共通のヘッダスタイルの設定を行うことでグリッドの列ヘッダ、リストのヘッダ、ツリーの列ヘッダなどそのロールに属しているすべてのコントロールのヘッダの外観設定が統一されます。
タイプによるターゲットコンポーネント
ASFは特定のコントロールタイプに対して共通の外観を設定することを可能としました。例えば、AppStylistでグリッドコントロールタイプの外観設定を行うとすべてのグリッドの外観が統一されます。
ターゲット個々のインスタンス
Infragisticsコントロールでは、個別のインスタンスがその外観に異なるスタイルセットを使用できるプロパティを持っています。その結果、デザイナーはグリッドに対して特定のスタイルセットを、他のコントロールに対しては別のスタイルセットを選択することができます。
実行速度とメモリフットプリントへの影響を最小限にする
ASFに必要なインフラストラクチャは、アプリケーションの実行速度やメモリフットプリントへの影響を最小限にとどめます。
標準ベースのシリアル化
スタイルライブラリのすべての設定は、業界標準のシリアル化フォーマット(XMLおよびCSS)に準拠しています。このためグラフィックアーティストはこれらのフォーマットをサポートする補足的なツールを使用できます。一方、アプリケーション開発者は動的にアプリケーションを再スタイルすることができます。
Infragisticsオブジェクトモデルとの共存-プロパティ設定なし
ASFはInfragisticsコントロールのオブジェクトモデルと共存し、コントロールに対して一切プロパティを設定しません。代わりにWindows Formsアプリケーションでは、スタイル設定をコントロールの設定と結合します。Webアプリケーションでは、CSSとして外観を設定します。
柔軟な外観の解決
アプリケーションスタイリングツールには、外観設定の際の優先順位に対し柔軟性があります。例として、アプリケーション開発者はスタイルセットを操作することなく、「フォントサイズを大きくする」といった要望に応えることができます。
同様に、外部スタイルシートにより!important
トークンでマークされたCSSスタイル規則を追加することで、フォント設定を簡単に上書きできます。
まとめ
今回はアプリケーションスタイリングについての概要、必要性、そしてインフラジスティックスがApplication Styling Framework(ASF)およびNetAdvantage AppStylistにて目指し、実現したものを紹介しました。
次回は実際にAppStylist for Windows Formsを用いて、アプリケーションスタイリングの紹介を紹介したいと思います。