インターフェイス記述言語

ウェブサイトwww.raleigh.ruで、インターフェース記述言語の不思議な概要出会いました 。 しかし、このレビューは最初の新鮮さではありませんが、それでもかなり関連性があります。


1.ユーザーインターフェイスとWeb。

ユーザーインターフェイスとは何ですか? 論理的に、これは私たちが日常生活で毎日遭遇するものです:カトラリー、ドアハンドル、テレビのリモコンなど。 情報技術の世界では、ユーザーインターフェイスは主にオペレーティングシステムのGUIに関連付けられています。 これは驚くことではありません。最近のコンピュータープログラムの制御要素は、家庭用電化製品のトグルスイッチと同じくらいよく知られているからです。 ユーザーインターフェイスは、Webアプリケーションの不可欠な部分です。 インターネット経由でアクセスできるWebサイトは、情報にアクセスするためのユーザーインターフェイスです。 ただし、現在、Web用のユーザーインターフェイスをプログラミングするタスクは、デスクトッププログラムの場合と若干異なります。 最新のオペレーティングシステムは、相互作用するすべてのプログラムの確立された標準ユーザーインターフェイスに基づいています。 したがって、特定のオペレーティングシステムのプログラムのインターフェイスソリューションが従う特定のモデルがあります。 その場合、ユーザーインターフェイスの作成は、標準ライブラリの機能を使用することになります。 たとえば、Win32 API関数またはMS WindowsプログラムのMFCオブジェクトです。 同様のアプローチには1つの注目すべき特性があります。 ユーザーが少なくとも1つのプログラムの使用方法を習得していれば、同じオペレーティングシステムで他のプログラムにすぐに慣れることができます。 しかし、この状況はWebアプリケーションに起因するものではありません。 新しいサイトはそれぞれ、新しい情報とグラフィックデザイン、および新しいユーザーインターフェイスです。 この場合、特定のユーザーインターフェイス標準にほとんど適用できないソフトウェアライブラリ。 そして今まで、ほとんどの場合、サイトの開発では、「手動」プログラミングが使用されます。これは、ユーザーインターフェイスの各要素およびその状態ごとに、設計およびプログラム反応のオフシステムタスクを意味します。 大規模でフル機能のソリューションの場合、このアプローチは「終わりの始まり」を意味します。 しかし、ユーザーインターフェースを記述する分野の既存の有望な標準に目を向けましょう。

2.ユーザーインターフェイスの言語はUIMLです。

90年代には、HTMLが非常に人気を博し、何よりもHTMLがシンプルだったためです。 小さなサイトを作成するために、特別なプログラミングスキルと特別なツールは必要ありませんでした。 誰でもこれを行うことができ、ほぼ全員がそれを試しました。 ただし、HTML SGML言語の先祖はドキュメントの構造化を暗示しており、これはデータの単純な外観よりもはるかに深いモデルです。 分散データの順序付けられた構造の元のアイデアはXMLとともに戻ってきて、Webリソースの抽象コンポーネントのメタ記述の時代を生み出しました。 このような背景に対して、アプリケーションソフトウェアコードからUIマークアップを作成するタスクが明らかに浮上しました。 さらに、カスケードスタイルシート(CSS)の技術が登場し、カスタマイズ可能なインターフェイスデザインを作成する道が開かれました。 これらの状況は、UIML言語(ユーザーインターフェイスマークアップ言語)を作成するための前提条件でした。 最初のUIML仕様は、1998年1月にHarmoniaによって導入されました。 仕様3.0は、プロジェクトWebサイトwww.uiml.orgで入手できます。

UIMLとは何ですか? 一般的に、これは、アプリケーションから物理データ表示デバイスへのデータパスが、ロジック、インターフェイス、およびプレゼンテーションの抽象的な領域を通る概念です。 インターフェイス領域には、要素の構造、スタイル、コンテンツ、および動作の説明が含まれます。 UIML言語のタスクは、インターフェース領域を効果的に実装することです。

より詳細に見ると、UIMLが以下を定義していることがわかります。

