むンタヌフェむス蚘述蚀語

りェブサむト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のサポヌトを期埅できたす。



All Articles