รายงาน Google Developer Day 2008 ตอนที่ 1

by mk
18 September 2008 - 09:54

ผมมีโอกาสได้ไปงาน Google Developer Day 2008 ของสหราชอาณาจักร ซึ่งเป็นส่วนหนึ่งในทัวร์ Google Developer Day นอกสหรัฐอเมริกาประจำปีนี้ งานจัดที่สนามกีฬา Wembley เมื่อวันที่ 16 กันยายนที่ผ่านมา

ตารางสัมมนาดูได้จากหน้า agenda ครับ งานนี้กูเกิลทุ่มทุนสร้าง จ้างคนมาอัดวิดีโอเก็บไว้ทุกห้อง และทยอยอัพโหลดขึ้น YouTube ให้คนไม่ได้ไปได้ดูกัน

สำหรับตอนแรกของรายงานนี้ จะพูดถึง Keynote และวิสัยทัศน์ของกูเกิล ส่วนรายละเอียดของแต่ละ session ย่อยที่ผมเข้าฟัง จะตามมาในตอนต่อๆ ไป

วิดีโอของ Keynote ออนไลน์ให้ดูกันแล้ว ถ้าใครอยากดูเวอร์ชันเต็มก็ดูกันได้เลย

แต่ถ้าขี้เกียจดู อันนี้เป็นสรุปเวอร์ชันของผมเอง

เนื้อหาในงานจะใกล้เคียงกับงาน Google I/O 2008 ที่จัดไปเมื่อเดือนพฤษภาคมที่สำนักงานใหญ่ของกูเกิล เพียงแต่อัพเดตเทคโนโลยีให้ทันสมัยตามสายผลิตภัณฑ์ (เช่น Chrome)

วิสัยทัศน์ของกูเกิลยังคงเดิม

Client, Connectivity, Cloud

ใน Keynote คนของกูเกิลได้ขยายความประโยคข้างต้นไว้ดังนี้

  • Make the client more powerful
  • Make the cloud more accessible
  • Keep connectivity pervasive

Client

client ในที่นี้ไม่มีอื่นใดนอกจาก "เบราว์เซอร์" กูเกิลบอกว่าตัวเองนั้นโตมาจากเว็บ เว็บจึงเป็นแพลตฟอร์มเพียงอันเดียวที่กูเกิลรู้จัก นอกจากนี้ข้อดีของเว็บยังมีเรื่อง deployment ซึ่งทุกคนมีเบราว์เซอร์อยู่แล้ว ไม่ต้องติดตั้งอะไรเพิ่มให้ยุ่งยาก (เหมือนกับ Silverlight หรือ AIR)

แต่เบราว์เซอร์ก็มีข้อเสียในเรื่องฟีเจอร์ โดยเฉพาะถ้านำไปเทียบกับแอพพลิเคชันแบบ native หรือ Flash/AIR/Silverlight ซึ่งที่ผ่านมา เบราว์เซอร์ได้พัฒนาขึ้นเรื่อยๆ เช่น มีแนวคิด CSS เพิ่มเข้ามา หรือมี XMLHttpRequest เป็นต้น ปัญหาคือมันยังพัฒนาเร็วไม่พอ เทคโนโลยีรุ่นต่อไปคือ HTML 5 นั้นยังมาไม่เร็วนัก

ดังนั้นทางออกของกูเกิลจึงต้องหันไปจับฝั่งเซิร์ฟเวอร์แทน ซึ่งก็คือ cloud computing นั่นเอง แต่การช่วยให้ cloud ทำงานได้ราบรื่น ฝั่งไคลเอนต์ก็ต้องดีด้วย จึงเป็นเหตุผลให้พัฒนา Chrome

รายละเอียดของ Chrome คิดว่าทุกคนคงรู้กันหมดแล้ว ไม่เขียนซ้ำนะครับ (ถ้าไม่รู้อ่าน รีวิว Chrome ให้ดูกัน)

