อนาคตของ Flash 10, Flex 4 และ Adobe Thermo

by mk
26 August 2008 - 18:18

ถอดความมาจากวิดีโอ Keynote ในงานสัมมนา 360 Flex ของ Adobe โดย Mark Anders ตำแหน่ง Senior Principal Scientist ของ Adobe เมื่อวันที่ 18 สิงหาคมที่ผ่านมา

วิดีโอจาก InsideRIA และ On Flex

Mark Anders มาพูดเรื่องเทคโนโลยีใหม่ของ Adobe ที่มีข่าวออกมาบ้างแล้ว 3 ตัว คือ Flash Player 10, Flex 4 และ Adobe Thermo ซึ่งเกี่ยวข้องกับสมรภูมิ RIA โดยตรง

ข้อมูลในวิดีโอนี้อาจจะไม่ใหม่เท่าไรนัก เพราะว่าโปรแกรมบางตัวอย่าง Flash 10 นั้นก็ใกล้ออกตัวจริงเต็มทน แต่ที่น่าสนใจในวิดีโอคือเดโมที่บอกว่า ของใหม่พวกนี้มันทำอะไรได้บ้าง ส่วนรายละเอียดในข่าวนี้ผมพยายามสรุปใจความสำคัญนะครับ

Flash Player 10 "Astro"

ผมเชื่อว่าตอนนี้มีหลายคนใช้ Flash Player 10 กันบ้างแล้ว (ตอนที่เขียนนี้มีสถานะเป็น RC) Blognone เองก็เคยรายงานข่าวไปหลายที (Adobe Flash Player 10 Beta, Flash 10 Beta 2 บนแมคเร็วขึ้น 3 เท่า!) ของใหม่ใน Flash 10 แบ่งได้เป็น 4 อย่าง

  1. สนับสนุนลินุกซ์อย่างจริงจังเสียที (เย่)
  2. ปรับปรุงประสิทธิภาพ
  3. เพิ่มฟีเจอร์
  4. เปิดกว้างเรื่องสเปก

สำหรับข้อแรกแปลว่าลินุกซ์ไม่ใช่แพลตฟอร์มลูกเมียน้อย ที่ว่าได้ใช้ Flash เวอร์ชันใหม่ช้ากว่าชาวบ้านอีกต่อไป ส่วนข้อสองทาง Adobe บอกว่าเป็นการปรับปรุงด้านเวอร์ชวลแมชีนและตัวภาษาเอง (ActionScript Virtual Machine 2 ซึ่งเป็นตัวเดียวกับที่เปิดซอร์สให้ในโครงการ Tamarin) กับการสนับสนุนเทคโนโลยีประมวลผลแบบใหม่ๆ เช่น มัลติคอร์, Pixel shader และการเร่งความเร็วด้วยฮาร์ดแวร์ (พวกนี้เริ่มเข้ามาใน Flash 9 R3)

ฟีเจอร์ที่เพิ่มมาใน Flash 10 นั้นมาครบทุกด้าน แยกเป็นข้อๆ

  • ภาพ

    • pixel shader ช่วยให้สร้างเอฟเฟคต์กับ output ของ Flash บางส่วนได้ แปลว่าเราสามารถมีฟิลเตอร์ให้กับการแสดงผลของ Flash ได้โดยตรง และปรับแก้ฟิลเตอร์ขณะรันได้เลย ตัวอย่างเช่น เอาวิดีโอมาแล้วมีฟิลเตอร์ทำให้ภาพเบลอ โดยที่ไม่ต้อง encode วิดีโอใหม่ ทำให้การพัฒนาง่ายขึ้นมาก อันนี้เป็นเทคโนโลยีจาก After Effect
    • นอกจากนี้ยังสามารถสั่งบันทึกภาพ output จากหน้าจอ (เฉพาะส่วนที่เป็น Flash) ได้โดยไม่ต้องพึ่งฟีเจอร์จับภาพของโปรแกรมภายนอก
    • 3D อันนี้คงไม่มีอะไรพิสดารมาก แต่ดูจากเดโมที่โชว์แล้วเร็วทีเดียว (เดโมที่โชว์เป็นการสร้างเกม FPS โดยรันเทียบกับ Flash 9 แล้วดูดีขึ้นมาก)
  • เสียง - อนุญาตให้เข้าถึง sound buffer ได้โดยตรง จะได้เล่นอะไรได้มากขึ้น
  • ค้นหาข้อมูลจากเนื้อหาภายใน Flash - ดูข่าวเก่า ต่อไปนี้ค้นหาข้อมูลใน Flash ผ่านกูเกิลและยาฮูได้แล้ว
  • ข้อความ - สนับสนุนฟีเจอร์การแสดงผลข้อความในระดับสูงๆ เช่น ligature หรือสนับสนุนการแสดงข้อความแนวดิ่งของภาษาญี่ปุ่น เป็นต้น (ภาษาไทยไม่น่าจะมีเอี่ยวตามเคย)