私の意見では、UIMLは、既存のものからユーザーインターフェイスのロジックを記述するという点で最も成功したソリューションです。 イニシエーターであるHarmoniaがユーザーインターフェイスに特化していることを考えると、これは非常に自然なことです。 ただし、このレビューで説明した他の言語とは異なり、UIMLはどのブラウザーでもサポートされていません。 UIML変換を実行するには、サーバー側でサードパーティのUIMLプロセッサのいずれかを使用する必要があります。 ただし、 www.uiml.org / tools / index.htmには、オープンソースUIMLプロセッサーの印象的なリストがあります。

3.「これ以上データはありません。XULのみがあります。」

現在、XMLユーザーインターフェイス言語(XUL)は、ユーザーインターフェイスを記述するための非常に一般的な言語です。 XULは、XPFEとして知られるクロスプラットフォーム開発環境の一部です。 これは、ウィンドウ、ラベル、ボタンなどのアプリケーションオブジェクト用の完全に機能するマークアップ言語です。 この言語は、W3C XML 1.0標準に準拠しています。 XULアプリケーションは、HTML、CSS、DOM、Javaスクリプトも使用できます。 そして最も重要なこととして、XULはデータ表示とアプリケーションロジックを分離しようとしています。 これは、次の抽象レイヤーを介して行われます。

理論的には、XULはクロスプラットフォームインターフェイスを提供します(少なくとも現時点では、Windows、Unix、Macオペレーティングシステムで利用可能です)。 ただし、この技術の最初の鮮明な印象は、Mozilla(Gecko)のコアへの緊密な結合によってすぐに覆い隠されます。

ちなみに、奇妙なケースの1つは、テクノロジーの名前に関連しています。 そのため、略語XULは、映画「Ghostbusters」のキャラクターZuulの名前に由来しています。 キーフレーズは、「これ以上データはありません、XULのみあります」というスローガンに変換された映画「これ以上ダナはありません、ズールだけがあります」のフレーズでした。 XULコミュニティが言語名の正しい発音を熱心に追っているのは、このためでしょう。

4.「XAMLはAvalon言語です。」

マイクロソフトがこのような有望な市場ニッチを無視していたのは奇妙だろう。 現在、XAML(eXtemsible Application Markup Language)の積極的な開発では、Windows Longhornプラットフォームのインターフェイス言語が使用されています。

