กลับไปหน้าบทความ

อ่าน 5 นาที

ภาษา Markup แอปพลิเคชันที่ขยายได้

ภาษามาร์กอัปแอปพลิเคชันที่ขยายได้ ( XAML / ˈ z æ m əl /) ⓘ ) เป็น XML ประกาศ ที่พัฒนาโดย Microsoft สำหรับการเริ่มต้นค่าและวัตถุที่มีโครงสร้าง มีให้ใช้งานภายใต้ สัญญา Open...

ภาษา Markup แอปพลิเคชันที่ขยายได้

ภาษามาร์กอัปแอปพลิเคชันที่ขยายได้ (XAML)
นามสกุลไฟล์
.xaml
สื่อประเภทอินเทอร์เน็ต
แอปพลิเคชัน/XAML+XML
พัฒนาโดยไมโครซอฟต์
การเผยแพร่ครั้งแรกพฤศจิกายน พ.ศ. 2549 [ 1 ] ( พ.ศ. 2549-2559 )
รุ่นล่าสุด
v2019 12 มีนาคม 2019 [ 2 ] ( 12 มีนาคม 2019 )
ประเภทของรูปแบบภาษามาร์กอัปส่วนติดต่อผู้ใช้
ขยายจากอีเอ็มแอลอี

ภาษามาร์กอัปแอปพลิเคชันที่ขยายได้ ( XAML / ˈ z æ m əl /) ) เป็นXMLประกาศ ที่พัฒนาโดยMicrosoftสำหรับการเริ่มต้นค่าและวัตถุที่มีโครงสร้าง มีให้ใช้งานภายใต้สัญญา Open Specificationของ Microsoft [ 3 ]

XAML ถูกนำไปใช้อย่างกว้างขวางในWindows Presentation Foundation (WPF), Silverlight , Workflow Foundation (WF), Windows UI Library (WinUI), Universal Windows Platform (UWP) และ . NET Multi-platform App UI (.NET MAUI) ใน WPF และ UWP นั้น XAML เป็นภาษามาร์กอัปส่วนติดต่อผู้ใช้เพื่อกำหนดองค์ประกอบ UI การผูกข้อมูล และเหตุการณ์ต่างๆ ในขณะที่ใน WF นั้น XAML ใช้สำหรับกำหนด เวิร์กโฟลว์

องค์ประกอบ XAML จะแมปโดยตรงกับ อินสแตนซ์ของอ็อบเจ็กต์ Common Language Runtime (CLR) ในขณะที่แอตทริบิวต์ XAML จะแมปกับคุณสมบัติและเหตุการณ์ CLR บนอ็อบเจ็กต์เหล่านั้น

สิ่งใดก็ตามที่สร้างหรือใช้งานใน XAML สามารถแสดงได้โดยใช้ภาษา .NET แบบดั้งเดิม เช่นC#หรือVisual Basic .NETอย่างไรก็ตาม แง่มุมสำคัญของเทคโนโลยีนี้คือความซับซ้อนที่ลดลงซึ่งจำเป็นสำหรับเครื่องมือในการประมวลผล XAML เนื่องจากมีพื้นฐานมาจาก XML [ 4 ]

เทคโนโลยี

XAML เดิมทีหมายถึง Extensible Avalon Markup Language โดยAvalonเป็นชื่อรหัสของWindows Presentation Foundation (WPF) [ 5 ]อย่างไรก็ตาม ก่อนสิ้นสุดการพัฒนา .NET Framework 3.0 ไมโครซอฟต์ได้นำ XAML มาใช้สำหรับWorkflow Foundation (WF) [ 5 ]

