Mais conteúdo relacionado
Semelhante a Silverlight doc (20)
Silverlight doc
- 1. Silverlight
Silverlight คืออะไร?
โดยนิ ย าม Silverlight คื อ ดอทเน็ ตปลั๊ ก อิ นที่ ช่ วยให้ นั ก
ออกแบบ และนั ก พั ฒ นาสามารถพั ฒ นาแอพพลิ เ คชั่ น ประเภท
มัลติมีเดียสมบูรณ์แบบสาหรับเบราว์เซอร์ได้ในหลายๆ เบราว์เซอร์
และสามารถรันได้บนหลายแพลตฟอร์ม นั่นหมายถึงว่า เราสามารถ
รันแอพพลิเคชั่นที่ทาด้วย Silverlight ได้ทั้งบน Firefox, Safari และที่
แน่นอนก็คือ IE นอกจากนี้มันยังสามารถรันได้ทั้งบนวินโดว์สและ
แมคอินทอชอีกด้วย
Silverlight จะมีขนาดใหญ่เต็มที่ไม่เกิน 4 MB (ในปัจจุบันอยู่ที่ราว 1.38 MB) ซึ่งสามารถ
ดาวน์โหลดได้ภายในราว 20 วินาทีด้วยอินเทอร์เน็ตความเร็วสูง โดยเราสามารถดาวน์โหลดได้ฟรี
จากเว็ บ http://www.silverlight.net หรื อ นั ก พั ฒ นาอาจฝั ง โค้ ด มากั บ แอพพลิ เ คชั่ น ที่ ส ร้ า งได้
เช่นเดียวกันกับ Adobe Flash ซึ่งโดยทั่วไปหลังจากการติดตั้งก็จะสามารถรันแอพพลิเคชั่นด้วย
Silverlight ได้ทันทีโดยไม่การสะดุดให้เสียอารมณ์
ฟีเจอร์สำคัญในเวอร์ชั่น 1.0 Beta
ในเวอร์ชั่นนี้ เราเน้นไปที่การใช้งานมัลติมีเดียบนอินเทอร์เน็ตค่อนข้างมาก ดังนั้นฟีเจอร์ที่
สาคัญๆ ก็มีอาทิ
มี Built-in Codec ที่สนับสนุนการเล่นไฟล์วิดีโอแบบ VC-1, WMV และไฟล์เสียงแบบ
MP3 และ WMA ภายในเบราว์เซอร์ เจ้า VC-1 Codec นี้เป็นก้าวกระโดดสาคัญในการยกระดับ
- 2. ประสบการณ์มัลติมีเดียบนเว็บ เพราะสามารถทาให้เล่นไฟล์วิดีโอได้ในระดับความละเอียด
เทียบเท่า HD DVD หรือ Blu-ray DVD เลยทีเดียว และเจ้า Codec ที่ว่านี้ยังถูกใช้แพร่หลายอยู่
แล้วทั่วไป ไม่ว่าจะเป็นในอุปกรณ์พกพาต่างๆ, XBOX 360, Windows Media Player และ
Windows Media Center ต่างๆ ทาให้สามารถนาไฟล์วิดีโอที่มีอยู่แล้วมาใช้กับ Silverlight ได้
ทันที นอกจากนี้ยังสามารถเล่นมีเดียเหล่านี้บนเบราว์เซอร์ส่วนใหญ่ได้โดยไม่ต้องลงซอฟต์แวร์
ใดๆ เพิ่มเติม
นอกจากจะสนับสนุนการเล่นไฟล์วิดีโอแล้ว หากใช้ควบคู่กับ Windows Media Server (ที่
มีมากับ Windows Server ทั้งหลาย) ก็จะสามารถเล่นไฟล์วิดีโอที่เป็น Streaming ได้อีกด้วย ซึ่ง
จะท าได้ทั้ งการเล่นและค้ นหาไปยั งตาแหน่งที่ต้องการ ช่วยให้ประหยั ดแบนด์วิธ ของทั้งผู้
ให้บริการและผู้ใช้
ช่วยให้ผู้ใช้สามารถสร้างส่วนติดต่อผู้ใช้ (User Interface) และอนิเมชั่นได้อย่างอิสระ แล้ว
ยังสามารถเชื่อมต่อกับจาวาสคริปต์เพื่อตอบสนองต่อการกระทาของผู้ใช้ได้ดีแถมยังง่ายอีกด้วย
ยกตัวอย่างเช่น เราอาจจะสร้างหน้าตัวเล่นวิดี โอด้วย XAML แล้วกาหนดชื่อให้กับมัน จากนั้น
สั่งให้มันทางานต่างๆ เช่น เล่น, หยุดเล่น หรือหยุดภาพ ได้จากจาวาสคริปต์ เป็นต้น
อนิเมชั่นเป็นแบบ Time-based ซึ่งเป็นแบบเดียวกันกับใน WPF ทาให้ความคลาดเคลื่อน
ของเวลาในการแสดงผลต่ากว่าแบบ Frame-based ใน Adobe Flash อนิเมชั่นจะปรากฏตามเวลา
ที่เรากาหนดไว้อย่างแม่นยา
นอกจากนี้เรายังสามารถใช้พื้นที่แบบ Full Screen ได้ โดยการขยายเป็น Full Screen นี้
ไม่ใช่แค่การขยายวินโดว์สแบบเต็มจอ แต่เป็น Native Full Screen จริงๆ โดยที่เราสามารถ
ควบคุมอินเทอร์เฟสได้อย่างอิสระ เช่น สามารถทาเมนูที่เป็น Overlay ลอยอยู่บนวิดีโอที่กาลัง
เล่นได้ เป็นต้น และในขณะที่ทาการย่อหรือขยาย วิดีโอก็จะย่อหรือขยายตามในขณะที่กาลัง
เล่นภาพอยู่โดยไม่สะดุด และไม่ต้องเล่นใหม่ทุกครั้ง
ประทับใจกันบ้างหรือเปล่าครับ ถ้าคิดว่าแค่นี้พอแล้ว เราลองมาดูฟีเจอร์เด็ดๆ ในเวอร์ชั่ น 1.1 Alpha
ที่ออกมาพร้อมกันต่อด้วยดีไหมครับ เผื่อจะมีอะไรเด็ดๆ กว่าเดิม
ฟีเจอร์สำคัญในเวอร์ชั่น 1.1 Alpha
แน่นอนเวอร์ชั่น 1.1 จะต้องเด็ดกว่า 1.0 แน่ ในเวอร์ชั่นนี้จะเน้นไปที่การมาของ Cross Platform
.NET Framework นั่นหมายถึงการนาเอา Common Language Runtime (CLR) ขนาดเล็กผนวกไป
กั บ ความสามารถทางมั ล ติมี เ ดีย ของเวอร์ชั่น 1.0 นอกจากนี้ ยั ง มีความสามารถบางส่วนของ
Windows Presentation Foundation (WPF) และ Net FX Library API และสุดท้ายที่จะลืมไม่ได้เลยก็
คือ Dynamic Language Runtime (DLR) ครับ สรุปว่าในเวอร์ชั่น 1.1 จะมีฟีเจอร์เด่นๆ ดังนี้
- 3. มี Built-in CLR Engine ที่ทาให้การทางานของ Silverlight ในเบราว์เซอร์มีประสิทธิภาพ
สูงขึ้นมาก เนื่องจากเป็น Core CLR ตัวเดียวกันที่มากับ .NET Framework ทุกวันนี้ ก็เลยมี
ระบบการจัดการเดียวกันไม่ว่าจะเป็นเรื่องของ Type, Garbage Collector (GC) หรือแม้แต่ JIT
Engine ทาให้คุณสามารถเขียนโค้ดครั้งเดียวแล้วสามารถรันได้กับทั้ง Silverlight, ASP.NET,
WinForm และ WPF Application และยังหมายถึงความเร็วที่มากขึ้นอีกด้วย เร็วขึ้นแค่ ไหนน่ะ
เหรอครับ ก็ไม่มากมายอะไรแค่ประมาณ 250 เท่าของโค้ดที่เขียนด้วยจาวาสคริปต์เท่านั้นเอง
ครับ
Silverlight จะมาพร้อมกับ Framework ที่พร้อมสมบูรณ์ และเป็นส่วนหนึ่งของ .NET
Framework ปัจจุบัน ทาให้คุณสามารถใช้งาน Collections, Generics, Threading, Globalization,
Networking และ LINQ ได้ด้วยการเขียนโค้ดแบบเดิม ทาให้ไม่ต้องเรียนรู้สิ่งใหม่มากนัก
ประหยัดเวลา
ยิ่งไปกว่านั้นด้วย DLR ทาให้ Silverlight สนับสนุนการเขียนโปรแกรมด้วยภาษาที่
นักพัฒนาถนัด ที่ประกาศออกมาแล้วว่าจะสนับสนุนก็มี VB, C#, JavaScript, IronPython และ
IronRuby! เช่นเดียวกันกับ .NET ทุกภาษาจะทางานผสานกันได้อย่างราบรื่น
เนื่องจาก Silverlight กาหนดส่วนอินเทอร์เฟสกับผู้ใช้ด้วยภาษา XAML ดังนั้นมันจึง
เหมือนกันกับที่มีใน WPF (สาหรับผู้ที่ไม่คุ้นเคย ภาษา XAML = eXtensible Application
Markup Language มีลักษณะคล้ายภาษา XML ใช้ในการกาหนดอินเทอร์เฟสรูปแบบต่างๆ ใน
WPF เช่น <Button Text="OK"></Button> เป็นต้น) ดังนั้นมันจึงจะสนับสนุนบางส่วนของ
WPF ด้วย เช่น เรื่องของการจัดการอีเวนท์ , การผูกข้อมูลเข้ากับอินเทอร์เฟส หรือการจัดการ
รูปร่างหน้าตาของแอพพลิเคชั่น เป็นต้น
Silverlight จะอนุญาตให้เราควบคุม HTML DOM API ได้ นั่นหมายถึงว่าเราสามารถเขียน
ตัวจัดการอีเวนท์ของอีลิเมนท์ที่เป็น HTML เช่น ปุ่ม ได้ด้วย C# หรือ VB โดย Silverlight จะ
สร้างจาวาสคริปต์ภายในหน้าเพื่อเชื่อมมันเข้าด้วยกัน นอกจากนี้ยังมี JSON Serializer ที่
สนับสนุนการแปลง Data Type ไปมาระหว่าง .NET และจาวาสคริปต์อีกด้วย ทาให้คุณ
สามารถส่งค่าตัวแปรจากจาวาสคริปต์ไปยังเมธอดที่เขียนด้วย C# หรือ VB และส่งค่าที่ซับซ้อน
ขึ้นเช่น Collections จาก C# หรือ VB กลับมาหาจาวาสคริปต์ได้โดยไม่มีปัญหาเรื่อง Type
Conversion เป็นต้น
จะไม่ต้องใช้ ASP.NET บนเว็บเซิร์ฟเวอร์ ทาให้มีอิสระในการเลือกใช้งาน เช่น อาจจะใช้
Silverlight กับ LAMP (Linux, Apache, MySQL, PHP) ก็ย่อมได้อย่างไม่มีปัญหา อย่างไรก็ดีจะ
มีฟีเจอร์บางอย่างที่ ASP.NET สนับสนุนโดยเฉพาะ เพื่อเพิ่มความสะดวกในการใช้งาน เช่น
การใช้งาน MeMBership, Roles, Profile ของ ASP.NET หรือการเรียกไปยังเว็บเซอร์วิสผ่าน
- 4. Windows Communcation Foundation (WCF) หรือ ASMX (เว็บเซอร์วิสแบบธรรมดา)
นอกจากนี้ยังจะมีเซิร์ฟเวอร์คอนโทรลเฉพาะที่ใช้สาหรับติดตั้ง Silverlight ลงในเพจอีกด้วย
เป็นไงกันบ้างครับ ความสามารถใหม่ๆ ของ Silverlight โดนใจท่านผู้อ่านกันบ้างหรือเปล่า โดย
ส่วนตัวผมคิดว่านี่เป็นการเปลี่ยนแปลงครั้งใหญ่เพราะเป็นการทาให้เราสามารถใช้ .NET CLR ได้
บนแพลตฟอร์มต่างๆ อย่างจริงจังเป็นครั้งแรก แถมยังรวมเอาประสิทธิภาพมากมายที่จะทาให้การ
สร้างแอพพลิเคชั่นประเภท RIA มีคุณภาพสูงขึ้นด้วยครับ ในส่วนถัดไปเรามาลองดูเครื่องมือใน
การทางานกันบ้างดีกว่า
เครื่องมือที่ใช้ในกำรทำงำน
สาหรับเครื่องไม้เครื่องมือนั้น อันที่จริงแล้วเนื่องจากอินเทอร์เฟสของ Silverlight สร้างโดยใช้
XAML เป็นหลัก และส่วนของสคริปต์โต้ตอบก็เป็นจาวาสคริปต์ ดังนั้นคุณไม่ต้องการเครื่องมือ
พื้นฐานใดๆ มากไปกว่า Text Editor ธรรมดาๆ ที่คุณชอบใช้ เช่น NotePad (หรือของผมเป็น
DarkRoom) อย่า งไรก็ดี เพื่อให้เกิ ดความสะดวกในการทางานยิ่งขึ้น คุณสามารถดาวน์โหลด
เครื่องมือต่างๆ ที่ช่วยในการทางานที่เกี่ยวกับ Silverlight ได้ฟรีจากไมโครซอฟท์ครับ เครื่องมือที่ว่า
ก็อย่างเช่น
Microsoft Expression Design - เอาไว้สร้างไฟล์กราฟิกแบบ XAML ลักษณะการทางาน
คล้าย Photoshop + Illustrator เมื่อสร้างไฟล์กราฟิกสาเร็จ สามารถ Export ออกมาเป็น XAML
เพื่อใช้ใน Silverlight ได้ต่อไป ดาวน์โหลด
Microsoft Expression Blend - ใช้ในการกาหนดสัดส่วนและคอมโพเนนท์ต่างๆ ของ
อินเทอร์เฟส เช่น อยากจะให้อินเทอร์เฟสมีรูปร่างหน้าตาแบบไหน มีอนิเมชั่นอย่างไร ปุ่มวาง
- 5. ตรงไหน วิดีโอวางตรงไหน เอากราฟิกที่ได้จาก Expression Design มาใช้ตรงไหน อย่างไร
เป็นต้น ดาวน์โหลด
Microsoft Visual Studio Code Name "Orcas" - เขียนโปรแกรมตอบโต้กับส่วน
อินเทอร์เฟส "Orcars" จะสนับสนุน Intellisense สาหรับจาวาสคริปต์ ทาให้การเขียนและ
Debug ทาได้ง่ายขึ้น เว็บไซต์ส่วนใหญ่แนะนาให้ดาวน์โหลดเวอร์ชั่น Profession ซึ่งใช้เนื้อที่
ราว 5 GB มาลง แต่ผมใช้แค่ Visual Web Developer Expression Edition ซึ่งเป็นเวอร์ชั่นที่ใช้
งานได้ฟรีของ Visual Studio เองก็เพียงพอครับ ดาวน์โหลด, Express Edition
Silverlight Plug-in และ SDK - Plug-in จาเป็นต้องใช้ในการรัน Silverlight ในเบราว์เซอร์
ส่วน SDK จะมาพร้อมกับจาวาสคริปต์ที่จาเป็นในการติดตั้ง Silverlight ในเบราว์เซอร์ พร้อม
กับตัวอย่างโค้ดและ Documentation เพื่อย่นเวลาในการพัฒนาให้สั้นขึ้น ดาวน์โหลด
บทสรุป
Silverlight มีความสามารถในการสนับสนุนการสร้างแอพพลิเคชั่นแบบ RIA จะทาให้แอพพลิเคชั่น
บนอินเทอร์เน็ตในอนาคตเปลี่ยนรูปโฉมไปอย่างมาก การสนับสนุนมัลติมีเดียและอนิเมชั่นด้วย
คุณภาพที่ดีขึ้นจะทาให้ผู้ชมได้รับความบันเทิงและความพึงพอใจมากขึ้นในการเยี่ยมชมเว็บไซต์
นอกจากนี้ยังมีความเร็วและประสิ ทธิภาพในการทางานสูงขึ้น เพราะใช้ Core CLR แบบเดียวกับ
.NET Framework หลัก นักพัฒนาไม่จาเป็นต้องเรียนรู้สิ่งใหม่มากนัก ก็สามารถพัฒนางานได้อย่าง
รวดเร็ว ด้วยเครื่องมือที่พรั่งพร้อมตั้งแต่เริ่มออกแบบจนจบกระบวนการติดตั้ง Silverlight จึงเป็น
ทางเลือกหนึ่งที่น่าสนใจ ที่จะเลือกมาใช้กับการทางานของคุณ