ฟีเจอร์เหล่านี้จะเข้าไปอยู่ใน Adobe AIR เวอร์ชันถัดไป รหัส "Cosmo" ด้วย

ส่วนข้อ 4 ก็ตามข่าวเก่า Adobe เปิดสเปก Flash เตรียมรุกตลาดมือถือ คือลดเงื่อนไขในการเข้าร่วมพัฒนา Flash ลง ถึงแม้จะยังไม่โอเพนซอร์สแต่ก็เปิดสเปก และฐานข้อมูลบั๊ก

โดยสรุปคือ Flash 10 ปรับปรุงด้านฟีเจอร์และประสิทธิภาพ (ข้อ 2-3) เพื่อให้ใกล้เคียงกับแอพพลิเคชันที่เราใช้กันในเดสก์ท็อปทุกวันนี้มากขึ้น (ต่อไปโปรแกรมที่เขียนด้วย AIR จะได้ "เร็วและหรูหรา" ดั่งโปรแกรมที่เขียนด้วย .NET/WPF หรือ Cocoa) ส่วนข้อ 1-4 ก็เป็นการลดเงื่อนไข ขยายแพลตฟอร์มของ Flash ให้มากขึ้น ดูแล้วน่ากลัวทีเดียว

Flex 4 "Gumbo"

Flash Player เปรียบเสมือนรันไทม์สำหรับเทคโนโลยีฝั่งของ Adobe ส่วน Flex ก็เป็นเฟรมเวิร์คในการพัฒนา

สำหรับของใหม่ใน Flex 4 รหัส Gumbo อันที่สำคัญที่สุดคือเปิดให้นักพัฒนาเข้าถึงระบบกราฟฟิกได้อย่างเต็มรูปแบบ เดิมทีการสร้างแอพพลิเคชันด้วย Flex ผ่านภาษา MXML นั้น เราจะสามารถควบคุมได้แค่ระดับ widget (เช่น ปุ่มหรือสกรอลบาร์) เท่านั้น แต่ใน Flex 4 ทาง Adobe อนุญาตให้เราลงไปถึงระดับควบคุมการวาดสามเหลี่ยม วงกลม เส้น บนหน้าจอได้โดยตรง (เหมือนกับ XAML ของไมโครซอฟท์) โดยภาษาใหม่เป็น XML และเรียกว่า FXG (เข้าใจว่าไม่มีชื่อเต็มนะครับ)

Adobe บอกว่าตอนแรกอยากใช้ SVG แต่พบข้อจำกัดทางเทคนิคหลายประการ เลยต้องสร้างภาษาใหม่ขึ้นมาเอง แต่พยายามให้รูปแบบจาก SVG ให้มากเท่าที่เป็นไปได้ นอกจากนี้ในงาน Adobe ยังประกาศความร่วมมือกับโครงการ Degrafa (Declarative Graphics Framework) ซึ่งเป็นโครงการภายนอกที่พยายามสร้างระบบกราฟฟิกแบบเดียวกับ FXG ให้กับ Flex โดยผลสรุปคือ Degrafa จะย้ายมาใช้ FXG เป็นแกน และพัฒนาต่อจาก FXG แทน

ฟีเจอร์อื่นๆ ของ Flex 4 Gumbo ก็มีเรื่องการเชื่อมต่อระหว่างแต่ละคอมโพเนนต์ในแอพพลิเคชันที่เราพัฒนา ซึ่งแยกแต่ละคอมโพเนนต์เป็นสัดส่วนมากขึ้น ส่งผลให้สร้างธีมได้ง่ายขึ้นอีกด้วย ในมุมมองของนักพัฒนา Flex คือสร้างโปรแกรมได้สะดวกขึ้นในภาพรวมนั่นเอง

Adobe Thermo

Thermo เป็นโปรแกรมใหม่ของ Adobe ที่สร้างขึ้นบน Eclipse (เช่นเดียวกับ Flex Builder) ชื่อจริงยังไม่มีแต่คงเข้าไปในชุด CS ค่อนข้างแน่ คำนิยามแบบสั้นของมันคือ Expression Blend ของ Adobe

