พาทัวร์งาน REMIX 07 ที่สิงคโปร์

by mk
30 June 2007 - 03:16

งาน REMIX 07 เป็นงานที่จัดต่อยอดจากงาน MIX 07 ของไมโครซอฟท์เมื่อเดือนพฤษภาคม (ที่ลาสเวกัส) โดยไมโครซอฟท์จะขนทีมงานทั้ง developer, evangelist, business manager และทีมที่เป็น third party อื่นๆ เดินสายทั่วโลก เพื่อเล่าเรื่องที่พูดใน MIX 07 ใหม่อีกครั้งให้คนในแต่ละประเทศได้ฟัง ในส่วนของเอเชียแปซิฟิกนั้นก็ไปหลายประเทศ เช่น เกาหลี ไต้หวัน ออสเตรเลีย ซึ่งผมได้รับคำชวนจากบริษัทไมโครซอฟท์ (ประเทศไทย) ให้ไปสังเกตการณ์ REMIX 07 ที่สิงคโปร์

ปรับพื้น

ธีมหลักของ MIX 07 คือ Silverlight ซึ่งก็ต่อเนื่องมายัง REMIX 07 ด้วย ดังนั้นแนะนำว่าควรจะมีความรู้พื้นฐานเกี่ยวกับ Silverlight มาก่อนบ้าง

  • ถ้าชีวิตนี้เพิ่งเคยได้ยิน Silverlight เป็นครั้งแรก ควรดูวิดีโอแนะนำตัวสักหน่อย
  • Blognone เคยมีบทความ รู้จักกับ Silverlight เขียนโดยคุณสุวิชชา จันทร แห่ง ThaiSharp.net ซึ่งร่วมทริปนี้ไปกับผมด้วย
  • ThaiSharp.net มีสไลด์แนะนำ Silverlightให้ดาวน์โหลดเช่นกัน
  • ถ้ามีความรู้ด้านการพัฒนาซอฟต์แวร์มาบ้าง แต่ยังนึกไม่ค่อยออกว่ากลุ่มเป้าหมายของ Silverlight คืออะไร ต่างกับ .NET Framework แบบปกติ หรือ ASP.NET AJAX ตรงไหน แนะนำบทความสั้นๆ Silverlight Architecture Overview ของ MSDN

REMIX 07

REMIX 07 จัดที่ The Art House ซึ่งเป็นอาคารรัฐสภาเก่าของประเทศสิงคโปร์ที่ดัดแปลงมาเป็นพิพิธภัณฑ์และสถานที่แสดงศิลปะ อยู่เกือบติดกับแม่น้ำสิงคโปร์ ไม่ไกลนักจากสิงโต Merlion และห้าง Funan IT Mall

กำหนดการของงานดูได้จากหน้า Agenda (กำหนดการจริงเปลี่ยนจากในเว็บนิดหน่อย) และประวัติคนพูด (บางส่วน) ดูได้จาก Bios งานแบ่งออกเป็น 3 ห้องตามกลุ่มอาชีพคือ Designer, Developer และ Business โดยผมเลือกเข้า Developer กับ Business สลับกันไป

Keynote: Singapore Launch of Expression Studio & Silverlight

โดย Brian Goldfarb, Group Product Manager, Microsoft Corporation

เนื่องจากว่าทีมประเทศไทยไปถึงงานสาย (เด็กดีไม่ควรเลียนแบบ) เลยเข้าฟัง Keynote เปิดงานช้าไปหน่อย เนื้อหาของ Keynote เป็นการเกริ่นนำ Expression Studio และ Silverlight ในภาพรวม โดยให้วิทยากรที่จะพูดต่อไปในช่วงสายและบ่ายขึ้นมาแนะนำสิ่งที่ตัวเองจะพูดกันคนละสั้นๆ

ผมไปไม่ทัน Expression Studio เลยได้รายละเอียดมาตั้งแต่ Silverlight (เค้าแจก Expression Studio ตัวจริงให้กับผู้ร่วมงานด้วย เดี๋ยวขอเวลาเล่นสักนิดแล้วจะมาเขียนถึงอีกครั้งหนึ่ง)

Laurence Moroney (Technology Evangelist WPF/E) เป็นคนขึ้นมาแนะนำ Silverlight โดยเขาประกาศว่าจะโชว์การสร้าง video playback application ภายในสิบนาที ถ้าทำไม่ทันเค้าจะร้องเพลงจีนให้ทุกคนได้ฟัง ซึ่งผลลัพธ์คือเขาทำเสร็จภายในสามนาทีเท่านั้น Laurence ใช้ Expression Blend 2 เวอร์ชัน May Preview ลากแปะๆ แป๊บเดียวก็เสร็จ จุดขายของ Silverlight คือวิดีโออยู่แล้วจึงไม่น่าแปลกใจที่ Blend จะเตรียมฟีเจอร์ประเภทนี้มาเป็นอย่างดี

