Lompat ke isi

Extensible Application Markup Language: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
ArthurBot (bicara | kontrib)
k bot Mengubah: hu:XAML
InternetArchiveBot (bicara | kontrib)
Rescuing 14 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(23 revisi perantara oleh 12 pengguna tidak ditampilkan)
Baris 1: Baris 1:
{{Templat:Pemastian}}
{{Pemastian}}


{{Infobox file format
{{Infobox file format
| nama = Extensible Application Markup Language (XAML)
| nama = Extensible Application Markup Language (XAML)
| extension = <tt>.xaml</tt>
| extension = <code>.xaml</code>
| mime = application/xaml+xml
| mime = application/xaml+xml
| owner = [[Microsoft]]
| owner = [[Microsoft]]
| genre = [[User interface markup language]]
| genre = [[User interface markup language]]
| container for =
| container for =
| contained by =
| contained by =
| extended from = [[XML]]
| extended from = [[XML]]
| extended to =
| extended to =
}}
}}


'''Extensible Application Markup Language''' (XAML, dieja ''zammel'' {{IPA|['zæm?&#809;]}}) adalah sebuah bahasa berbasis [[XML]] deklaratif yang diciptakan oleh [[Microsoft]] yang digunakan untuk menginisialisasi nilai dan objek terstruktur. XAML tersedia di bawah [[Open Specification Promise]] Microsoft<ref>[http://www.sdtimes.com/(X(1)S(kw21wu45u03kzpnafqlanyiy))/content/article.aspx?ArticleID=31886&AspxAutoDetectCookieSupport=1 Microsoft adds XAML to 'Open Specification' list - Software Development Times On The Web<!-- Bot generated title -->]</ref>. [[Akronim]] ini pada mulanya merupakan singkatan dari Extensible Avalon Markup Language - ''Avalon'', yaitu sebuah nama kode untuk [[Windows Presentation Foundation|Windows Presentation Foundation (WPF)]]<ref>[http://www.windows-now.com/blogs/rrelyea/archive/2004/01.aspx Rob Relyea : January 2004 - Posts<!-- Bot generated title -->]</ref>.
'''Extensible Application Markup Language''' (XAML, dieja ''zammel'' {{IPA|['zæm?̩]}}) adalah sebuah bahasa berbasis [[XML]] deklaratif yang diciptakan oleh [[Microsoft]] yang digunakan untuk menginisialisasi nilai dan objek terstruktur. XAML tersedia di bawah [[Open Specification Promise]] Microsoft.<ref>{{Cite web |url=http://www.sdtimes.com/(X(1)S(kw21wu45u03kzpnafqlanyiy))/content/article.aspx?ArticleID=31886&AspxAutoDetectCookieSupport=1 |title=Microsoft adds XAML to 'Open Specification' list - Software Development Times On The Web<!-- Bot generated title --> |access-date=2009-01-12 |archive-date=2008-12-11 |archive-url=https://web.archive.org/web/20081211204034/http://www.sdtimes.com/%28X%281%29S%28kw21wu45u03kzpnafqlanyiy%29%29/content/article.aspx?ArticleID=31886&AspxAutoDetectCookieSupport=1 |dead-url=yes }}</ref> [[Akronim]] ini pada mulanya merupakan singkatan dari Extensible Avalon Markup Language - ''Avalon'', yaitu sebuah nama kode untuk [[Windows Presentation Foundation|Windows Presentation Foundation (WPF)]].<ref>{{Cite web |url=http://www.windows-now.com/blogs/rrelyea/archive/2004/01.aspx |title=Rob Relyea: January 2004 - Posts<!-- Bot generated title --> |access-date=2009-01-12 |archive-date=2007-10-11 |archive-url=https://web.archive.org/web/20071011212059/http://www.windows-now.com/blogs/rrelyea/archive/2004/01.aspx |dead-url=no }}</ref>


==Tinjauan==
== Tinjauan ==


XAML digunakan secara ekstensif di dalam teknologi [[.NET Framework 3.0]], khususnya [[Windows Presentation Foundation]] (WPF) dan [[Windows Workflow Foundation]] (WF). Di dalam [[WPF]], XAML digunakan sebagai sebuah [[bahasa markup antarmuka pengguna]] untuk mendefinisikan elemen antarmuka pengguna, ''data binding'', ''eventing'', dan fitur-fitur lain. Dalam [[WF]], [[workflow]] dapat didefinisikan dengan menggunakan XAML.
XAML digunakan secara ekstensif di dalam teknologi [[.NET Framework 3.0]], khususnya [[Windows Presentation Foundation]] (WPF) dan [[Windows Workflow Foundation]] (WF). Di dalam [[WPF]], XAML digunakan sebagai sebuah [[bahasa markup antarmuka pengguna]] untuk mendefinisikan elemen antarmuka pengguna, ''data binding'', ''eventing'', dan fitur-fitur lain. Dalam [[WF]], [[workflow]] dapat didefinisikan dengan menggunakan XAML.
Baris 21: Baris 21:
Elemen XAML memetakan langsung ke ''instance''<!-- Sunting kata ini --> objek [[Common Language Runtime]], sementara atribut XAML memetakan ke properti dan ''event'' Common Language Runtime di atas objek-objek tersebut. File XAML dapat diciptakan dan disunting dengan alat desain visual semacam [[Microsoft Expression Blend]], [[Microsoft Visual Studio]], dan desainer visual Windows Workflow Foundation yang dapat di-''host''-kan. XAML juga dapat diciptakan dan disunting dengan penyunting teks standar, penyunting kode semacam [[XAMLPad]] dan [[Kaxaml]], atau dengan penyunting grafis semacam [[Vectropy]].
Elemen XAML memetakan langsung ke ''instance''<!-- Sunting kata ini --> objek [[Common Language Runtime]], sementara atribut XAML memetakan ke properti dan ''event'' Common Language Runtime di atas objek-objek tersebut. File XAML dapat diciptakan dan disunting dengan alat desain visual semacam [[Microsoft Expression Blend]], [[Microsoft Visual Studio]], dan desainer visual Windows Workflow Foundation yang dapat di-''host''-kan. XAML juga dapat diciptakan dan disunting dengan penyunting teks standar, penyunting kode semacam [[XAMLPad]] dan [[Kaxaml]], atau dengan penyunting grafis semacam [[Vectropy]].


==Teknologi==
== Teknologi ==


File XAML dapat dikompilasi ke dalam file .baml (Binary XAML) yang dapat dimasukkan sebagai sumber daya ke dalam ''assembly'' .NET Framework. Pada saat ''run-time'', mesin framework mengekstrak file .baml dari ''assembly'' tersebut, mem-''parse'', dan menciptakan sebuah pohon visual WPF atau ''workflow''.
File XAML dapat dikompilasi ke dalam file .baml (Binary XAML) yang dapat dimasukkan sebagai sumber daya ke dalam ''assembly'' .NET Framework. Pada saat ''run-time'', mesin framework mengekstrak file .baml dari ''assembly'' tersebut, mem-''parse'', dan menciptakan sebuah pohon visual WPF atau ''workflow''.


Bila digunakan dalam Windows Presentation Foundation, XAML digunakan untuk menjelaskan visual [[antarmuka pengguna]]. WPF memungkinkan definisi dari kedua objek 2D dan 3D, rotasi, translasi, animasi, dan berbagai efek dan fitur lainnya.
Bila digunakan dalam Windows Presentation Foundation, XAML digunakan untuk menjelaskan visual [[antarmuka pengguna]]. WPF memungkinkan definisi dari kedua objek 2D dan 3D, rotasi, translasi, animasi, dan berbagai efek dan fitur lainnya.


Bila digunakan pada konteks-konteks Windows Workflow Foundation, XAML digunakan untuk menjelaskan logika deklaratif yang berpotensial berjalan lama, seperti yang dibuat oleh alat pemodelan proses dan sistem aturan. Format serialisasi untuk ''workflow'' sebelumnya disebut'' 'XOML''', untuk membedakan dari penggunaan XAML sebagai markup antarmuka pengguna, namun sekarang tidak dibedakan lagi. Bagaimanapun, file ekstensi untuk file yang berisi ''markup workflow'' masih berupa "XOML"<ref>[http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=218938&SiteID=1#221631 MSDN forum post by the WF product manager]</ref><ref>[[RuleML]] and [[BPEL]] are other examples of XML-based declarative logic languages</ref>.
Bila digunakan pada konteks-konteks Windows Workflow Foundation, XAML digunakan untuk menjelaskan logika deklaratif yang berpotensial berjalan lama, seperti yang dibuat oleh alat pemodelan proses dan sistem aturan. Format serialisasi untuk ''workflow'' sebelumnya disebut'' 'XOML''', untuk membedakan dari penggunaan XAML sebagai markup antarmuka pengguna, namun sekarang tidak dibedakan lagi. Bagaimanapun, file ekstensi untuk file yang berisi ''markup workflow'' masih berupa "XOML".<ref>{{Cite web |url=http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=218938&SiteID=1#221631 |title=MSDN forum post by the WF product manager |access-date=2009-01-12 |archive-date=2007-12-27 |archive-url=https://web.archive.org/web/20071227095211/http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=218938&SiteID=1#221631 |dead-url=yes }}</ref><ref>[[RuleML]] and [[BPEL]] are other examples of XML-based declarative logic languages</ref>


==Templat==
== Templat ==


XAML menggunakan sebuah cara spesifik untuk mendefinisikan [[Look and Feel]] yang disebut ''Templat'', berbeda dari sintaks [[Cascading Style Sheets]], tetapi mirip dengan [[XBL]]<ref>{{cite web
XAML menggunakan sebuah cara spesifik untuk mendefinisikan [[Look and Feel]] yang disebut ''Templat'', berbeda dari sintaks [[Cascading Style Sheets]], tetapi mirip dengan [[XBL]].<ref>{{cite web
| url=http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx
| url=http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx
| title=Silverlight Tutorial Part 7: Using Control Templates to Customize a Control's Look and Feel
| title=Silverlight Tutorial Part 7: Using Control Templates to Customize a Control's Look and Feel
|last=Guthrie|first=Scott
| last=Guthrie
| first=Scott
| date=2008-02-22
| date=2008-02-22
| accessdate=2008-03-08}}</ref>.
| accessdate=2008-03-08
| archive-date=2013-09-27
| archive-url=https://web.archive.org/web/20130927002733/http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-7-using-control-templates-to-customize-a-control-s-look-and-feel.aspx
| dead-url=no
}}</ref>


==Contoh==
== Contoh ==


Contoh di bawah ini memperlihatkan sebuah teks "Hello World!" di dalam ''container'' XAML ''top-level'' yang disebut Canvas.
Contoh di bawah ini memperlihatkan sebuah teks "Hello World!" di dalam ''container'' XAML ''top-level'' yang disebut Canvas.
<source lang="xml">
<syntaxhighlight lang="xml">
<Canvas xmlns="http://schemas.microsoft.com/client/2007"
<Canvas xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<TextBlock>Hello World!</TextBlock>
<TextBlock>Hello World!</TextBlock>
</Canvas>
</Canvas>
</syntaxhighlight>
</source>


Skema (bagian xmlns="http://schemas.microsoft.com...") bisa saja berbeda di komputer Anda.
Skema (bagian xmlns="http://schemas.microsoft.com {{Webarchive|url=https://web.archive.org/web/20170705010515/http://schemas.microsoft.com/ |date=2017-07-05 }}...") bisa saja berbeda di komputer Anda.
Dengan menggunakan skema yang disarankan Microsoft, contoh di atas menjadi
Dengan menggunakan skema yang disarankan Microsoft, contoh di atas menjadi
<ref>Microsoft XAML Overview page at
<ref>Microsoft XAML Overview page at
[http://msdn.microsoft.com/en-us/library/ms752059.aspx#xaml_files XAML Overview (Root element and xmlns)]</ref>
[http://msdn.microsoft.com/en-us/library/ms752059.aspx#xaml_files XAML Overview (Root element and xmlns)] {{Webarchive|url=https://web.archive.org/web/20170127143335/https://msdn.microsoft.com/en-us/library/ms752059.aspx#xaml_files |date=2017-01-27 }}</ref>


<source lang="xml">
<syntaxhighlight lang="xml">
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<TextBlock>Hello World!</TextBlock>
<TextBlock>Hello World!</TextBlock>
</Canvas>
</Canvas>
</syntaxhighlight>
</source>


Teknologi ini dapat diintegrasikan ke dalam [[halaman web]] jika WPF diinstal menggunakan [[XML Browser Applications|XBAP]] yang merupakan aplikasi terkompilasi yang berjalan di dalam sebuah lingkungan ''bak-pasir'' yang di-''host'' dalam ''browser''. Cara lain adalah dengan menggunakan ''plugin'' [[Microsoft Silverlight|Silverlight]]. Kode tidak bisa dimasukkan langsung dalam halaman [[HTML]], tetapi harus dimuat ke dalam halaman melalui [[Javascript]]. Jika .NET 3.0 atau lebih tinggi diinstal, file [[Loose XAML]] juga dapat dilihat di browser yang kompatibel (termasuk [[Internet Explorer]] dan [[Firefox]]) sehubungan dengan. NET Framework 3.0, tanpa perlu plugin untuk Silverlight<ref> [http://msdn.microsoft.com/en-us/library/aa480223.aspx#wpfandwbas_topic6 Windows Presentation Foundation on the Web: Web Browser Applications - MSDN] </ref>. File Loose XAML adalah file yang berisi markup saja yang terbatas hanya untuk mendefinisikan isi visual yang akan di-render. File ini tidak dikompilasi dengan sebuah applikasi.
Teknologi ini dapat diintegrasikan ke dalam [[halaman web]] jika WPF diinstal menggunakan [[XML Browser Applications|XBAP]] yang merupakan aplikasi terkompilasi yang berjalan di dalam sebuah lingkungan ''bak-pasir'' yang di-''host'' dalam ''browser''. Cara lain adalah dengan menggunakan ''plugin'' [[Microsoft Silverlight|Silverlight]]. Kode tidak bisa dimasukkan langsung dalam halaman [[HTML]], tetapi harus dimuat ke dalam halaman melalui [[JavaScript]]. Jika .NET 3.0 atau lebih tinggi diinstal, file [[Loose XAML]] juga dapat dilihat di browser yang kompatibel (termasuk [[Internet Explorer]] dan [[Firefox]]) sehubungan dengan. NET Framework 3.0, tanpa perlu plugin untuk Silverlight.<ref>{{Cite web |url=http://msdn.microsoft.com/en-us/library/aa480223.aspx#wpfandwbas_topic6 |title=Windows Presentation Foundation on the Web: Web Browser Applications - MSDN |access-date=2009-01-12 |archive-date=2018-09-07 |archive-url=https://web.archive.org/web/20180907041813/https://msdn.microsoft.com/en-us/library/aa480223.aspx#wpfandwbas_topic6 |dead-url=no }}</ref> File Loose XAML adalah file yang berisi markup saja yang terbatas hanya untuk mendefinisikan isi visual yang akan di-render. File ini tidak dikompilasi dengan sebuah applikasi.


<source lang="xml">
<syntaxhighlight lang="xml">
<html xmlns="http://www.w3.org/1999/xhtml">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
Baris 76: Baris 81:
</body>
</body>
</html>
</html>
</syntaxhighlight>
</source>


File ''MySilverlight.js'' musti berisi kode yang memuat kode XAML di atas (sebagai sebuah file XML) di bawah elemen html ''MySilverlight''.
File ''MySilverlight.js'' musti berisi kode yang memuat kode XAML di atas (sebagai sebuah file XML) di bawah elemen html ''MySilverlight''.


==Kritik==
== Kritik ==


[[European Committee for Interoperable Systems]]<ref>{{cite web
[[European Committee for Interoperable Systems]]<ref>{{cite web
Baris 87: Baris 92:
| publisher=itwire.com
| publisher=itwire.com
| date=2007-01-28
| date=2007-01-28
| accessdate=2008-04-16
| accessdate=2008-04-16}}</ref> berpendapat bahwa penggunaan XAML oleh Microsoft di dalam Silverlight bertujuan untuk memperkenalkan konten di dalam world wide web yang hanya dapat dilayani dari platform [[Microsoft Windows|Windows]].
| archive-date=2008-09-13
| archive-url=https://web.archive.org/web/20080913123353/http://www.itwire.com/content/view/8988/53/
| dead-url=yes
}}</ref> berpendapat bahwa penggunaan XAML oleh Microsoft di dalam Silverlight bertujuan untuk memperkenalkan konten di dalam world wide web yang hanya dapat dilayani dari platform [[Microsoft Windows|Windows]].


Namun XAML juga dapat dilihat di browser non-Microsoft pada Windows dan [[Mac OS X|Mac]]. Microsoft juga menyediakan dukungan langsung untuk pengembangan [[Silverlight Viewer]] untuk [[GNU]]/[[Linux]] bernama [[Moonlight (runtime)|Moonlight]]<ref>{{cite web
Namun XAML juga dapat dilihat di browser non-Microsoft pada Windows dan [[Mac OS X|Mac]]. Microsoft juga menyediakan dukungan langsung untuk pengembangan [[Silverlight Viewer]] untuk [[GNU]]/[[Linux]] bernama [[Moonlight (runtime)|Moonlight]].<ref>{{cite web
| url=http://blogs.zdnet.com/microsoft/?p=695
| url=http://blogs.zdnet.com/microsoft/?p=695
| title=Microsoft officially ‘extends support’ for Novell’s Silverlight Linux port
| title=Microsoft officially ‘extends support’ for Novell’s Silverlight Linux port
| publisher=zdnet.com
| publisher=zdnet.com
|last=Foley|first=Mary Jo
| last=Foley
| first=Mary Jo
| date=2007-09-25
| date=2007-09-25
| accessdate=2007-10-13}}</ref>.
| accessdate=2007-10-13
| archive-date=2012-03-02
| archive-url=https://www.webcitation.org/65rhdKLyY?url=http://www.zdnet.com/blog/microsoft/microsoft-officially-extends-support-for-novells-silverlight-linux-port/695
| dead-url=yes
}}</ref>


==Catatan kaki==
== Catatan kaki ==
{{reflist}}
{{reflist}}


==Pranala luar==
== Pranala luar ==
*[http://www.infragistics.com/design/Fireworks_XAML_Exporter.aspx Exporter Adobe Fireworks to XAML (gratis)]
* [http://www.infragistics.com/design/Fireworks_XAML_Exporter.aspx Exporter Adobe Fireworks to XAML (gratis)] {{Webarchive|url=https://web.archive.org/web/20090225104319/http://www.infragistics.com/design/Fireworks_XAML_Exporter.aspx |date=2009-02-25 }}
*[http://msdn2.microsoft.com/en-us/library/ms754130.aspx WPF SDK]
* [http://msdn2.microsoft.com/en-us/library/ms754130.aspx WPF SDK] {{Webarchive|url=https://web.archive.org/web/20080821190524/http://msdn2.microsoft.com/en-us/library/ms754130.aspx |date=2008-08-21 }}
*[http://windowssdk.msdn.microsoft.com/en-us/library/ms752059.aspx Microsoft XAML overview]
* [http://windowssdk.msdn.microsoft.com/en-us/library/ms752059.aspx Microsoft XAML overview] {{Webarchive|url=https://web.archive.org/web/20060717193028/http://windowssdk.msdn.microsoft.com/en-us/library/ms752059.aspx |date=2006-07-17 }}
*[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnintlong/html/longhornch03.asp?frame=true Pengenalan kontrol-kontrol XAML dari Microsoft Longhorn Developer]
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnintlong/html/longhornch03.asp?frame=true Pengenalan kontrol-kontrol XAML dari Microsoft Longhorn Developer] {{Webarchive|url=https://web.archive.org/web/20230716150349/https://learn.microsoft.com/en-us/docs/ |date=2023-07-16 }}
*[http://xaml.sourceforge.net United XAML Initiative] - Open Source XAML
* [http://xaml.sourceforge.net United XAML Initiative] {{Webarchive|url=https://web.archive.org/web/20220305102209/http://xaml.sourceforge.net/ |date=2022-03-05 }} - Open Source XAML
*[http://www.netfxguide.com/guide/xaml.aspx NetFXGuide.com]
* [http://www.netfxguide.com/guide/xaml.aspx NetFXGuide.com] {{Webarchive|url=https://web.archive.org/web/20061126063128/http://www.netfxguide.com/guide/xaml.aspx |date=2006-11-26 }}
*[http://www.learnwpf.com/ LearnWPF]
* [http://www.learnwpf.com/ LearnWPF] {{Webarchive|url=https://web.archive.org/web/20220304085500/http://www.learnwpf.com/ |date=2022-03-04 }}
*[http://xml.coverpages.org/ms-xaml.html Situs teknologi bahasa markup]
* [http://xml.coverpages.org/ms-xaml.html Situs teknologi bahasa markup] {{Webarchive|url=https://web.archive.org/web/20230310074249/http://xml.coverpages.org/ms-xaml.html |date=2023-03-10 }}
*[http://www.xamlarchive.com Free XAML Designs Website]
* [http://www.xamlarchive.com Free XAML Designs Website] {{Webarchive|url=https://web.archive.org/web/20080828082255/http://www.xamlarchive.com/ |date=2008-08-28 }}
*[http://www.team-mediaportal.com Mediaportal]
* [http://www.team-mediaportal.com Mediaportal] {{Webarchive|url=https://web.archive.org/web/20230703225617/https://www.team-mediaportal.com/ |date=2023-07-03 }}
*[http://www.shaxam.com Konverter LightWave 3D > Objek XAML]
* [http://www.shaxam.com Konverter LightWave 3D > Objek XAML] {{Webarchive|url=https://web.archive.org/web/20061029033418/http://www.shaxam.com/ |date=2006-10-29 }}
*[http://www.codeplex.com/dbxamlword Dylan's XAML Word (Word Processor) on Codeplex]
* [http://www.codeplex.com/dbxamlword Dylan's XAML Word (Word Processor) on Codeplex] {{Webarchive|url=https://web.archive.org/web/20090214041109/http://www.codeplex.com/dbxamlword |date=2009-02-14 }}
*[http://www.3dpaintbrush.com/content/xaml.aspx 3DPaintBrush - Create XAML from 3D models]
* [http://www.3dpaintbrush.com/content/xaml.aspx 3DPaintBrush - Create XAML from 3D models] {{Webarchive|url=https://web.archive.org/web/20090118082410/http://www.3dpaintbrush.com/content/xaml.aspx |date=2009-01-18 }}

{{.NET}}


[[Kategori:Standar berbasis XML]]
[[Kategori:Standar berbasis XML]]
Baris 120: Baris 136:
[[Kategori:.NET framework]]
[[Kategori:.NET framework]]
[[Kategori:Bahasa markah]]
[[Kategori:Bahasa markah]]

[[cs:Extensible Application Markup Language]]
[[da:XAML]]
[[de:XAML]]
[[en:Extensible Application Markup Language]]
[[es:XAML]]
[[fr:XAML]]
[[hu:XAML]]
[[it:XAML]]
[[ja:Extensible Application Markup Language]]
[[ko:XAML]]
[[nl:XAML]]
[[pl:Extensible Application Markup Language]]
[[pt:XAML]]
[[ru:XAML]]
[[sv:XAML]]
[[th:XAML]]
[[tr:XAML]]
[[zh:XAML]]

Revisi terkini sejak 16 Juli 2023 15.03

Extensible Application Markup Language
Ekstensi berkas.xaml
Jenis MIMEapplication/xaml+xml
Dikembangkan
oleh
Microsoft
Jenis formatUser interface markup language
Pengembangan dariXML

Extensible Application Markup Language (XAML, dieja zammel ['zæm?̩]) adalah sebuah bahasa berbasis XML deklaratif yang diciptakan oleh Microsoft yang digunakan untuk menginisialisasi nilai dan objek terstruktur. XAML tersedia di bawah Open Specification Promise Microsoft.[1] Akronim ini pada mulanya merupakan singkatan dari Extensible Avalon Markup Language - Avalon, yaitu sebuah nama kode untuk Windows Presentation Foundation (WPF).[2]

XAML digunakan secara ekstensif di dalam teknologi .NET Framework 3.0, khususnya Windows Presentation Foundation (WPF) dan Windows Workflow Foundation (WF). Di dalam WPF, XAML digunakan sebagai sebuah bahasa markup antarmuka pengguna untuk mendefinisikan elemen antarmuka pengguna, data binding, eventing, dan fitur-fitur lain. Dalam WF, workflow dapat didefinisikan dengan menggunakan XAML.

Elemen XAML memetakan langsung ke instance objek Common Language Runtime, sementara atribut XAML memetakan ke properti dan event Common Language Runtime di atas objek-objek tersebut. File XAML dapat diciptakan dan disunting dengan alat desain visual semacam Microsoft Expression Blend, Microsoft Visual Studio, dan desainer visual Windows Workflow Foundation yang dapat di-host-kan. XAML juga dapat diciptakan dan disunting dengan penyunting teks standar, penyunting kode semacam XAMLPad dan Kaxaml, atau dengan penyunting grafis semacam Vectropy.

Teknologi

[sunting | sunting sumber]

File XAML dapat dikompilasi ke dalam file .baml (Binary XAML) yang dapat dimasukkan sebagai sumber daya ke dalam assembly .NET Framework. Pada saat run-time, mesin framework mengekstrak file .baml dari assembly tersebut, mem-parse, dan menciptakan sebuah pohon visual WPF atau workflow.

Bila digunakan dalam Windows Presentation Foundation, XAML digunakan untuk menjelaskan visual antarmuka pengguna. WPF memungkinkan definisi dari kedua objek 2D dan 3D, rotasi, translasi, animasi, dan berbagai efek dan fitur lainnya.

Bila digunakan pada konteks-konteks Windows Workflow Foundation, XAML digunakan untuk menjelaskan logika deklaratif yang berpotensial berjalan lama, seperti yang dibuat oleh alat pemodelan proses dan sistem aturan. Format serialisasi untuk workflow sebelumnya disebut 'XOML', untuk membedakan dari penggunaan XAML sebagai markup antarmuka pengguna, namun sekarang tidak dibedakan lagi. Bagaimanapun, file ekstensi untuk file yang berisi markup workflow masih berupa "XOML".[3][4]

XAML menggunakan sebuah cara spesifik untuk mendefinisikan Look and Feel yang disebut Templat, berbeda dari sintaks Cascading Style Sheets, tetapi mirip dengan XBL.[5]

Contoh di bawah ini memperlihatkan sebuah teks "Hello World!" di dalam container XAML top-level yang disebut Canvas.

<Canvas xmlns="http://schemas.microsoft.com/client/2007"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <TextBlock>Hello World!</TextBlock>
</Canvas>

Skema (bagian xmlns="http://schemas.microsoft.com Diarsipkan 2017-07-05 di Wayback Machine....") bisa saja berbeda di komputer Anda. Dengan menggunakan skema yang disarankan Microsoft, contoh di atas menjadi [6]

<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <TextBlock>Hello World!</TextBlock>
</Canvas>

Teknologi ini dapat diintegrasikan ke dalam halaman web jika WPF diinstal menggunakan XBAP yang merupakan aplikasi terkompilasi yang berjalan di dalam sebuah lingkungan bak-pasir yang di-host dalam browser. Cara lain adalah dengan menggunakan plugin Silverlight. Kode tidak bisa dimasukkan langsung dalam halaman HTML, tetapi harus dimuat ke dalam halaman melalui JavaScript. Jika .NET 3.0 atau lebih tinggi diinstal, file Loose XAML juga dapat dilihat di browser yang kompatibel (termasuk Internet Explorer dan Firefox) sehubungan dengan. NET Framework 3.0, tanpa perlu plugin untuk Silverlight.[7] File Loose XAML adalah file yang berisi markup saja yang terbatas hanya untuk mendefinisikan isi visual yang akan di-render. File ini tidak dikompilasi dengan sebuah applikasi.

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>XAML Example </title>
    <script type="text/javascript" src="MySilverlight.js" />
    <script type="text/javascript" src="Silver.js" />
  </head>
  <body>
    <div id="MySilverlight" >
    </div>
    <script type="text/javascript">
      createMySilverlight();
    </script>
  </body>
</html>

File MySilverlight.js musti berisi kode yang memuat kode XAML di atas (sebagai sebuah file XML) di bawah elemen html MySilverlight.

European Committee for Interoperable Systems[8] berpendapat bahwa penggunaan XAML oleh Microsoft di dalam Silverlight bertujuan untuk memperkenalkan konten di dalam world wide web yang hanya dapat dilayani dari platform Windows.

Namun XAML juga dapat dilihat di browser non-Microsoft pada Windows dan Mac. Microsoft juga menyediakan dukungan langsung untuk pengembangan Silverlight Viewer untuk GNU/Linux bernama Moonlight.[9]

Catatan kaki

[sunting | sunting sumber]
  1. ^ "Microsoft adds XAML to 'Open Specification' list - Software Development Times On The Web". Diarsipkan dari versi asli tanggal 2008-12-11. Diakses tanggal 2009-01-12. 
  2. ^ "Rob Relyea: January 2004 - Posts". Diarsipkan dari versi asli tanggal 2007-10-11. Diakses tanggal 2009-01-12. 
  3. ^ "MSDN forum post by the WF product manager". Diarsipkan dari versi asli tanggal 2007-12-27. Diakses tanggal 2009-01-12. 
  4. ^ RuleML and BPEL are other examples of XML-based declarative logic languages
  5. ^ Guthrie, Scott (2008-02-22). "Silverlight Tutorial Part 7: Using Control Templates to Customize a Control's Look and Feel". Diarsipkan dari versi asli tanggal 2013-09-27. Diakses tanggal 2008-03-08. 
  6. ^ Microsoft XAML Overview page at XAML Overview (Root element and xmlns) Diarsipkan 2017-01-27 di Wayback Machine.
  7. ^ "Windows Presentation Foundation on the Web: Web Browser Applications - MSDN". Diarsipkan dari versi asli tanggal 2018-09-07. Diakses tanggal 2009-01-12. 
  8. ^ "Microsoft runs into EU Vista charges". itwire.com. 2007-01-28. Diarsipkan dari versi asli tanggal 2008-09-13. Diakses tanggal 2008-04-16. 
  9. ^ Foley, Mary Jo (2007-09-25). "Microsoft officially 'extends support' for Novell's Silverlight Linux port". zdnet.com. Diarsipkan dari versi asli tanggal 2012-03-02. Diakses tanggal 2007-10-13. 

Pranala luar

[sunting | sunting sumber]