Voice in the Gentle Wind

มิถุนายน 4, 2007

Screencast-o-Matic : แสดงให้เห็นถึงความสามารถเอกลักษณ์ของจาวา

Filed under: flex/apollo, java, javaFX, ria, simple thoughts — deans4j @ 4:03 am

ผมยังวนเวียนอยู่ในโลก RIA ไม่ยอมไปไหน ถ้าเปรียบเทียบเวบแอพลิเคชัน RIA แล้ว ความสามารถในการปฏิสัมพันธ์ระหว่างเบราว์เซอร์และเดสก์ทอปแบบไร้ตะเข็บถือเป็นเรื่องสำคัญ และเป็นข้อจำกัดอันเกิดจากแพลตฟอร์มที่อยู่เบื้องล่างไม่ได้ช่วยสนับสนุนอย่างเต็มที่ ความสามารถอย่างการลากวางไฟล์ในเครื่องสู่เวบแอพลิเคชันได้โดยตรง การเล่นกับฮาร์ดแวร์ในเครื่องลูกข่าย หรือความสามารถทำงานแบบโหมดออฟไลน กลายเป็นสิ่งที่เป็นไปไม่ได้เลย อย่างน้อยก็ ณ เวลานี้กับ AJAX เทคโนโลยี (ยกเว้นการทำงานโหมดออฟไลนถ้าคิด Google Gears) ลำพังต่อให้เป็น Flash/Flex ก็ตอบโจทย์บางข้อไม่ได้ จนทำให้ Adobe ต้องออก Apollo เป็นทัพเสริม

หันมามองทางฝั่งจาวาบ้าง กับเทคโนโลยีวันนี้ทีใครก็รังเกียจอย่าง Applet/Web Start กลับตอบโจทย์เหล่านี้ได้หมดอย่างไม่ยากเย็น ตัวอย่างการลางวางก็มีให้เห็นแล้วใน IRIS การเล่นกับฮาร์ดแวร์ก็ใช่จะเป็นเรื่องทำไม่ได้ การใส่ Derby ซึ่งเป็นฐานข้อมูลขนาดเล็กลงไปใน Java SE 6 ช่วยเติมเต็มให้แอพลิเคชันทำงานแบบโหมดออฟไลนได้ อีกทั้งการที่นักพัฒนาอุ่นใจได้ว่าทุกเครื่องอย่างน้อยก็มีฐานข้อมูลอยู่ในตัว เป็นการปฏิวัติการเขียนโปรแกรมบางประเภทให้ง่ายลง เพราะการโปรแกรมกับฐานข้อมูลเป็นเรื่องที่ใครก็ทำเป็นกันทั้งนั้น และสะดวกกว่าการมาบริหารการจัดการสถานะของข้อมูลเองเป็นไหนๆ

Screencast-o-Matic เป็นเวบที่อนุญาตให้เราสามารถทำ screencast หน้าจอเครื่องตัวเองอย่างง่ายๆได้จากภายในเวบโดยตรงผ่าน Java Applet (ถ้าไม่นับ JRE) ผู้ใช้ไม่ต้องติดตั้งโปรแกรมเพิ่มเติมเลยแม้แต่นิดเดียว  สามารถบันทึกภาพเคลื่อนไหวบนหน้าจอ+เสียงตัวเองแล้วอัพโหลดขึ้นเซิร์ฟเวอร์ หรือจะ export เป็น Quicktime movie แล้วบันทึกไว้ในเครื่องตัวเองก็ได้ การทำ screencast ไม่ได้กรอบตัวเองอยู่ในหน้าจอที่จำกัดของเบราเซอร์แต่อย่างใด กลับกัน ขอบเขตของมันไปไกลกว่านั้น เราสามารถลากแอพลิเคชันใดๆ เข้ามาในบริเวณที่ถ่ายทำได้อย่างไม่มีปัญหา โปรแกรมสามารถรับรู้ทุกอย่างที่ผ่านเข้ามาในหน้าจอนั้น เกม 3 มิติอย่าง WoW ยังถูกดักได้เลย อันเป็นการช่วยยืนยันความสามารถเอกลักษณ์ที่ไม่ซ้ำใครของพลังที่อยู่เบื้องใต้มัน

การที่จาวามี JRE เป็นแพลตฟอร์ม โดยไม่ยึดติดกับตัวเวบเบราว์เซอร์กลายเป็นสิ่งที่น่าเย้ายวนชวนหลงใหล และหาไ่ม่ได้ในเทคโนโลยีก่อนหน้านี้ Adobe คงรู้ดีถึงข้อจำกัดของตัวเองจึงทำให้เกิดโครงการ Apollo ขึ้นมาโดยออกแบบให้มีตัว runtime แยกต่างหากจาก Flash ซึ่งก็เสี่ยงอยู่เหมือนกัน ส่วนทางด้าน Silverlight ถ้าเข้าใจไม่ผิด แม้จะเด่นทางด้านมัลติมีเดีย แต่ยังห่างไกลนักถ้ามองไปที่ประเด็นเหล่านี้ กับการทำงานข้ามแพลตฟอร์มแบบแหว่งๆ และการจำกัดตัวเองอยู่ภายใต้กรอบของเบราว์เซอร์เท่านั้นจะเป็นกำแพงที่ขวางกั้นอันใหญ่อันเดียวกันกับที่ Flash เคยเผชิญมาก่อน แต่อาจจะดีหน่อยที่หนทางแก้น่าจะยังมี ในเมื่อ MS อาจจะใช้ความได้เปรียบจากการเป็นเจ้าของระบบปฏิบัติการณ์ที่ฮิตที่สุดในโลกเข้าช่วย ซึ่งเท่านั้นก็น่าจะเีพียงพอและพอใจ

ลองเล่นและดูตัวอย่างเดโมที่ Screencast-o-Metic ดักจับตัวเอง ตัวเวบยังไม่ได้ขัดเงาเรียบร้อยดี เท่าไหร่ แต่ถ้าพัฒนาต่อไปเรื่อยๆ ความง่ายและตรงตัวของมันน่าจะยังประโยชน์ให้กับอีกหลายๆ คนทีเดียว หนำซ้ำถ้ามีฟีเจอร์ช่วยในการตัดต่อเสริมเข้าไปน่าจะฮิตได้ไม่ยาก

อันนี้เป็นตัวอย่าง screencast ที่ผม cast บล่อกเอนทรี Extreme GUI makeover ของตัวเองเอาไว้ ทำไปเพื่อประชาชนคนไทยโดยเฉพาะ

Advertisements