พอเรียกความสนใจจากคนดูสำเร็จ ก็ได้เวลาลงรายละเอียดเพิ่มเติม เดโมที่ "บังคับโชว์" คงเป็นอย่างอื่นไม่ได้นอกจาก


Silverlight Airline

พรีเซนเตชันเป็นชุดเดียวกับที่ ScottGu โชว์ตอนเปิดตัวที่ MIX 07 (รายละเอียด) เดโมอีกอันที่ต้อง "บังคับโชว์" คือประสิทธิภาพของ Silverlight ที่เขียนเป็น .NET ว่าเหนือกว่า JavaScript ขนาดไหน

ไมโครซอฟท์ใช้วิธีเขียนเกมหมากรุก แล้วจำกัดเวลาคิดฝั่งละ 1 วินาที ซึ่ง JavaScript สามารถคำนวณล่วงหน้าได้ประมาณ 700 ตา ส่วน .NET ได้มากกว่าเป็นร้อยเท่าที่ประมาณ 700,000 ตา จุดนี้เป็นเรื่องปกติที่ compiled code ย่อมเร็วกว่า interpreted อยู่แล้ว แต่ผมประทับใจตรงวิธีการนำเสนอของไมโครซอฟท์เข้าใจได้ง่ายและน่าดึงดูดใจ

จากนั้นเป็นคิวของ Bean Ambur แห่งบริษัท Metaliq ซึ่งเป็น third party ที่ใช้ Silverlight ในการพัฒนาโปรแกรม (และไมโครซอฟท์ยืมตัวมาโชว์) โปรแกรมที่ Ambur นำเสนอชื่อว่า Top Banana เป็น workspace สำหรับการมิกซ์วิดีโอคลิปหลายๆ อันเข้าด้วยกัน


วิดีโอที่เห็นคือมิกซ์เรียบร้อยแล้ว ซ้ายบนเป็น overview ของ workspace ทั้งหมด ส่วนซ้ายล่างเป็นไลบรารีของคลิป

ผมคิดว่า Top Banana ยังไม่มีให้ลองเล่น ถ้าใครสนใจอาจอ่านที่คนอื่นเขียนถึง หรือดูวิดีโอสัมภาษณ์ที่งาน MIX 07 ก็ได้

พอหมดช่วงโชว์แล้ว Brian Goldfarb ก็ขึ้นมาทวงเวทีคืน โดยให้รายละเอียดอื่นๆ เช่น


ภาษาที่สนับสนุน


Roadmap

จากนั้นก็ได้เวลาแยกย้ายเข้าแต่ละห้องย่อยกันเสียที

Developer: Building Silverlight Applications Using.NET

Laurence Moroney, Technology Evangelist WPF/E, Microsoft Corporation

ผมกับคุณสุวิชชา และทีมงานจาก Pantip Tech Exchange แยกมาดู Silverlight กันต่อในห้อง Developer


Laurence Moroney

ตา Laurence ที่โชว์สร้างโปรแกรมภายในสิบนาทีนั้นทำงานเป็น Technology Evangelist สำหรับ Silverlight โดยเฉพาะ รายละเอียดเลยค่อนข้างแม่น แถมพูดฮาเลยไม่ค่อยน่าเบื่อ เค้าเขียนบล็อกชื่อว่า Web.Next ที่ MSDN มีเรื่อง Silverlight เยอะเลย

Laurence เริ่มด้วยการผสาน Silverlight เข้ากับเว็บโดยใช้ JavaScript เป็นกาวใจ

  • เว็บเพจจะเห็น Silverlight เป็น Object เช่นเดียวกับ Flash หรือปลั๊กอินชนิดอื่นๆ และ JavaScript Library ของ Silverlight ก็เป็น library ทั่วไป ซึ่งรวมอยู่ในตัว runtime อยู่แล้ว
  • การเรียกไฟล์ XAML ซึ่งใช้บรรยายหน้าตาของ Silverlight Object ทำได้ 3 วิธี:
    • ประกาศเรียกตรงๆ จากใน Object (Direct Declaration)
    • URI Call - ตรงนี้ Laurence เน้นว่าเป็นช่องทางให้เราพัฒนา Silverlight ด้วยแพลตฟอร์มอื่นๆ ที่ไม่ใช่ไมโครซอฟท์ได้ เราอาจเขียนตัว Silverlight Object ด้วย Moonlight ของ Mono แล้วเอามาประกอบกับ XAML ที่สร้างจากแพลตฟอร์ม EJB หรือ PHP ก็ได้หมดเช่นกัน
    • AJAX Call - เหมือนกับ URI แค่เป็น AJAX
  • สำหรับ JavaScript นั้น Silverlight เริ่มทำงานด้วยฟังก์ชัน CreateSilverlight()