จิ๊กซออีกชิ้นของกูเกิลคือพัฒนาเทคโนโลยีเว็บในส่วนที่ไม่ใช่ HTML ให้พัฒนาขึ้น (เพราะ HTML ต้องรอ W3C) ซึ่งมันออกมาเป็น Gears

สิ่งที่ Gears เพิ่มความสามารถให้กับเว็บคือ

  • เว็บแอพพลิเคชันสามารถเก็บข้อมูลแบบออฟไลน์ได้
  • มีฐานข้อมูลให้ใช้
  • ระบบการ sync ข้อมูลระหว่างเครื่องของเรากับเซิร์ฟเวอร์

ใน Gears 0.4 ยังมีของเล่นใหม่ๆ เพิ่มมาให้อีกจำนวนหนึ่ง

ปัญหาที่สำคัญที่สุดของ Gears คือมันไม่เป็นมาตรฐานเหมือนกับ HTML ปกติครับ เราอาจมองได้ว่ามันเป็น "ส่วนขยาย" ของ HTML เวอร์ชันของกูเกิลเอง (เหมือนกับ Adobe มี Flash หรือ Microsoft มี Silverlight) ถึงแม้ว่ามันจะโอเพนซอร์ส มันก็ไม่ใช่มาตรฐานกลาง และผู้ใช้ต้องติดตั้ง Gears ก่อนจึงจะใช้งานได้ นักพัฒนาจึงต้องคิดหนักพอสมควรว่าควรพัฒนาแอพพลิเคชันด้วย Gears หรือเปล่า เพราะคนยังใช้น้อย

กูเกิลจึงต้องทำทุกทางให้คนใช้ Gears เยอะๆ ไม่ว่าจะเป็นฝั่งผู้ใช้หรือฝั่งนักพัฒนา ตอนนี้ 4 ใน 5 เว็บเบราว์เซอร์หลักของโลกสนับสนุน Gears คือ IE, Firefox, Safari (Gears เพิ่งออกเวอร์ชัน Safari) และแน่นอน Chrome ส่วน Opera นั้นบอกว่ากำลังทำ

แต่เบราว์เซอร์ที่มาพร้อมกับ Gears มีเพียงตัวเดียวเท่านั้นคือ Chrome ก็ต้องดูว่ากูเกิลจะทำอย่างไรให้คนมาใช้ Gears เยอะๆ จะได้เป็นแรงจูงใจให้เกิดแอพพลิเคชันที่สนับสนุน Gears มากขึ้น

สรุป: Client = Chrome + Gears

Cloud

เว็บแอพพลิเคชันได้รับความนิยมสูงมากในระยะหลัง แต่ปัญหาก็คือการสร้างเว็บแอพพลิเคชันที่รองรับโหลดได้มากนั้นต้องลงทุนสูง ทั้งในแง่เม็ดเงินและความเชี่ยวชาญ
ในเมื่อกูเกิลมีโครงสร้างด้านเซิร์ฟเวอร์สำหรับ cloud พร้อมอยู่แล้ว ยุทธศาสตร์ของกูเกิลจึงเป็นการช่วยให้นักพัฒนารายย่อย "เข้าถึง" cloud ของกูเกิลได้ง่ายขึ้น

ยุทธศาสตร์ Cloud จึงแบ่งออกเป็น 2 ส่วน

ส่วนแรกคือทำให้นักพัฒนา เข้าถึงเว็บแอพพลิเคชันของกูเกิล ได้ง่ายขึ้น ซึ่งทางออกของมันคือ API นั่นเอง ปัจจุบันกูเกิลมี API 2 แบบคือ Google Data API (read/write) กับ Google AJAX API (read only) จำนวนคนใช้ก็ตามภาพ โตขึ้นอย่างรวดเร็ว

ส่วนที่สองคือทำให้นักพัฒนา สร้างแอพพลิเคชันของตัวเองบนเซิร์ฟเวอร์ของกูเกิล ได้ง่ายขึ้น มันคือ App Engine นั่นเอง

รายละเอียดของ App Engine ดูในตอนเก่าๆ นะครับ งานนี้ไม่มีประกาศอะไรใหม่เพิ่ม แถมหลายคนแถวนี้ใช้ App Engine กันไปเยอะแล้วคงคุ้นเคยกันดี

สรุป: Cloud = Google API + App Engine

Connectivity

ในเมื่อโลกของกูเกิลนั้นเป็นโลกของเว็บ เว็บรันอยู่บนเซิร์ฟเวอร์ (cloud) ปัญหาที่ตามมาคือ ทำอย่างไรผู้ใช้จึงจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ได้ตลอดเวลาไม่ว่าจะอยู่ที่ไหน (pervasive connectivity) คำตอบคือ มือถือ!!

กูเกิลมองว่า แพลตฟอร์มมือถือที่มีอยู่นั้นมีส่วนที่ไม่โอเพนซอร์สอยู่มาก จึงต้องการสร้างแพลตฟอร์มมือถือที่เป็นโอเพนซอร์สอย่างแท้จริงขึ้นมา ซึ่งก็คือ Android

(รายละเอียดของ Android ผมเคยเขียนไว้แล้วใน Android Developer Challenge - โอกาสทองของเด็กไทย)

จากนั้นคนของทีม Android ก็ขึ้นมาพูดบนเวที และโชว์เครื่อง Android ของจริง ซึ่งเขาบอกว่าเป็นครั้งแรกที่กูเกิลโชว์ต่อสาธารณะชน (ไม่รวมภาพหลุด) ผมเขียนเป็นตอนแยกไว้แล้วใน ภาพชุด: มือถือต้นแบบ Android

สรุป: Connectivity = Android

เทคโนโลยีอื่นๆ

นอกจากนี้ใน Keynote ยังพูดถึงเทคโนโลยีเสริมอื่นๆ อีก 2 ตัวที่จะช่วยให้ฝัน 3C ของกูเกิลเป็นจริง

อย่างแรกคือ GWT (เค้าอ่านว่า "กวิท" ผมก็เพิ่งรู้เหมือนกัน) ซึ่งมันจะช่วยให้การพัฒนาเว็บแอพพลิเคชันที่เป็น AJAX/JavaScript ทำได้ง่ายขึ้น โดยอาศัยเครื่องมือของฝั่ง Java ที่พัฒนาไปมากแล้ว (เช่น IDE หรือ Debugger) เข้ามาช่วย เป็นการลดระยะเวลาในการพัฒนาเว็บแอพพลิเคชันให้สั้นลง

อย่างที่สองคือ OpenSocial

OpenSocial มีความสำคัญต่อกูเกิลคือ ทำให้เว็บแอพพลิเคชันที่ (กูเกิลหรือเรา) จะสร้าง มีความเป็น "social" มากขึ้น โดยนักพัฒนาไม่ต้องมาเสียเวลามานั่งพัฒนาฟีเจอร์ด้านนี้เอง แต่อาศัย API ของ OpenSocial ซึ่งมีพันธมิตรเป็น social network ดังๆ หลายราย (ยกเว้น Facebook) มาให้เรียบร้อยแล้ว

นอกจากนี้ OpenSocial ยังมี implementation ต้นแบบชื่อ Shindig ซึ่งเป็นโครงการลูกของ Apache Incubator

กูเกิลจะได้อะไร?

วัฎจักร 3C: Client, Connectivity, Cloud นี้ ช่วยให้กูเกิลรวยขึ้นครับ คนพูดตอบแบบตรงไปตรงมา

เป้าหมายของกูเกิลคือถ้าเว็บแอพพลิเคชันพัฒนาขึ้น มีคนเข้าเว็บเยอะขึ้น เข้าได้จากทุกที่ทุกเวลา โฆษณาของกูเกิลก็จะถูกแสดงมากขึ้น และกูเกิลก็จะรวยขึ้น

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

ปิดท้ายด้วยภาพเทคโนโลยี "เรือธง" ของกูเกิล รายละเอียดของแต่ละตัวไปว่ากันตอนหน้า

Blognone Jobs Premium