LonghornアプリケーションモデルにはApplicationオブジェクトが含まれます。 プロパティ、メソッド、およびイベントのセットにより、Webドキュメントを関連アプリケーションに結合できます。 Applicationオブジェクトは、プログラムの実行を制御し、ユーザーコードのイベントを生成します。 アプリケーションドキュメントはXAMLで記述されています。 ただし、XAMLを使用する場合、主にユーザーインターフェイスについて説明します。 アプリケーションロジックは、プロシージャコード(C#、VBなど)によって制御されます。 XAMLは、ブラウザーベースのアプリケーションとローカルデスクトップアプリケーションの両方に使用できます。

XAMLには、パネル、コントロール、ドキュメントに関連付けられた要素、グラフィックシェイプという4つの主要な要素の要素が含まれています。 パネルに埋め込まれた要素を表示するための原則を設定する7つのクラスのパネルが宣言されています。 親パネルの境界に対する要素の位置を設定するために、オブジェクト指向言語のプロパティのように属性が使用されます。 この構文は、CSSの推奨事項とあまり整合していませんが、デスクトッププログラマーにはなじみがあります。

XAMLで宣言されたアプリケーションには、多くのページを含めることができます。 PageViewerコントロールを使用すると、コンテンツをページ分割して、ナビゲーションを提供できます。 ContextMenu要素は、アプリケーションのナビゲーションメニューの作成に役立ちます。 手続き言語コードは、XAMLファイルに直接配置するか、プロジェクトのアセンブリ中に割り当てることができます。

現在、Longhornの安定版はありませんが、Microsoftは2004年11月にAvalon CTPをリリースし、Windows XPおよびWindows Server 2003プラットフォームでXAMLを使用できるようになりました。 ?familyid = C8F904E1-B4CA-402B-ACCF-AAA2BD60DA74&displaylang = en

5.リッチWebアプリケーションMXMLの言語。

Macromediaは従来、非典型的なアプローチでWebテクノロジープロバイダーの市場で際立っていました。 つまり、現在使用されているユビキタスFlashは、他の情報配信テクノロジーとは劇的に異なるため、同じマークアップ言語と並行して検討するのも、なかなか難しくありません。 ただし、XMLおよびMacromediaの時代には、宣言型言語の流行は別としていませんでした。 同社の対応は、XMLベースのMXML(Macromedia Flex Markup Language)を含むFlexテクノロジーによってマークされました。

Mozillaワーキンググループやマイクロソフトと同様に、Flex開発者は、マークアップ言語とオブジェクト指向プログラミング言語という2つの一般的なパラダイムを効果的に組み合わせた言語を作成しようとしました。 MXMLを使用すると、クライアントアプリケーションによって再作成されるユーザーインターフェイスの構造を視覚的に記述することができます。 ActionScriptは、コントローラーのタスク(環境内のイベントに対するプログラムによる応答)を実行し、アプリケーションモデルのレベルを提供します。

Flexには、データ入力フォームの標準要素に加えて、Treeコンポーネント(データ構造化)、DataGridコンポーネント(大きなデータ配列の管理)、さまざまなナビゲーションコンポーネント(TabNavigator、ViewStack、Accordionなど)などの関連ユーザーインターフェイスコンポーネントが含まれています。

私が思い出すように、XMLの基本的なプロパティの1つは、独自のタグを割り当てることができることです。 Flexはこの考えを効果的に継承しています。 アプリケーションを作成し、MyInnerApp.mxmlという別のファイルに配置すると、Flexアプリケーションでソースコードを参照する<MyInnerApp />タグを使用できるようになります。

Flexには、アプリケーションを統合するためのツールがあります。 SOAPプロトコルを使用して、Flexアプリケーションの指示をリモートサービスに送信し、そこからデータを受信できます。 これにより、FLEXアプリケーションの開発時にサービス指向アーキテクチャ(SOA)を使用できます。

Macromediaのインターフェイスの詳細は、インタラクティブ性、マルチメディアの豊かさです。 明らかに、Flexアプリケーション要素で使用できる特殊効果の豊富なライブラリ(イベントライブラリ)があります。 Flexテクノロジのドキュメントは、Macromediaの最高の伝統に従って作成されていることに注意してください。 特に印象的なのは、 www.macromedia.com / software / flex / productinfo / brz_overviewのインタラクティブテクノロジーツアーです。

クライアント側では、Flash Player 7拡張機能を備えたブラウザーにFlexアプリケーションがインストールされますが、この状況により、Flexアプリケーションはクライアントデバイス上で最も広範なサポートを提供します。 一方、必要なサーバーサポートは、J2EEアプリケーションサーバー(Macromedia JRun、IBM Websphere、BEA WebLogic、Apache Tomcatなど)にインストールされたFlex Presentation Serverコンポーネントによって実装されます。 これは、新世代のリッチアプリケーション(RIA-リッチインターネットアプリケーション)を構築するまさにそのメカニズムです。 Flex Presentation Serverの初期価格は12,000ドルです。

6. WebアプリケーションのOperaバッチ。

ブラウザ開発者が同じ標準を完全に順守していれば、Web開発者の作業が楽になります。 ブラウザーの1つ用のアプリケーションを作成することにより、別のブラウザーで動作することを心配することはできません。 W3C標準のサポートは、この市場のすべての主要なプレーヤーによって発表されたように見えますが、同じHTMLコードがIE、Netscape、Operaブラウザーによって異なる方法で翻訳される可能性があり、CSSは常に同じではありません。 JavaScriptとDOMについては、言及するべきではないと思います。 ブラウザ開発者は、自社製品にさらに注目を集めるため、独立した標準化組織よりも技術的に先を行っています。 その結果、市場には多くの匹敵するが異なる技術があり、とりわけ激しい競争を生み出しています。 MozillaグループがXULフラグの下で世界を前進させると、MicrosoftはLonghorn / XAML時代を先導し、Opera Sofwareは単に一歩後退することを余儀なくされます。 少なくともこの観点から、Web Applications 1.0仕様(http://www.whatwg.org/specs/web-apps/current-work/)での同社の仕事を見ることができます。 この仕様には革新的な革新は含まれていませんが、多くの関連する(少なくともOperaブラウザの)タスクの概要を説明しています。


この仕様はまだかなり粗雑です。 2005年3月1日の改訂版には、「多分そうなるかもしれませんが、そうでなければ...」という赤いノートが文字通りあふれています。 開発が完了すると、Operaブラウザーに新しい機能が追加される可能性がありますが、競合他社のより重要な技術革新の背景に対してこれが顕著になることはほとんどありません。

7.結果。

全体像は次のようになります。 Microsoftは、ブラウザとデスクトップアプリケーションの境界線を曖昧にすることに努力を集中しています。 これを行うために、XAMLインターフェイスマークアップ言語を含むLonghornプラットフォームが作成されます。 Longhornの中心にあるのは、さまざまなデバイスのアプリケーションの移植性を保証するCLRシステムレイヤーです。 同時に、MozillaワーキンググループはWeb開発者のステレオタイプを侵害しませんが、それでも、デスクトップアプリケーションと機能が似ているWebアプリケーションを作成できるXULツールを提供しました。 現時点でのMozillaコミュニティの明らかな利点は、 mozdev.orgで利用可能な既に実装された多くのアプリケーションの可用性です。 オープンソースコミュニティとマイクロソフトのソフトウェア帝国との戦いを別にして、MacromediaはFlexテクノロジーの推進に成功しています。 Macromediaソリューションは伝統的に印象的なマルチメディアによって区別され、Flexはこのルールの例外ではありません。 プレゼンテーションプロジェクトでのFlashの人気を過大評価することは難しく、テクノロジーデュオのMXMLとActionScript 2は、フル機能のビジネスポータルに対するMacromediaのニッチを開きます。 ただし、高品質のFlexアプリケーションの効果は依然として追加の労力を必要とするため、このテクノロジーがほとんどのWeb開発者の主要なツールになることはないと思います。

しかし、罪深い地球に降りてください。 典型的なWebプロジェクトのプロジェクト仕様には、最も一般的なブラウザーのサポート要件が含まれています。 つまり XAMLおよびXULテクノロジーは自動的に消えます。 Flash Playerプラグインはさまざまなブラウザーに簡単に統合できるため、Flexを選択できます。 ただし、Flex Presentation Serverのコストは、ほとんどのWeb開発会社の費用対効果に疑問を投げかけています。 さらに、クレームされた各ソリューションは、ユーザーインターフェイスのマークアップ言語を暗示しています。 ただし、いずれの場合も、インターフェイスを記述するという概念というよりも、ブラウザ/プラットフォーム言語に近いものです。 そのため、レビューにUIML言語を含めましたが、これはどのプラットフォームにも関連付けられていませんが、抽象アプリケーションを明確に分離しています。 したがって、UIMLは、インターフェースの構造、そのデザイン、そのコンテンツ、およびその動作を定義します。 これはインターフェースを記述するためのモデルであり、最も直感的なものです。 また、UIMLはグローバルIT市場では非政治的であるため、コードを任意のブラウザー、任意のデバイスに変換するのと同じくらい簡単に使用できます。 UIMLは、使い慣れたWeb開発ワークフローを破壊しませんが、それを補完します。 開発者は、以前に選択したテクノロジーHTML、XHTML、CSS、XSL、WMLなどに依拠できます。 アクセシビリティに関しては、オープンソースUIMLプロセッサの1つだけを好みに合わせて選択し、サーバーにインストールできます。

例、図、リンクを含む元の記事-www.raleigh.ru/a/pub/2005/ui-langs.html

PS。 WebアプリケーションがHTML 5として知られるようになったことを自分から付け加えます。 また、 WHATWGには、Operaの他に、MozillaとAppleもあります 。 したがって、HTML 5、少なくとも3つのブラウザー(Firefox、Opera、およびSafari)のサポートを期待できます。

Source: https://habr.com/ru/post/J12778/


All Articles