ถัดมาเป็นการแนะนำ XAML เนื้อหาใกล้เคียงกับสไลด์ของ ThaiSharp มาก ส่วนใหญ่เป็นข้อมูลพื้นฐาน เช่น แท็กใน XAML มีอะไรบ้าง ถ้าใครตาม .NET 3.0 WPF มาบ้าง หรือไม่ก็เคยเล่น XUL/MXML น่าจะพอนึกภาพออก ผมขอเน้นเฉพาะจุดสำคัญ

  • ระบบสีใน XAML ใช้เลขฐานสิบหก 8 ตัว เช่น #FF00FF00 โดยคู่หน้าสุดจะแทน Alpha Channel (แต่ก็สามารถใช้แบบ 6 ตัวได้เหมือนปกติ โดยจะถือว่าไม่มี Alpha)
  • สนับสนุน Cross Domain Media Reference หรือการสร้าง object ที่ไฟล์วิดีโออยู่คนละโดเมนเนมกัน ประเด็นที่หลายคนเป็นห่วงคือการขโมยวิดีโอ Laurence แนะนำว่าถ้าอย่างนั้นคงต้องเป็นวิดีโอติด DRM โดยใช้ Windows Media Stack
  • โค้ดทั้งหมดจะอยู่ในรูป Event Handler
  • property จะอยู่ในรูป dot syntax เช่น object.background
  • เตรียม GetValue, SetValue มาให้เรียบร้อย
  • ที่น่าประทับใจคือฟีเจอร์เรื่องการเล่นไฟล์มีเดีย เช่น
    • หาตำแหน่งที่เล่นอยู่ (position)
    • หาระยะเวลาทั้งหมด (duration)
    • ควบคุม volume/mute/balance - แปลว่าเราควบคุมการเฟดเสียงของลำโพงซ้าย-ขวาได้
    • หาความคืบหน้าของการดาวน์โหลด - แปลว่าสั่งให้บัฟเฟอร์มา 20% แล้วค่อยเริ่มเล่นไฟล์ได้

ห้อง Developer เข้าใจว่าเป็นห้องประชุมสภาเดิม

สุดท้ายส่วนของคำถามจากผู้ฟัง เท่าที่จดมามีดังนี้
ถาม: Silverlight เป็นซับเซ็ตของ WPF เวลาเขียน XAML เราจะรู้ได้ยังไงว่า syntax ไหนใช้ได้
ตอบ: ถ้าใช้ Expression Blend เวอร์ชัน 2 ขึ้นไป จะสามารถควบคุม syntax ได้อยู่แล้ว แต่ถ้าไม่มั่นใจก็ใช้เป็น Silverlight ไปก่อนชัวร์สุด

(อันนี้ผมถาม)
ถาม: มีคอนเซปต์ style แบบเดียวกับ CSS หรือไม่ (ของ Mozilla นั้นใช้ CSS กับ XUL)
ตอบ: สามารถใช้ CSS กับโหนดของ XAML ได้ หรือไม่ก็ใช้วิธี page resource file (รบกวนสาวก .NET มาอธิบายเพิ่ม)

ถาม: การสนับสนุนภาษาต่างชาติเป็นอย่างไร (พูดง่ายๆ ว่ามันตัดคำไทยได้หรือเปล่า)
ตอบ: Laurence ออกตัวว่าเค้าไม่ใช่คนสาย internationalization แต่ที่ทราบคือการสนับสนุนภาษาต่างชาติจะเพิ่มขึ้นอีกเยอะใน Silverlight 1.1 กับ .NET Framework 3.5 โดยทีมงานที่ทำเป็นทีม internationalization หลักของไมโครซอฟท์ (ซึ่งคาดว่ามีความเข้าใจในระบบภาษาไทยค่อนข้างดี) และ Laurence รับปากว่าจะไปแจ้งทีม internationalization ในประเด็นนี้ให้

เขียนๆ ไปรู้สึกว่าชักยาว ขอแบ่งไปต่อตอนที่สองละกัน

Blognone Jobs Premium