12 ความเห็น »

  1. Silverlight วางตัวเองอยู่บนบราวเซอร์ เพราะนอก บราวเซอร์มีพี่ใหญ่อย่าง WPF อยู่แล้วครับ

    ความเห็น โดย wiennat — มิถุนายน 4, 2007 @ 11:16 am

  2. @wiennat – ผมคาดไว้อย่างนั้นอยู่แล้ว แต่ WPF ก็ทำงานได้แค่บนวินโดว์ส เลยชูประเด็นว่าการทำงานข้ามแพลตฟอร์มอาจจะมีปัญหา เพราะอย่างน้อยแอพลิเคชันที่ทำงานบน Mac อาจจะถูกทิ้งไว้ข้างหลัง ผมพูดอยู่ในประเด็นเวบแอพลิเคชัน ซึ่งขึ้นชื่อว่าเวบแอพลิเคชัน ไม่น่าจะมีใครถูกทิ้งไว้ข้างหลัง ไม่งั้นจะใช้เวบเป็นฐานไปทำไม?

    update : ลืมบอกไปว่าความต้องการพวกนี้ส่วนใหญ่มันไม่ใช่ความต้องการหลักของระบบ คือขาดไปก็ทำงานได้ แต่มันจะเห็นตะเข็บเท่านั้นเอง

    บอกไว้เผื่อคนไม่ทราบ MS Cross platform == All Windows (Vista, XP, 200x) + Mac OS

    ความเห็น โดย deans4j — มิถุนายน 4, 2007 @ 11:46 am

  3. กลับมาเมื่อไหร่ครับ จะจัดงาน NJUG ครั้งที่สาม

    ความเห็น โดย roofimon — มิถุนายน 4, 2007 @ 11:53 am

  4. blog นี้เปรียบเทียบ 3 มาตรฐาน(Apollo Silverlight Google Gears) ในแง่ของการทำงานแบบ offline ครับ
    http://alexiskold.wordpress.com/2007/06/01/ria-what-is-it-good-for/

    ความเห็น โดย parasite — มิถุนายน 4, 2007 @ 1:20 pm

  5. @roofimon ปลายๆ เดือนพี่

    @parasite ขอบคุณครับ อ่านแล้วผมว่าเค้าพลาดจุดสำคัญไป เห็นแต่ไปเน้นพูดเรื่อง offline โหมดอย่างเดียว (แต่ผมก็เพิ่งรู้ว่า silverlight ก็ทำได้ด้วย) อันที่จริง RIA นิยามตัว R ก็บอกอยู่แล้วว่าต้องการความร่ำรวยในส่วนแสดงผลและการปฏิสัมพันธ์เพื่อยกระดับมิตรภาพที่ดีของผู้ใช้ให้สูงขึ้น
    ผมเห็นตรงกันข้ามกับเค้า ผมมองว่าเทคโนโลยีของ Apollo ดีที่สุดหากเปรียบเทียบกันระหว่าง Apollo, Silverlight, Google Gears แต่นั่นก็วางอยู่บนมุมมองนักพัฒนา

    ผมมองว่ามีอะไรในความร่ำรวยให้สนใจนอกจากความสามารถทำงานได้ในโหมด offine อีกเยอะ การติดต่อกับฮาร์ดแวร์, file system, สนับสนุน drag & drop, UI ที่สวยงามเป็นมิตรเทียบเท่า desktop app เรื่องพวกนี้สำคัญไม่แพ้กัน

    เค้าไปมองว่า offline โหมดไม่มีความสำคัญเท่าไหร่ เพราะคิดว่าทุกคนก็น่าจะมีเนตใช้กันหมดอยู่แล้ว จะมีประโยชน์อะไรคนเราไม่ได้อยู่บนเครื่องบินตลอดเวลา แต่ผมมองว่าการสนับสนุน offline โหมดได้เป็นหนึ่งในความต้องการลบคำสบประมาท web app RIA ที่มักถูกมองว่า “เจ๊งแน่ถ้าเนตหลุด” ซึ่งเป็นข้อบกพร่องที่ desktop app ใช้เป็นข้ออ้างโจมตีเสมอมา ข้อดีเสริมจากนั้นก็คือมันมักจะอยู่ในรูปฐานข้อมูล ซึ่งอาจจะได้ใช้ประโยชน์จากจุดนี้ อีกตัวอย่างของ IRIS แสดงให้เห็นว่าเราสามารถแก้ไขตกแต่งรูปภาพได้โดยตรงจากเวบเบราว์เซอร์ของเครื่อง client โดยไม่จำเป็นต้องมี round trip กลับไปที่เซิร์ฟเวอร์เลย แต่ตัวอย่างนี้ อย่างที่ต้องการชี้ให้เห็น มันเป็นความสามารถเอกลักษณ์ของจาวา ซึ่งใช้ข้อดีของแพลตฟอร์มที่มีไลบรารี่ Java2D อยู่ในตัวให้เรียกใช้โดยตรง ส่งผลให้ประสบการณ์ของผู้ใช้ก็ดีขึ้น ประสิทธิภาพโดยรวมก็ดีขึ้น

    ความเห็น โดย deans4j — มิถุนายน 4, 2007 @ 4:18 pm

  6. ตอนนี้กูใช้ Applet (AWT) อยู่
    ไงกูก็ไม่ชอบมันว่ะ T_T

    ความเห็น โดย plynoi — มิถุนายน 4, 2007 @ 10:57 pm

  7. @plynoi – กูก็ไม่ได้ชอบมันว่ะ แต่ไม่ได้รังเกียจ ถ้าใช้แล้ว make sense ก็ใช้

    ความเห็น โดย deans4j — มิถุนายน 5, 2007 @ 6:54 am

  8. อยากจะหลอกมาพูดสักเรื่องในงานได้หรือไม่น้อง

    ความเห็น โดย roofimon — มิถุนายน 5, 2007 @ 10:22 am

  9. ก็ถ้า Silverlight support Mac จริงแล้วทำไมต้องกลัวว่า app ของ mac จะโดนทิ้งไว้ข้างหลังล่ะครับ น่าจะเป็น lnux มากกว่าเพราะ ตอนนี้ silverlight ยังรันบน linux ไม่ได้

    ถ้าพูดถึงเรื่องไร้ตะเข็บ ตรงจุดนี้ Microsoft น่าจะผลักไปให้ developer หันไปเขียน Cocoa ล่ะมั้ง

    ความเห็น โดย wiennat — มิถุนายน 5, 2007 @ 11:29 am

  10. @roofimon – ให้น้องแป้งมาชวนสิแล้วจะพูด (บอกรักน้องเค้า)

    @wiennat – ผมหมายถึงเรื่องตะเข็บบน Mac นั่นแล ซึ่งอาจจะไม่ใช่เรื่องใหญ่สำหรับบางคนและ MS

    แต่จะผลักให้ dev ไปเขียน Cocoa ก็ไม่ใช่ web app และแนวทางของ MS นิ 🙂

    ความเห็น โดย deans4j — มิถุนายน 5, 2007 @ 2:56 pm

  11. กำเอาน้องแป้งเลยหรอ เอาพี่ป๊อกไปก่อนได้ป่ะ

    ความเห็น โดย roofimon — มิถุนายน 5, 2007 @ 5:33 pm

  12. @roofimon – คนละขั้วกันเลยนะนั่น O_o พี่ชวนพี่อ๊อดด้วยดิ

    ความเห็น โดย deans4j — มิถุนายน 6, 2007 @ 8:40 am


RSS feed for comments on this post. TrackBack URI

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

สร้างเว็บไซต์หรือบล็อกฟรีที่ WordPress.com.

%d bloggers like this: