Voice in the Gentle Wind

ธันวาคม 12, 2007

ซันเปิดตัว Project SceneGraph

Filed under: javaFX, ria — deans4j @ 7:17 am

ซันประกาศโอเพนซอร์สโครงการ SceneGraph โดยมันจะถูกนำมาใช้เป็นเอนจิ้นการทำ scene-graph ใน JavaFX Script

ความสามารถการทำ scene-graph เป็นคุณสมบัติที่สำคัญในงานแสดงผลกราฟิก เรามักจะพบเห็นการประยุกต์ใช้ scene-graph ในเกมยุคใหม่หรือการทำงานร่วมกับรูปภาพเวกเตอร์อยู่ทั่วไป อธิบายพอสังเขป scene-graph เป็น data structure แบบหนึ่ง มักนำเสนอในรูปแบบต้นไม้ (Tree) จะมีโหนดต่างๆ ซ้อนอยู่ภายใน การกระทำที่เกิดขึ้นกับโหนดกราฟิกรูปภาพใดๆ จะส่งผลกระทบต่อโหนดลูกของมันเสมอ ยกตัวอย่างในทางปฏิบัติ การโปรแกรม Swing ถือว่าใช้เทคนิก scene graph แบบง่ายๆ ภายใน container จะมี component ลูกซ้อนอยู่ เมื่อกระทำอะไรกับ container (ขยาย, หด, เปิดปิดการแสดงผล) จะส่งผลกระทบต่อไปยัง component ที่เป็นโหนดลูกของตัวเองเสมอ (ขยาย ยืดหด แสดงผลตาม)

ประโยชน์ของการทำงานในมุมมอง scene-graph จะช่วยให้เราโปรแกรมในมุมมองระดับที่สูงกว่า (เช่น การเล่นกับเอฟเฟกต์ โดยบอกให้โหนดนั้นหมุนเอียง 45 องศา ภายใน 2 วินาที โดยมีความเร่งเท่ากับ 2 หน่วย แทนการกำกับการวาดภาพใหม่ทั้งหมดทีละขั้นตอน) การนำเทคนิก scene-graph มาใช้ไม่ใช่เรื่องใหม่แต่อย่างใด ใน Swing มีโปรเจกต์ Timing Framework ที่ถูกออกแบบมาให้ช่วยแก้ปัญหานี้กับ Swing component โดยเฉพาะ ส่วนโปรเจกต์ SceneGraph จะใช้หลักการเดียวกันแต่ (ปัจจุบัน) สามารถประยุกต์ใช้กับกราฟิก 2D รูปภาพ หรือข้อความอื่นๆ ได้ด้วย โดยไม่ต้องฝังเทคนิก scene-graph ลงในสถาปัตยกรรม (physically) เหมือน Swing แต่ใช้ในรูปแบบมุมมองการคิดตามตรรกะ (logically) เพื่อความยืดหยุ่นในการปรับมุมมองและการประยุกต์ใช้เทคนิกขั้นสูงอื่นๆ กับโหนดต่างๆ ได้ง่ายกว่า

ก่อนหน้านี้ JavaFX Script ภายในใช้ Jazz เป็น scene-graph เอนจิ้น แต่เนื่องจาก Jazz หยุดการพัฒนาไปแล้ว และทีมงานต้องการใช้ประโยชน์เต็มที่จากอุปกรณ์กราฟิกฮาร์ดแวร์ และคุณสมบัติพิเศษที่มีใน 3D เอนจิ้นที่อยู่เบื้องล่าง (Direct3D, OpenGL) เลยเป็นที่มาของการสร้าง SceneGraph ขึ้นมาเอง

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

ที่มา – Project SceneGraph

[update – จากที่พิจารณาอีกทีแล้วพบว่า Timing Framework แม้มันจะช่วยให้การสร้างเอฟเฟกต์ต่างๆ ง่ายขึ้นเยอะ (กำกับแต่เฉพาะว่าต้องการให้วาดอะไร ไม่ต้องบอกวิธีวาดอย่างไร) แต่ก็ยังไม่ได้โปรแกรมในมุมมองที่เป็น scene ยังคงวาดไปตรงๆ ซ้ำๆ ทุกครั้งที่ต้องการ ซึ่งถ้าเป็น scene-graph จริงๆ แล้วแต่ละ scene จะต้องถูกบันทึกไว้เป็นช็อตๆ แล้วเราโปรแกรมกับแต่ละ scene ได้ เท่าที่ไล่ดู API และตัวอย่างการใช้ SceneGraph แล้วพบว่ามันครอบ Timing Framework ไว้อีกชั้นนี่เอง เจ๋งมากๆ!!! ]

Advertisements

พฤศจิกายน 8, 2007

Android : แพลตฟอร์มมือถือแห่งอนาคต

Filed under: javaFX — deans4j @ 3:44 pm

ชัดเจนแล้วครับกับการประกาศแผนบุกตลาดมือถือของกูเกิล จากที่ปล่อยให้ลือกันมานาน[1]สิ่งที่คนสงสัยก็ได้คำตอบแล้ว

มันคือ Android ที่ทำงานเป็นแพลตฟอร์มเปิดให้พันธมิตรในกลุ่ม Open Handset Alliance นำไปใช้งาน เท่าที่รู้มาสถาปัตยกรรมจะคล้ายกับ JavaFX Mobile ที่มี Java/Linux อยู่ข้างล่าง ตัว SDK ยังไม่เป็นที่แน่ชัดว่าเป็นแบบไหน รองรับกี่ภาษากันแน่

ที่เป็นที่พูดถึงกันอีกเรื่องคือซันไม่มีชื่อในกลุ่ม OHA ทำให้คนสงสัยความสัมพันธ์นี้ แต่ท่าทางโจนาธานจะรู้ไต๋ เลยชิงเขียนบล่อกแสดงความยินดีกับกูเกิล+JBoss ตัดหน้าเพื่อสยบข่าวลือที่จะเกิดขึ้นได้ในอนาคต สรุปจากที่ลือๆ กัน ส่วนที่ Android จะต่างกับ JavaFX Mobile มีดังนี้

  • Java ME vs. Java SE คาดการณ์ว่า Android จะมี SDK ระดับเดียวกับ Java ME เท่านั้น
  • Vector-based Graphic vs. Java2D
  • Apache v2 license vs. GPLv2 license

ดูเหมือนซันจะก้าวช้าไปหนึ่งก้าวเสมอ ลือกันว่าสาเหตที่ซันโดดจับรถไฟขบวนนี้ไม่ได้เนื่องจาก license ที่กูเกิลเลือกใช้ไม่เข้ากันกับ GPLv2 ซึ่งในอนาคตเราอาจจะได้เห็น Java มีการขยับ License อีกรอบเป็น GPLv3 ที่แข็งกว่าและเข้ากันได้กับ Apache license ก็เป็นได้

พักหลังตลาดมือถือแสดงท่าทีว่าจะกลับมาคึกคักอีกรอบ ความหวัง GTalk/VoIP กำลังจะเป็นจริง รายละเอียดของ OHA และ Andriod จะไม่เป็นความลับอีกต่อไปหลังจากวันที่ 12 เดือนนี้ โปรดติดตาม

ที่มา – OHA : Android overview

ตุลาคม 2, 2007

Java SE 6 update N (Consumer JRE) เปิดให้เข้าถึงล่วงหน้า

Filed under: java, javaFX — deans4j @ 3:14 am

โครงการ Java SE 6 update N หรือชื่อเดิม Consumer JRE (เปลี่ยนชื่อได้เห่ยมาก) เปิดให้เข้าถึงกันล่วงหน้าแล้ว ตามหมายแล้ว 6uN จะออกเมื่อ N == 4 (update : n มีความเป็นไปได้ว่าจะเป็น 5) ตอนนี้เลยเปิดให้ผู้ที่สนใจลองเข้าใช้ดูก่อน

ฟีเจอร์ในตัว 6uN ผมพูดถึงบ่อยแล้ว แต่มีอีกเรื่องที่ไม่ค่อยได้พูดเท่าไหร่คือ ใน 6uN น่าจะเปิดความสามารถ Hardware Acceleration มาแต่ต้น ซึ่งตั้งแต่ JavaSE 6 ออกมา จาวามีฟีเจอร์ต่อท่อ OpenGL pipeline ให้การ์ดจอช่วยประมวลผลการแสดงผลอยู่แล้ว แต่ไม่ได้เปิดไช้เป็นค่าตั้งต้น สาเหตอาจเป็นเพราะ Direct3D pipeline ขณะนั้นยังไม่เสร็จก็เป็นได้ แต่ใน 6uN Direct3D pipeline จะเสร็จสมบูรณ์ แล้วน่าจะถูกตั้งค่าให้พร้อมใช้ตั้งแต่ติดตั้ง โปรแกรม Swing หรือแอพลิเคชัน 2D และ 3D จะได้รับผลประโยชน์เต็มๆ จากการโยนหน้าที่การประมวลผลการแสดงผลให้การ์ดจอแบ่งเบาภาระ

ใครมีเครื่องว่างไม่ได้ใช้จาวาทำงานหาเงินลองโหลดมาเล่นได้แล้ว

ที่มา – OpenJDK

กันยายน 5, 2007

Google Phone ใช้ JavaFX Mobile?

Filed under: javaFX, simple thoughts — deans4j @ 5:37 am

ลือกันให้แซ่ดว่ากูเกิลทำมือถือ แต่สิ่งที่น่าสนใจก็คือรายละเอียดของมันนี่แหละ

เวบ lastest-mobile.com อ้างอิงจากแหล่งข่าวที่น่าเชื่อถือ ว่า Google Phone

  • ทำงานบน Linux โดยสามารถรัน JVM ได้ในตัว
  • ทุกๆ แอพลิเคชันเขียนจากจาวา สามารถเล่นไฟล์มัลติมีเดียรวมทั้งคลิปวิดีโอ
  • ส่วน UI จะเหมือนมือถือทั่วไปที่ตอบสนองได้รวดเร็ว เขียนด้วยจาวา ที่ขาดไม่ได้ก็ต้องมีช่อง search ข้อมูล
  • ส่วนด้านเวบบราวเซอร์ว่ากันว่าจะมีลักษณะคล้าย iPhone แต่มีการรายงานเป็นสองกระแสถึงที่มาที่ไป กระแสที่หนึ่งบอกว่าเขียนด้วยจาวา อีกกระแสหนึ่งบอกว่าใช้ WebKit core ตัวเดียวกับที่เป็นตัวขับเคลื่อน Safari ใน iPhone

อ่านแล้วคุ้นๆ หรือเปล่า? เหมือนจะมีโอกาสเป็น JavaFX Mobile แต่ก็ไม่แน่อีกเหมือนกันเพราะอย่างกูเกิลซะอย่าง เรื่องคิดนอกกรอบ จะทำอะไรของตัวเองขึ้นมาก็ไม่เหนือบ่ากว่าแรง อาจเป็นผลงานต่อเนื่องจากเข้าซื้อเทคโนโลยีที่คล้ายกันอย่าง Android ผสมกับ RegWireless บริษัททำโมบายแอพลิเคลชั่นและ Skia ที่ทำ vector-based presentation เอนจิ้นขนาดเล็กมากก็ได้

ที่มา – lastest-mobile.com

กรกฎาคม 25, 2007

JavaFX Compiler เปิดตัว

Filed under: java, javaFX — deans4j @ 3:31 am

ค้างข่าวไว้เยอะและเห็นเรียกร้องกันมาก เลยเอาข่าว JavaFX ขึ้นก่อน ตอนนี้ที่ดังสุดก็เจ้าตัว compiler ที่จะใช้คอมไพล JavaFX Script ไปเป็น java byte code นั่นเอง

ปัจจุบันตามที่เคยบอกไป JavaFX Script ยังใช้หลักการ interpret ตรงๆ ทำให้ไม่ได้ใช้ประโยชน์จาก HotSpot เลย ซึ่งก็เป็นไปตามธรรมชาติของการพัฒนาโปรแกรมที่อยู่ในขั้นแรกเริ่ม super alpha ที่ยังไม่ถึงเวลาจะสนใจประเด็นเรื่องการปรับแต่ง performance เท่าไหร่นัก ผลของการ benchmark เทียบกับคู่แข่งที่ออกตัวก่อนอย่าง Silverlight และ Flex เลยสู้ไม่ได้

JavaFX Compiler เพิ่งอยู่ในขั้นฟักไข่ไม่ต่างกัน แต่ Chris Oliver ก็ได้ทดลอง benchmark เล็กๆ โดยเปรียบเทียบฟังค์ชันทาเคชิ เพื่อทดสอบประสิทธิภาพ ผลออกมา JavaFX ที่ผ่านการคอมไพล์เร็วกว่าเดิม 54x

นอกจากนี้ที่เวบ OpenJFX ยังอัปเดตเครื่องไ้ม้เครื่องมือ เอกสารและ demo ใหม่ๆ ออกมาเรื่อยๆ สนใจลองตามกันดู

ที่มา – Chris Oliver’s Blog, OpenJFX

มิถุนายน 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 เป็นทัพเสริม

(more…)

พฤษภาคม 25, 2007

JFXBuilder : The World’s first JavaFX Graphical Editor

Filed under: java, javaFX — deans4j @ 1:51 am

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

JFXBuilder กลายเป็นเครื่องมือแรกที่เป็นโหมดกราฟิกให้วาดรูปโพลิกอนง่ายๆ และลากวางซวิงคอมโพเนนต์ เท่าที่ลองเล่นดูแม้ความสามารถด้านอนิเมชันเคลื่อนไหวยังใช้การไ่มได้ แต่โดยทั่วไปแล้วมีลูกเล่นเก่งกว่า MS Paint พอตัว แต่จะให้ไปเอาไปทำอะไรจริงจังๆ คงทำอะไรไม่ได้มากนัก แต่อย่างน้อยก็คงดีกว่า JavaFXPad ที่เป็นปลั๊กอินใน Eclipse หรือ NetBeans (อันที่จริง JFXBuilder ฝัง JavaFXPad มาในตัวด้วย)

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

10,000 คำคงไม่สามารถอธิบายได้เท่าหนึ่งรูป ลองเล่นกันดูเอง

ที่มา – Report Mill

พฤษภาคม 10, 2007

JavaOne 2007 webcast ย้อนหลังมาแล้ว

Filed under: java, javaFX — deans4j @ 2:56 am

พลาด keynote เมื่อวาน อยากฟัง technical session? รวดเร็วทันใจดีจริงๆ

updated : หลังจากดูช่วง keynote จบไปแล้ว ถือว่าเป็น javaOne ที่ตะกุกตะกักทีเดียว แม้แต่ชื่อ JavaFX Script ยังตั้งได้ไม่ดีเลย ยิ่งส่วน JavaFX Mobile นี่ของร้อนสุดๆ บั๊กเยอะ และไม่กล้าที่จะโชว์มากจริงๆ

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

JavaFX Script ตัวภาษาถือว่าสอบผ่าน แหวกแนวดี เพราะ FLEX, SVG, XAML ต่างก็เลือกใช้ XML เป็นฐาน แต่ JavaFX Script ใช้ลักษณะการประกาศเหมือน CSS+JavaScript Prototype มากกว่า ภาษาจะเลิศแค่ไหน แต่กุญแจดอกที่สำคัญกว่าจะอยู่ที่เครื่องมือช่วยสร้างที่ต้องออกแบบมาให้เหมาะกับครีเอทีฟ ดีไซเนอร์ ทำงานได้ หรือถ้าพูดให้ตรงประเด็นกว่านั้นก็ต้องให้ไอ้จ๊อด เด็กม.ปลายข้างบ้านที่เขียนโปรแกรมไม่เป็น วันๆ ถ้าไม่ตี dotA ก็เอาแต่นึกสนุกทำอะไรแผลงๆ สามารถจะใช้เครื่องมือนี้ทำกราฟิกเท่ๆ สำหรับเวบบล่อกของแก๊งหน้าปากซอยของมันได้

(more…)

พฤษภาคม 9, 2007

ฟังโจนาธานเล่าถึง JavaFX

Filed under: java, javaFX — deans4j @ 7:39 am

กลายเป็นคีย์ของวันไปแล้วสำหรับ JavaFX รู้สึกเหมือนซันจะรับรู้ถึงสิ่งที่ผมกังวลอยู่แหะ ลองอ่านโจนาธาน CEO ของซันบล่อกถึง JavaFX แล้วเพลินดี ลายเซนต์ยังอ่านแล้วพลิ้วสวยดีเหมือนเดิม ฟังสัมภาษณ์ก็เห็นภาพ

คำถามถัดมาที่ยังรอการไขกระจ่างอยู่คือ “แล้ว Project Flair คืออะไรกันแน่?”

Day 0 Summary

Filed under: java, javaFX — deans4j @ 3:31 am

ผมขอสรุปคร่าวๆ จากไซต์หลายแห่งที่ได้รวบรวมมา

Opening Session

ความลับต่างๆ เริ่มถูกเปิดเผยมากขึ้นตามคาด เริ่มต้นงาน CommunityOne ด้วย opening Session ที่ปล่อยให้คนดังต่างๆ มาร่วมพูดคุยกัน Rich Green เชิญ Tim Oreilly มาด้วย

คำถามแรกถูกยิงไปยังผู้ชมว่า “มีกี่คนในห้องนี้ใช้ Linux” 80% ของห้องยกมือขึ้น ไม่รอช้าคำถามต่อไปก็ตามมาทันที “แล้วมี่กี่คนในห้องนี้ที่ใช้ Google” ไม่น่าแปลกใจที่ 90% ของห้องยกมือขึ้น

ทิมชี้ให้เห็นว่า Google ต่างหากที่เป็นแอนพลิเคชันที่ถูกติดตั้งมากที่สุด ไม่ใช่ซอฟต์แวร์โอเพนซอร์สตามที่มันควรจะเป็น ทิมชี้ให้ดูตัวอย่างของ Yahoo, Google, eBay, craiglist, wikipedia ต่างก็ใช้เน็ตเวิร์คเป็นแพลตฟอร์ม ซึ่งสอดคล้องกับสิ่งที่ซันได้เคยพูดไว้แล้วว่า “เน็ตเวิร์คต่างหากที่เป็นคอมพิวเตอร์”

ทิมเล่าถึงคอนเซปต์ web 2.0 ตามที่เค้าถนัด และได้เชิญ Rich Green, Tim Bray, Ian Murduck เพื่อมาถกประเด็นที่น่าสนใจหลายข้อ เช่น

  • คุยกันถึงอนาคตของซันกับจาวา
  • จาวากับโอเพนซอร์ส
  • web 3.0 จะเป็นอย่างไร
  • ซันคิดอย่างไรกับภาษาและเทคโนโลยีใหม่ที่กำลังเกิดขึ้น และจาวาจะมีส่วนเกี่ยวข้องอย่างไร
  • แล้วกรณี client side อย่าง Flash ละ ทำไมจาวาถึงล้มเหลว

คำตอบน่าสนใจมาก ถึงแม้บางเรื่องจะฟังแล้วซ้ำๆ รู้ทิศทางคำตอบอยู่แล้ว แต่การฟังคนดังพูด แม้จะผ่านตัวอักษรไม่กี่คำ ก็เป็นเรื่องชวนหลงไหลอยู่เหมือนกัน

javaOne ยังไม่เริ่มต้นดี คำถามหลายข้อคงถูกเก็บเอาไว้ถามในวันนี้แทน แต่กระแสข่าวลือบางเรื่องก็สะพัดไปทั่วงานเช่นกัน

(more…)

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