ใน WPF นั้น XAML อธิบายถึงอินเทอร์เฟซผู้ใช้ แบบภาพ WPF อนุญาตให้กำหนดวัตถุทั้งแบบ 2 มิติและ 3 มิติ การหมุน แอนิเมชัน และเอฟเฟกต์และคุณสมบัติอื่นๆ อีกมากมาย ไฟล์ XAML สามารถคอมไพล์เป็น ไฟล์ Binary Application Markup Language (BAML) ได้[ 5 ] [ 6 ]ซึ่งอาจถูกแทรกเป็นทรัพยากรลงในแอสเซมบลีของ .NET Framework ในขณะรันไทม์ เอ็นจิ้นเฟรมเวิร์กจะแยกไฟล์ BAML ออกจากทรัพยากรแอสเซมบลี วิเคราะห์ และสร้างโครงสร้างภาพหรือเวิร์กโฟลว์ WPF ที่สอดคล้องกัน

ในบริบทของเวิร์กโฟลว์ XAML อธิบายตรรกะเชิงประกาศที่อาจใช้เวลานาน เช่น ตรรกะที่สร้างโดยเครื่องมือสร้างแบบจำลองกระบวนการและระบบกฎ รูปแบบการเรียงลำดับสำหรับเวิร์กโฟลว์ก่อนหน้านี้เรียกว่า XOML เพื่อแยกความแตกต่างจากการใช้ XAML ในการมาร์กอัป UI แต่ปัจจุบันไม่มีการแยกความแตกต่างอีกต่อไป อย่างไรก็ตาม นามสกุลไฟล์สำหรับไฟล์ที่มีการมาร์กอัปเวิร์กโฟลว์ยังคงเป็น ".xoml" [ 7 ]

XAML ใช้รูปแบบเฉพาะในการกำหนดลักษณะและรูป แบบ ที่เรียกว่าเทมเพลตซึ่งแตกต่างจาก ไวยากรณ์ Cascading Style Sheetและมีความใกล้เคียงกับXBLมากกว่า[ 8 ]

ในการสร้างไฟล์ XAML สามารถใช้Microsoft Expression Blend , Microsoft Visual Studio , โปรแกรมออกแบบภาพ WF ที่สามารถโฮสต์ได้ หรือ XAMLPad [ 9 ]

ตัวอย่าง

ตัวอย่าง Windows Presentation Foundation นี้แสดงข้อความ "Hello, world!" ในคอนเทนเนอร์ XAML ระดับบนสุดที่ชื่อว่า Canvas

<Canvas xmlns= "http://schemas.microsoft.com/client/2010" xmlns:x= "http://schemas.microsoft.com/winfx/2006/xaml" > <TextBlock>สวัสดีโลก! </TextBlock> </Canvas>

xmlns="http://schemas.microsoft.com/..."อาจต้องเปลี่ยนสคีมา ( ส่วนนั้น) เพื่อให้ใช้งานได้กับคอมพิวเตอร์บางเครื่อง การใช้สคีมาที่ Microsoft แนะนำ ตัวอย่างนี้ยังสามารถเป็น [ 10 ] ได้อีกด้วย

<Canvas xmlns= "http://schemas.microsoft.com/winfx/2006/xaml/presentation" > <TextBlock>สวัสดีโลก! </TextBlock> </Canvas>

ส่วนสำคัญของการใช้ XAML ให้เกิดประโยชน์สูงสุดคือการใช้การผูกข้อมูลอย่างเหมาะสม รวมถึงการสร้างองค์ประกอบผู้ใช้แบบกำหนดเองตามที่ต้องการ การผูกข้อมูลสามารถทำได้ดังนี้:

<TextBox x:Name= "txtInput" /> <TextBlock Text= "{Binding ElementName=txtInput,Path=Text}" />

ความแตกต่างระหว่าง XAML เวอร์ชันต่างๆ

ไมโครซอฟต์มีวิธีการใช้งาน XAML หลักๆ อยู่ 3 วิธี ได้แก่:

เวอร์ชันเหล่านี้มีความแตกต่างกันในพฤติกรรมการแยกวิเคราะห์[ 11 ]นอกจากนี้ ตัวแยกวิเคราะห์ XAML ของ Silverlight 4 ยังไม่เข้ากันได้กับไฟล์ Silverlight 3 อย่างสมบูรณ์ ไฟล์ XAML ของ Silverlight 3 อาจถูกปฏิเสธหรือแยกวิเคราะห์แตกต่างกันโดยตัวแยกวิเคราะห์ Silverlight 4 [ 12 ]

นอกจากเวอร์ชันที่พัฒนาโดย Microsoft แล้ว ยังมีOpenSilver (เดิมชื่อ CSHTML5) ซึ่งเป็นเทคโนโลยีเว็บที่ทันสมัย อีกด้วย

แอปพลิเคชัน XAML ในเว็บเบราว์เซอร์

ในอดีต แอปพลิเคชันที่ใช้ XAML สามารถทำงานในเว็บเบราว์เซอร์ บางตัวได้ เช่นInternet ExplorerและFirefoxซึ่งสามารถทำได้ผ่าน ไฟล์ XBAPที่สร้างจาก แอปพลิเคชัน WPFหรือผ่าน ปลั๊กอินเบราว์เซอร์ Silverlightอย่างไรก็ตาม ปัจจุบันทั้งสองวิธีนี้ไม่ได้รับการสนับสนุนในเบราว์เซอร์หลักทั้งหมด เนื่องจากต้องพึ่งพาอินเทอร์เฟซปลั๊กอินเบราว์เซอร์NPAPI ที่เลิกใช้งานแล้ว [ 13 ] [ 14 ]

ข้อกังวลเกี่ยวกับการผูกมัด

ในปี 2550 คณะกรรมการยุโรปเพื่อระบบที่ทำงานร่วมกันได้ (ECIS) ซึ่งเป็นกลุ่มพันธมิตรของบริษัทซอฟต์แวร์ส่วนใหญ่ในอเมริกา กล่าวหาว่า Microsoft พยายามยึดครอง HTML และแทนที่ด้วย XAML ซึ่งทำให้เกิดการผูกขาดผู้ขาย[ 15 ] [ 16 ] Jeremy Reimer เขียนในArs Technicaอธิบายความคิดเห็นนี้ว่าเป็น "ข้อผิดพลาดที่ร้ายแรงที่สุด" และเสริมว่า XAML ไม่น่าจะเข้ามาแทนที่ HTML ได้[ 16 ]

ดูเพิ่มเติม

  • เอกสารอ้างอิงภาษา XAML
  • XAML สำหรับ UWP: ภาพรวม
  • XAML สำหรับ WPF: ภาพรวม
  • เนมสเปซ System.Windows.Markup
  • เนมสเปซ System.XAML
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Extensible_Application_Markup_Language&oldid=1346226090 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ภาษา Markup แอปพลิเคชันที่ขยายได้

ภาษามาร์กอัปแอปพลิเคชันที่ขยายได้ ( XAML / ˈ z æ m əl /) ⓘ ) เป็น XML ประกาศ ที่พัฒนาโดย Microsoft สำหรับการเริ่มต้นค่าและวัตถุที่มีโครงสร้าง มีให้ใช้งานภายใต้ สัญญา Open...

เทคโนโลยี

XAML เดิมทีหมายถึง Extensible Avalon Markup Language โดย Avalon เป็นชื่อรหัสของ Windows Presentation Foundation (WPF) [ 5 ] อย่างไรก็ตาม ก่อนสิ้นสุดการพัฒนา .NET Framework 3.0 ไมโครซอฟต์ได้นำ XAML มาใช้สำหรับ Workflow Foundation (WF) [ 5 ]

ตัวอย่าง

ตัวอย่าง Windows Presentation Foundation นี้แสดงข้อความ "Hello, world!" ในคอนเทนเนอร์ XAML ระดับบนสุดที่ชื่อว่า Canvas

ความแตกต่างระหว่าง XAML เวอร์ชันต่างๆ

ไมโครซอฟต์มีวิธีการใช้งาน XAML หลักๆ อยู่ 3 วิธี ได้แก่: