อ่าน 5 นาที
โอเพ่นซิลเวอร์
OpenSilver (เดิมชื่อCSHTML5หรือC#/XAML สำหรับ HTML5 ) เป็นเฟรมเวิร์กโอเพนซอร์สที่ออกแบบมาเพื่ออำนวยความสะดวกในการพัฒนาแอปพลิเคชันอินเทอร์เน็ตที่มีฟังก์ชันการทำงานครบถ้วน (RIA)...
โอเพ่นซิลเวอร์
| โอเพ่นซิลเวอร์ | |
|---|---|
ภาพหน้าจอของ OpenSilver | |
| ชื่ออื่นๆ | ซีเอสเอชดับเบิลยู5 |
| นักพัฒนา | ซอฟต์แวร์ผู้ใช้ |
| ปล่อย | 9 มีนาคม 2563 |
| เวอร์ชันเสถียร | |
| เขียนเป็น | ซี# |
| ระบบปฏิบัติการ | ข้ามแพลตฟอร์ม |
| แพลตฟอร์ม | .NET , เว็บแอสเซมบลี |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| พิมพ์ | เฟรมเวิร์กซอฟต์แวร์ |
| ใบอนุญาต | ใบอนุญาต MIT |
| เว็บไซต์ | opensilver.net |
| ที่เก็บข้อมูล |
|
OpenSilver (เดิมชื่อCSHTML5หรือC#/XAML สำหรับ HTML5 ) เป็นเฟรมเวิร์กโอเพนซอร์สที่ออกแบบมาเพื่ออำนวยความสะดวกในการพัฒนาแอปพลิเคชันอินเทอร์เน็ตที่มีฟังก์ชันการทำงานครบถ้วน (RIA) โดยใช้C#และXAML เฟรมเวิร์กนี้ ได้รับการพัฒนาขึ้นเพื่อทดแทนMicrosoft Silverlightทำให้ผู้พัฒนาสามารถย้ายแอปพลิเคชัน Silverlight ที่มีอยู่ไปยังเว็บได้โดยไม่ต้องเขียนโค้ด ใหม่ ทั้งหมด เฟรมเวิร์กนี้สร้างขึ้นบนมาตรฐานเว็บ ปัจจุบัน รวมถึงHTML5 , CSS3 และWebAssemblyทำให้มั่นใจได้ถึงความเข้ากันได้ในวงกว้างกับเว็บเบราว์เซอร์สมัยใหม่โดยไม่คำนึงถึงระบบปฏิบัติการและไม่จำเป็นต้องใช้ปลั๊กอิน
OpenSilver เป็นโครงการที่ขับเคลื่อนโดยชุมชนซึ่งเปิดให้ใช้งาน แก้ไข หรือปรับปรุงได้อย่างอิสระสำหรับทุกคน โดยดำเนินการภายใต้ใบอนุญาต MIT เข้ากันได้กับแพลตฟอร์ม .NET ของ Microsoft ทำให้ผู้พัฒนาสามารถใช้ C#, VB.NET [ 2 ] F# [ 3 ]และXAML สำหรับการพัฒนาแอปพลิเคชัน ซึ่งจะช่วยรักษาประสบการณ์การพัฒนาที่คุ้นเคยสำหรับผู้ที่มาจากพื้นฐาน Silverlight หรือ WPF ในช่วงสองปีที่ผ่านมา OpenSilver เวอร์ชัน 2.2 [ 4 ]ได้วางตำแหน่งตัวเองเป็นเฟรมเวิร์กเว็บ ขั้นสูงที่ออกแบบมาสำหรับแอ ปพลิเคชันทางธุรกิจ
จนถึงสิ้นปี 2024 เวอร์ชัน 3.0 และเวอร์ชัน 3.1 [ 5 ]นำเสนอคุณสมบัติหลักหลายประการ เช่น ตัวออกแบบ XAML สำหรับ Visual Studio Code การปรับปรุงการสนับสนุน WPF และการสนับสนุน .NET 9
ณ เดือนมีนาคม พ.ศ. 2568 OpenSilver เวอร์ชัน 3.2 [ 6 ]นำเสนอการสนับสนุนสำหรับการพอร์ตแอปพลิเคชัน Silverlight และ WPF ไปยังเว็บ มือถือ และแพลตฟอร์มเดสก์ท็อปที่ไม่ใช่ Windows
ประวัติศาสตร์
ในปี 2014 Userware ซึ่งก่อตั้งขึ้นในปี 2007 และนำโดย Giovanni Albani [ 7 ]ได้เปิดตัว CSHTML5 [ 8 ]ซึ่งเป็นต้นแบบของ OpenSilver โครงการริเริ่มนี้เริ่มต้นความพยายามที่จะนำเสนอทางเลือกที่ทันสมัยแทน Microsoft Silverlight ในปี 2020 [ 9 ]โดยมุ่งเน้นที่การพัฒนาแบบโอเพนซอร์ส เมื่อเทคโนโลยีพัฒนาไปและความต้องการ เฟรมเวิร์กแอป พลิเคชันเว็บ ที่ทันสมัย เพิ่มขึ้น CSHTML5 จึงได้รับการพัฒนาอย่างต่อเนื่อง จนกระทั่งเกิดเป็น OpenSilver 1.0 ในเดือนตุลาคม 2021 [ 10 ] OpenSilver มีเป้าหมายที่จะผสานรวมความสามารถดั้งเดิมของ Silverlight เข้ากับความต้องการของ การพัฒนาเว็บสมัยใหม่ได้อย่างราบรื่น
จุดเริ่มต้นของ OpenSilver เกิดขึ้นจากแรงจูงใจในการยุติการใช้งาน Silverlight และความต้องการโซลูชันที่แข็งแกร่งซึ่งช่วยให้แอปพลิเคชัน Silverlight รุ่นเก่าสามารถทำงานต่อไปได้ในสภาพแวดล้อมเว็บสมัยใหม่[ 11 ]ด้วยการจัดหาแนวทางสำหรับแอปพลิเคชันเหล่านี้ OpenSilver ช่วยรักษาการลงทุนที่ทำไปในโครงการที่ใช้ Silverlight ในขณะเดียวกันก็ใช้ประโยชน์จากความก้าวหน้าของเทคโนโลยีเว็บ
ประวัติเวอร์ชันและเหตุการณ์สำคัญ
| เวอร์ชั่น | วันที่วางจำหน่าย | หมายเหตุ |
|---|---|---|
| ตัวอย่างเทคโนโลยี | 9 มีนาคม 2563 | / |
| เบต้า | 13 กันยายน 2564 | / |
| 1.0 | 12 ตุลาคม 2564 | / |
| 1.1 | 4 ตุลาคม 2565 | รองรับไลบรารีของบุคคลที่สาม รวมถึง Telerik UI สำหรับ Silverlight |
| 2.0 | 16 ตุลาคม 2566 | รองรับภาษาการเขียนโปรแกรม VB.NET |
| 2.1 | 6 กุมภาพันธ์ 2567 | รองรับภาษาโปรแกรม F# และการบูรณาการชุดเครื่องมือ Microsoft Silverlight Toolkit |
| 2.2 | 23 เมษายน 2567 | รองรับ Visual Studio LightSwitch |
| 3.0 | 10 กรกฎาคม 2567 | เครื่องมือออกแบบ XAML ที่ขับเคลื่อนด้วย AI และรองรับ Windows, Linux และ Mac OpenSilver CLI |
| 3.1 | 10 ธันวาคม 2024 | เครื่องมือออกแบบ XAML สำหรับ Visual Studio Code, การปรับปรุงการรองรับ WPF, ธีม UI ใหม่ และการรองรับ .NET 9 |
| 3.2 | 18 มีนาคม 2568 | ผสานรวม .NET MAUI Hybrid ทำให้สามารถสร้างแอปพลิเคชันที่เข้ากันได้กับ WPF บนหลายแพลตฟอร์มจากโค้ดเบสเดียว |
| 3.3 | 27 มกราคม 2569 | นำมาซึ่งการปรับปรุงด้านการครอบคลุมของ WPF และช่วยให้สามารถใช้งาน Blazor UI Components ภายในแอปพลิเคชัน XAML ได้ |
ตำนาน: ไม่ได้รับการสนับสนุน ได้รับการสนับสนุน เวอร์ชั่นล่าสุด | ||
เทคโนโลยี

OpenSilver ผสานรวมส่วนประกอบหลักสามส่วนเข้าด้วยกัน:
- คอมไพเลอร์ - แปลงไฟล์ XAML ให้เป็นโค้ด C# และคัดลอกทรัพยากร เช่น รูปภาพ ไปยังโฟลเดอร์เอาต์พุต
- รันไทม์ - ทำหน้าที่เชื่อมต่อระหว่าง HTML DOM และโค้ด XAML
- โปรแกรมจำลอง - ช่วยให้นักพัฒนาสามารถดีบักแอปพลิเคชันเว็บ OpenSilver ได้เหมือนกับแอปพลิเคชันบนเดสก์ท็อป
พื้นฐานของ OpenSilver คือความสามารถในการรับแอสเซมบลี .NET และไฟล์ XAML (ส่วนประกอบพื้นฐานของแอปพลิเคชัน Silverlight) เป็นอินพุต และใช้ Blazor ในการคอมไพล์เป็น WebAssembly
กระบวนการคอมไพล์
- การแปลง XAML เป็น C# - แปลงไฟล์ XAML เป็นคลาส C# โดยคงเค้าโครงและรูปแบบของแอปพลิเคชัน Silverlight ไว้
- การเรียกใช้ .NET ไปยัง WebAssembly - แอสเซมบลี .NET ซึ่งรวมถึงโค้ด C#, VB.NET และ F# สามารถเรียกใช้ในเว็บเบราว์เซอร์ได้ผ่านสองโหมดหลักที่ Mono for WebAssembly รองรับ ได้แก่ โหมดตัวแปลภาษา (interpreter mode) และการคอมไพล์ล่วงหน้า (Ahead-of-Time หรือ AOT)
สภาพแวดล้อมรันไทม์
- WebAssembly Runtime - โค้ดที่คอมไพล์แล้วจะทำงานภายใน WebAssembly Runtime ของเบราว์เซอร์ โดยสร้าง HTML, CSS และ JavaScript เพื่อแสดงผลแอปพลิเคชัน
- การทำงานร่วมกันของ JavaScript - เลเยอร์ JavaScript ทำหน้าที่เชื่อมต่อ WebAssembly กับฟังก์ชันพื้นฐานของเบราว์เซอร์ ทำให้สามารถเข้าถึง API ของเบราว์เซอร์ที่ไม่สามารถเข้าถึงได้โดยตรงผ่าน WebAssembly
- ตัวแสดงผล HTML/CSS - เบราว์เซอร์จะแสดงผล HTML และ CSS ที่แปลงแล้ว รวมถึงเค้าโครงภาพ สไตล์ และองค์ประกอบแบบโต้ตอบที่กำหนดไว้ใน XAML ดั้งเดิม
การพัฒนาและการแก้ไขข้อผิดพลาด
- ช่วยให้การพัฒนาและการทดสอบง่ายขึ้น - โปรแกรมจำลองนี้มอบสภาพแวดล้อมที่แข็งแกร่งและแม่นยำซึ่งเลียนแบบพฤติกรรมของ Silverlight ช่วยให้การเปลี่ยนจาก Silverlight ไปสู่ OpenSilver เป็นไปอย่างราบรื่น
สถาปัตยกรรมระดับสูงของ OpenSilver

- แอปพลิเคชันเว็บ Blazor (C#) - จุดเริ่มต้นจะสร้างอินสแตนซ์แอปพลิเคชัน OpenSilver และรันโค้ดใน WebAssembly
- แอป OpenSilver (C#, VB, F# และ XAML) - ผสานรวมกลไกหลายอย่างเพื่อเรียกใช้แอปพลิเคชัน Silverlight ที่แปลงแล้วบนเทคโนโลยีเว็บมาตรฐานในเบราว์เซอร์สมัยใหม่โดยไม่ต้องใช้ปลั๊กอิน
เครื่องมือพัฒนา
OpenSilver นำเสนอเครื่องมือพัฒนาและชุดพัฒนาซอฟต์แวร์ (SDK [ 13 ] ) เพื่อช่วยในการพัฒนาแอปพลิเคชัน เครื่องมือเหล่านี้ประกอบด้วยเทมเพลตโครงการ Visual Studio และ OpenSilver Simulator ซึ่งช่วยลดความซับซ้อนของเวิร์กโฟลว์สำหรับนักพัฒนาที่คุ้นเคยกับสภาพแวดล้อม Silverlight หรือ .NET
IDEที่รองรับ
| ชื่อผลิตภัณฑ์ | ชื่อรหัส | หมายเลขเวอร์ชัน | .NET Framework | .NET (เดิมคือ .NET Core) |
|---|---|---|---|---|
| วิชวล สตูดิโอ 2019 | เดฟ16 | 16.0 | เพื่อเรียกใช้งานแอปพลิเคชันจำลอง OpenSilver เท่านั้น | 6.0 |
| วิชวล สตูดิโอ 2022 | เดฟ17 | 17.0 | เพื่อเรียกใช้งานแอปพลิเคชันจำลอง OpenSilver เท่านั้น | 6.0, 7.0, 8.0, 9.0 |
| วิชวล สตูดิโอ 2026 | เดฟ18 | 18.0 | เพื่อเรียกใช้งานแอปพลิเคชันจำลอง OpenSilver เท่านั้น | 6.0, 7.0, 8.0, 9.0, แนะนำ: 10.0 |
โปรแกรมแก้ไขโค้ดที่รองรับ
| ชื่อผลิตภัณฑ์ | ระบบปฏิบัติการ | .NET (เดิมคือ .NET Core) |
|---|---|---|
| วิชวล สตูดิโอ โค้ด | วินโดวส์, ลินุกซ์, แมคโอเอส | 7.0, 8.0, 9.0, แนะนำ: 10.0 |
หมายเหตุ : OpenSilver CLIรองรับการใช้งานตั้งแต่ OpenSilver 3.0 เป็นต้นไป CLI ช่วยให้สามารถสร้างและจัดการโปรเจ็กต์ OpenSilver ด้วยอินเทอร์เฟซบรรทัดคำสั่งซึ่งทำให้ผู้ใช้สามารถใช้โปรแกรมแก้ไขโค้ดที่ตนเองชื่นชอบในการพัฒนาซอฟต์แวร์ได้อย่างสะดวก
การออกใบอนุญาต
OpenSilver ได้รับอนุญาตภายใต้สัญญาอนุญาต MITซึ่งอนุญาตให้ผู้ใช้สามารถใช้งาน ดัดแปลง แจกจ่าย และจำหน่ายซอฟต์แวร์ได้อย่างอิสระ ตราบใดที่ยังคงระบุลิขสิทธิ์และข้อความอนุญาตดั้งเดิมไว้
ดูเพิ่มเติม
อ่านเพิ่มเติม
- OpenSilver 3.3 นำ Blazor ดั้งเดิมมาสู่แอปพลิเคชัน XAML
- OpenSilver 3.2 ขยายขีดความสามารถของ Silverlight และ WPF ไปสู่อุปกรณ์พกพา
- OpenSilver 3.2 นำแอป WPF ไปสู่มือถือด้วยการผสานรวมแบบไฮบริด .NET MAUI
- OpenSilver 3.1: ยุคใหม่สำหรับนักพัฒนา WPF และการย้ายเว็บไซต์
- OpenSilver 3.0 เปิดตัวเครื่องมือออกแบบ UI แบบ WYSIWYG พร้อมการสนับสนุน AI
- OpenSilver นำ Silverlight กลับมาอีกครั้งด้วย WebAssembly
- OpenSilver เพิ่มการรองรับภาษา F#
- OpenSilver 2.1: เฟรมเวิร์กสำหรับเว็บแอปพลิเคชันธุรกิจสมัยใหม่ที่รองรับ F#
- OpenSilver 2.1 นำเสนอการรองรับ F# สำหรับการนำ Silverlight กลับมาใช้งานใหม่
- OpenSilver 2.0 เพิ่ม VB.NET, บริการ RIA และการแสดงตัวอย่าง XAML แบบเรียลไทม์
- OpenSilver: Silverlight แบบโอเพนซอร์สผ่าน WebAssembly
- จาก CSHTML5 ไปสู่ OpenSilver
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ

- OpenSilverบนGitHub
เอกสารและแหล่งข้อมูล
- เอกสารทางการ - ให้ภาพรวมของ OpenSilver รวมถึงวิธีการเริ่มต้นใช้งาน กลยุทธ์การย้ายข้อมูล และข้อมูลทางเทคนิคโดยละเอียด
- บทช่วยสอนและคู่มือ - สามารถเข้าถึงได้บนGitHubพร้อมด้วยโปรเจ็กต์ตัวอย่างตัวอย่างและเครื่องมือช่วยเหลือต่างๆ
- ฟอรัมชุมชนและการสนับสนุน - การสนทนาในGitHub Issues
- OpenSilver Showcase (Samples Explorer) - ตัวอย่างแบบโต้ตอบมากกว่า 200 ตัวอย่างในภาษา C#, VB.NET และ F# เพื่อเรียนรู้ XAML, .NET และ OpenSilver บนOpenSilver Showcase
- ประกาศอย่างเป็นทางการ - ฟีด RSS - https://opensilver.net/pagefeed/
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โอเพ่นซิลเวอร์
OpenSilver (เดิมชื่อCSHTML5หรือC#/XAML สำหรับ HTML5 ) เป็นเฟรมเวิร์กโอเพนซอร์สที่ออกแบบมาเพื่ออำนวยความสะดวกในการพัฒนาแอปพลิเคชันอินเทอร์เน็ตที่มีฟังก์ชันการทำงานครบถ้วน (RIA)...
ประวัติศาสตร์
ในปี 2014 Userware ซึ่งก่อตั้งขึ้นในปี 2007 และนำโดย Giovanni Albani [ 7 ] ได้เปิดตัว CSHTML5 [ 8 ] ซึ่งเป็นต้นแบบของ OpenSilver โครงการริเริ่มนี้เริ่มต้นความพยายามที่จะนำเสนอทางเลือกที่ทันสมัยแทน Microsoft Silverlight ในปี 2020 [ 9 ]...
ประวัติเวอร์ชันและเหตุการณ์สำคัญ
OpenSilver เผยแพร่ [ 12 ] เวอร์ชั่น วันที่วางจำหน่าย หมายเหตุ ไม่รองรับ: ตัวอย่างเทคโนโลยี 9 มีนาคม 2563 / ไม่รองรับ: เบต้า 13 กันยายน 2564 / ไม่รองรับ: 1.0 12 ตุลาคม 2564 / ไม่รองรับ: 1.
เทคโนโลยี
OpenSilver ผสานรวมส่วนประกอบหลักสามส่วนเข้าด้วยกัน: