2009-06-03 4 views
6

XAMLについて、同僚と話していたし、それがプレゼンテーションとオブジェクト記述言語の両方であるため、IT技術の中で非常にユニークで斬新なものでした。XAMLはどのようにユニークですか?

XAMLはユニークで斬新ですか?

XAMLにはJavaの世界またはそれ以前のものがありますか?私は誰かがJava Server FacesはWPFに似ていると私に言ったと思うので、XAMLに相当するのは何ですか?

フレックスのMXMLは似ていますが、私が覚えている限り、いくつかの大きな構造上の相違点があります。MXMLはオブジェクトを説明していないが、純粋なプレゼンテーションXMLです。

+0

はコミュニティのWiki – NinethSense

+0

@NinethSenseでなければなりませんか?どうして? – AnthonyWJones

答えて

13

これは、圧倒的に一般的な特定の用途を有し、特定の用途と一致する一般的な技術の場合である。例えば、Javascriptの議論では、ブラウザの文脈とHTML DOMの操作が、誰も明示的に言わなくてもよくとらえていることがよくあります。

厳密に言えば、XAMLはXMLではなく、XULやSVGに似ていません。 XUL、SVGには、ユーザーインターフェイスまたはグラフィック要素を宣言するための構文が定義されていますが、生のXAMLでは定義されていません。

XAMLは、たとえば、ワークフローの基礎におけるワークフローの記述にも使用できます。

XAMLは、実際には、XMLを読み込んで、これらの型の型とプロパティを記述するアプローチです。たとえば、型のプロパティは、その名前が正しく解釈される限り、属性または要素を使用して記述することができます。 XAMLには、基本XML構文の拡張も含まれています。この場合、属性の{}は複合要素の略語として機能します。

私は以前にこのようなことに遭遇していません。他のすべてのXMLベースのテクノロジには特定の目的がありますが、XAMLはXMLの最初の使用法ですが、これは特定の命名法ではなく、XMLを型にマッピングする手段です。

0

XAML以外にも、Mozillaが使用するXULがあります。一方、SVGはW3Cによって推奨されているものです。

-3

XAMLは、基本的に.NET用の高度なマークアップです。したがって、XAMLからXHTMLに多くの類似点を描くことができると思います。どちらもプレゼンテーション技術です。

あり違いがたくさんだとしてもOFC Mozillaは自分のUIを作成した(XHTMLは、XAMLをMSILにコンパイルされている間に、グラフィックスを生成するために、ブラウザによって解釈され、グラフィックスを行うためにCLRに頼られている:))

+1

Xamlはプレゼンテーション指向の技術ではなく、ワークフローとサービスの定義にも使用されています。 また、XamlはMSILにコンパイルされません。これはBAMLにコンパイルされます。申し訳ありませんが、WPFの場合、DirectXに基づいたプレゼンテーションスタック(WPFまたはSLのいずれか)とは無関係です。 –

+0

私を訂正してくれてありがとう..私はこれが間違っていたとは考えていませんでした:O – cwap

0

最初に説明言語XULを使用して、すべての製品のUIを簡単にカスタマイズすることができます。 現在では、他のアプリケーションに組み込むことができるパッケージであり、拡張機能も備えています。

XULは主にUI表現に焦点を当てますが、イベントやスクリプト、データソースなどの他の構造も含みます。それにもかかわらず、私が知っている限り、XAMLはこれらの概念をより厳密に.NET(および付属の)フレームワークに統合しています。しかし、これがユニークで斬新なものであるかどうかは分かりません。

1

**** XAML、XUL、およびXHTMLオーバーラップ****

XAMLと他の規格との最大のオーバーラップは、HTML/XHTMLから引き出されたコンセプトのサポートにあります。 XAMLとHTMLの類似点は数多くあります。もちろん、HTMLとの重複はXAMLに限定されません。他のよく知られているXML GUIの方言であるMozillaのXULもXHTMLと重なっています。最後に、XAMLとXULの両方が、XHTMLに含まれていない場所で重なっています。 XHTMLとXULを1つのドキュメントに組み合わせることができます(少なくともMozillaブラウザでは)。このような組み合わせは、Web以外のXAMLを使用する場合のおおまかな類似点です。実際、MozillaのXULだけでも、XAMLのいくつかの使い方の大まかな類似点です。

しかし、実際には、それらは、通常のWebアプリケーションでは既に標準的なHTMLコンテンツとフォームウィジェットのほとんどをサポートするだけのものです。 XULはXHTMLと重複します。なぜなら、XULはXHTMLとの分離を試みるからです。 XAMLがそうであるように、それはドロップイン置換ではありません。

HTMLと比較して私がXAMLについて気に入っていることの1つは、HTMLの公開派生機能の自由度が増したことです。 XAMLを使用すると、h1タグ、コードタグ、HTMLで頻繁に使用されるその他のさまざまなニッチタグのホストから解放されます。現実的な目的のために、これらのタグは、現代のHTML文書ではスタイル情報よりも少ししか機能しません。

HTMLは、Webの普及にもかかわらず、アプリケーションにとって貧弱なGUIです。 XAMLとXULの両方が、この問題を解決するための長い道のりになります。 WebアプリケーションをXAMLに書き直すことができます.XAMLだけがCSSをサポートしていれば、HTMLオリジナルよりも優れています。

1

AppleのCocoa、またはイベントNeXtStepの以前のイベントは、XAMLよりもずっと前のことでした。

GUIは、レイアウト、バインディング、アクション、アウトレット、およびシリアル化されたオブジェクトインスタンスを含む、いわゆるnib(Nextstep Interface Builder)ファイルを作成するインターフェイスビルダーで作成されます。以前は、これらのnibファイルはバイナリファイル形式で保存されていましたが、今日ではxml(xib)です。

だから、XAMLは最初はユニークではありません。

+0

炎のヒントを検出しますか? ;) –

+0

私は.NETで日々仕事をしています。私はXAML技術に本当に感謝していますが、私はCocoa、Objective-C、Appleのやり方が大好きです。 – Enyra

+1

XAMLは、NIBファイルと同様に、直列化されたオブジェクトグラフです。 –

1

他のプレゼンテーションテクノロジとの比較は、塩分を使って説明します.Xamlは、.NETオブジェクトを構築して構成する方法です。これは、ユーザーインターフェイスを構築する方法として設計された他のシステムとは対照的です。 Xamlの素晴らしい点は、とは独立したという技術スタックが使用されていることです.XHTMLよりもC#のような目的にとらわれない宣言的な言語です。そのように、それはユニークです。

0

XAMLは、XMLの方言のオブジェクトグラフ構築言語です(最大の選択肢ではありません)。すべてのXAML要素はオブジェクトインスタンス化であり、対応する属性は前記インスタンスのプロパティ割り当てである。 XMLは文字列ベースの言語なので、プロパティ値は文字列型からプロパティが予期している型に変換する必要があります。これは、XAMLプロセッサが自動的に検索して使用するTypeConverterの子孫を使用して行われます。 XAMLとWPFには、提供された型に対応するTypeConvertersの既定のセットが付属しています。次のように

定義プロセスの大まかな概要は次のとおりです。

<classG-in-namespace-A 
    xmlns="namespace-A" 
    xmlns:alias-B="namespace-B" 
    xmlns:alias-C="clr-namespace:namespace-C;assembly=assembly-of-namespace-C" 
    propertyG1="simple text value stipulation" 
    propertyG2="{alias-C:classH-in-namespace-C propertyC1=valueC1,..}" 
    > 
    <classG-in-namespace-A.propertyG2> 
     <alias-B:class-I-in-namespace-B propertyB1=valueB1,...> 
      class-I-in-namespace-B's content property value assignment 
     </alias-B:class-I-in-namespace-B> 
    </classG-in-namespace-A.propertyG2> 
    classG-in-namespace-A's content property value assignment 
</classG-in-namespace-A> 

は、プロパティの割り当てを容易TypeConverters超えXAMLとWPFが提供するユーティリティ種類があります。具体的には、そこに次のとおりです。Comminityウィキ: ResourceDictionaryObjectDataProviderRelativeSourceStaticResourceDynamicResource...and more as shown in Microsoft Docs

関連する問題