ส่วนคำนิยามแบบยาวคือ Thermo เป็นโปรแกรมที่มาเชื่อมขั้นตอนการออกแบบแอพพลิเคชัน จากดีไซเนอร์ที่วาดรูปใน Photoshop กับโปรแกรมเมอร์ที่เขียนโค้ดใน Flex Builder โดยโปรแกรม Thermo จะสามารถแปลงไฟล์ .PSD ที่วาดแยกเป็นเลเยอร์ใน Photoshop ให้เป็นคอมโพเนนต์อย่างปุ่มหรือสกรอลบาร์ ในภาษา MXML ได้สะดวก (สะดวกแค่ไหนดูเดโมในวิดีโอประกอบ)

ตัวอย่างเช่น ผมวาดสามเหลี่ยมกับวงกลมใน Photoshop เพื่อทำเป็นสกรอลบาร์ พออิมพอร์ตเข้า Thermo ก็แค่เลือกเลเยอร์แล้วสั่ง convert โดยระบุว่าสามเหลี่ยมชี้ด้านซ้ายเป็นปุ่มเลื่อนซ้าย สามเหลี่ยมชี้ขวาเป็นปุ่มเลื่อนขวา วงกลมเป็นตัว thumb ของสกรอลบาร์ แค่นี้เราก็จะได้ส่วนติดต่อผู้ใช้ของโปรแกรมที่ทำงานได้ เหลือแต่เอาโค้ดที่เป็น logic การทำงานไปใส่ต่อเท่านั้น

แนวทางของ Thermo เลยสนับสนุน Expression Studio ของไมโครซอฟท์ (โดยเฉพาะ Expression Blend) ว่าไปถูกทางแล้ว ต่อไปโปรแกรมสามสหายในค่าย Adobe สำหรับพัฒนา RIA ก็จะเป็น Photoshop/Thermo/Flex Builder

สรุป

Adobe มารอบนี้ค่อนข้างน่ากลัวครับ ดูจากรายการฟีเจอร์แล้วกะยึดตลาด RIA ที่ตัวเองได้เปรียบให้มั่นคงยิ่งขึ้น ตามที่เขียนไปแล้วว่าตัวรันไทม์คือทั้ง Flash Player และ AIR จะมีฟีเจอร์ด้านกราฟฟิกและมัลติมีเดียที่เกือบสมบูรณ์เท่ากับโปรแกรมแบบ native บนวินโดวส์หรือแมคแล้ว (ประสิทธิภาพอาจเป็นรองนิดหน่อย แต่ชดเชยได้ด้วยฮาร์ดแวร์) นั่นแปลว่า Adobe จะกลายเป็นเจ้าของแพลตฟอร์มการพัฒนาแอพพลิเคชันอันใหม่ โดยไม่จำเป็นต้องมี OS เลย (แบบเดียวกับซันเป็นเจ้าของแพลตฟอร์ม Java นั่นล่ะ)

ในส่วนของ Flex และ Thermo ก็เป็นการเอาใจทั้งนักพัฒนาและดีไซเนอร์ให้มากขึ้น เพื่อเรียกคนมาสร้างแอพพลิเคชันบน Flex/Flash/AIR ให้มากๆ จะได้เกิดตลาด ส่วนของดีไซเนอร์คงไม่มีอะไรเพราะ Adobe ได้เปรียบตรงเป็นเจ้าของ Photoshop และโปรแกรมตระกูล CS เองอยู่แล้ว แต่ส่วนของเครื่องมือสำหรับนักพัฒนานั้น Adobe (Flex Builder บน Eclipse) ยังตามทางไมโครซอฟท์ (Visual Studio) และซัน (NetBeans) อยู่บ้าง รอบนี้คงเริ่มใกล้เคียงกันมากขึ้น

สมรภูมิ RIA ซึ่งมีผู้เล่นคือ Adobe (Flex/Flash/AIR), ไมโครซอฟท์ (Silverlight), ซัน (JavaFX) และผมแอบแถมอีกอันคือ Mozilla (XUL) นั้น Adobe ซึ่งเป็นผู้นำตลาดอยู่ น่าจะนำไปอีกหลายช่วงตัวหลังจากออกโปรแกรมชุดนี้มา แถมยังมองไปถึงการท้าทายแอพพลิเคชันแบบ native บ้างแล้ว

Blognone Jobs Premium