JavaFX - ภาพรวม
Rich Internet Applicationsคือเว็บแอปพลิเคชันที่ให้คุณสมบัติและประสบการณ์คล้ายกับแอปพลิเคชันเดสก์ท็อป พวกเขามอบประสบการณ์การรับชมภาพที่ดีขึ้นเมื่อเทียบกับเว็บแอปพลิเคชันทั่วไปให้กับผู้ใช้ แอปพลิเคชันเหล่านี้จัดส่งเป็นปลั๊กอินของเบราว์เซอร์หรือเป็นเครื่องเสมือนและใช้เพื่อเปลี่ยนแอปพลิเคชันแบบคงที่แบบเดิมให้เป็นแอปพลิเคชันที่ได้รับการปรับปรุงลื่นไหลเคลื่อนไหวและมีส่วนร่วมมากขึ้น
ต่างจากแอปพลิเคชันเดสก์ท็อปทั่วไป RIA ไม่จำเป็นต้องมีซอฟต์แวร์เพิ่มเติมเพื่อให้ทำงานได้ อีกทางเลือกหนึ่งคือคุณควรติดตั้งซอฟต์แวร์เช่น ActiveX, Java, Flash ขึ้นอยู่กับแอปพลิเคชัน
ใน RIA การนำเสนอแบบกราฟิกจะได้รับการจัดการในฝั่งไคลเอ็นต์เนื่องจากมีปลั๊กอินที่รองรับกราฟิกที่สมบูรณ์ โดยสรุปการจัดการข้อมูลใน RIA จะดำเนินการทางฝั่งเซิร์ฟเวอร์ในขณะที่การจัดการวัตถุที่เกี่ยวข้องจะดำเนินการทางฝั่งไคลเอ็นต์
เรามีเทคโนโลยีหลักสามอย่างที่ใช้ในการพัฒนา RIA ซึ่งรวมถึงสิ่งต่อไปนี้ -
- Adobe Flash
- Microsoft Silverlight
- JavaFX
Adobe Flash
แพลตฟอร์มซอฟต์แวร์นี้พัฒนาโดย Adobe Systems และใช้ในการสร้าง Rich Internet Applications นอกจากนี้คุณยังสามารถสร้างแอปพลิเคชั่นอื่น ๆ เช่น Vector, Animation, Browser Games, Desktop Applications, Mobile Applications and Games เป็นต้น
นี่เป็นแพลตฟอร์มที่ใช้กันมากที่สุดสำหรับการพัฒนาและดำเนินการ RIA โดยมีอัตราการเข้าถึงเบราว์เซอร์บนเดสก์ท็อป 96%
Microsoft Silverlight
เช่นเดียวกับ Adobe flash Microsoft Silverlight ยังเป็นซอฟต์แวร์แอปพลิเคชันสำหรับการพัฒนาและการเรียกใช้แอปพลิเคชันอินเทอร์เน็ตที่หลากหลาย ในขั้นต้นเฟรมเวิร์กนี้ถูกใช้สำหรับการสตรีมสื่อ เวอร์ชันปัจจุบันรองรับมัลติมีเดียกราฟิกและแอนิเมชั่นเช่นกัน
แพลตฟอร์มนี้ไม่ค่อยใช้กับอัตราการเข้าถึงเบราว์เซอร์บนเดสก์ท็อป 66%
JavaFX
JavaFX เป็นไลบรารี Java ที่คุณสามารถพัฒนา Rich Internet Applications ด้วยการใช้เทคโนโลยี Java แอปพลิเคชันเหล่านี้มีอัตราการเข้าถึงเบราว์เซอร์ 76%
JavaFX คืออะไร?
JavaFX เป็นไลบรารี Java ที่ใช้ในการสร้าง Rich Internet Applications แอปพลิเคชันที่เขียนโดยใช้ไลบรารีนี้สามารถทำงานได้อย่างสม่ำเสมอในหลายแพลตฟอร์ม แอปพลิเคชันที่พัฒนาโดยใช้ JavaFX สามารถทำงานบนอุปกรณ์ต่างๆเช่นคอมพิวเตอร์เดสก์ท็อปโทรศัพท์มือถือทีวีแท็บเล็ตเป็นต้น
เพื่อพัฒนา GUI Applications การใช้ภาษาการเขียนโปรแกรม Java โปรแกรมเมอร์อาศัยไลบรารีเช่น Advanced Windowing Toolkit และ Swing. หลังจากการถือกำเนิดของ JavaFX โปรแกรมเมอร์ Java เหล่านี้สามารถพัฒนาแอปพลิเคชัน GUI ได้อย่างมีประสิทธิภาพด้วยเนื้อหาที่หลากหลาย
ต้องการ JavaFX
เพื่อพัฒนา Client Side Applicationsด้วยคุณสมบัติที่หลากหลายโปรแกรมเมอร์ใช้เพื่อเพิ่มคุณสมบัติต่างๆเช่น Media, UI controls, Web, 2D และ 3D เป็นต้น JavaFX รวมคุณสมบัติทั้งหมดเหล่านี้ไว้ในไลบรารีเดียว นอกจากนี้นักพัฒนายังสามารถเข้าถึงคุณสมบัติที่มีอยู่ของไลบรารี Java เช่นSwing.
JavaFX มีชุดกราฟิกและสื่อ API ที่หลากหลายและใช้ประโยชน์จากความทันสมัย Graphical Processing Unitผ่านกราฟิกเร่งฮาร์ดแวร์ JavaFX ยังมีอินเทอร์เฟซที่นักพัฒนาสามารถรวมภาพเคลื่อนไหวกราฟิกและการควบคุม UI
หนึ่งสามารถใช้ JavaFX กับเทคโนโลยีที่ใช้ JVM เช่น Java, Groovy และ JRuby หากนักพัฒนาเลือกใช้ JavaFX ก็ไม่จำเป็นต้องเรียนรู้เทคโนโลยีเพิ่มเติมเนื่องจากความรู้เดิมเกี่ยวกับเทคโนโลยีที่กล่าวมาข้างต้นจะดีพอที่จะพัฒนา RIA โดยใช้ JavaFX
คุณสมบัติของ JavaFX
ต่อไปนี้เป็นคุณสมบัติที่สำคัญบางประการของ JavaFX -
Written in Java - ไลบรารี JavaFX เขียนด้วย Java และพร้อมใช้งานสำหรับภาษาที่สามารถเรียกใช้งานบน JVM ซึ่งรวมถึง - Java, Groovy and JRuby. แอปพลิเคชัน JavaFX เหล่านี้ไม่ขึ้นกับแพลตฟอร์ม
FXML- JavaFX มีภาษาที่เรียกว่า FXML ซึ่งเป็น HTML เหมือนกับภาษามาร์กอัปที่เปิดเผย จุดประสงค์เดียวของภาษานี้คือการกำหนดส่วนติดต่อผู้ใช้
Scene Builder- JavaFX มีแอพพลิเคชั่นชื่อ Scene Builder ในการรวมแอปพลิเคชันนี้ใน IDE เช่น Eclipse และ NetBeans ผู้ใช้สามารถเข้าถึงอินเทอร์เฟซการออกแบบลากและวางซึ่งใช้ในการพัฒนาแอปพลิเคชัน FXML (เช่นเดียวกับ Swing Drag & Drop และ DreamWeaver Applications)
Swing Interoperability - ในแอปพลิเคชัน JavaFX คุณสามารถฝังเนื้อหา Swing โดยใช้ไฟล์ Swing Nodeชั้นเรียน ในทำนองเดียวกันคุณสามารถอัปเดตแอปพลิเคชัน Swing ที่มีอยู่ด้วยคุณสมบัติ JavaFX เช่นเนื้อหาเว็บแบบฝังและสื่อกราฟิกที่สมบูรณ์
Built-in UI controls - ไลบรารี JavaFX รองรับการควบคุม UI โดยใช้ซึ่งเราสามารถพัฒนาแอปพลิเคชันที่มีคุณสมบัติครบถ้วน
CSS like Styling- JavaFX จัดเตรียม CSS เช่นสไตล์ ด้วยการใช้สิ่งนี้คุณสามารถปรับปรุงการออกแบบแอปพลิเคชันของคุณด้วยความรู้พื้นฐานเกี่ยวกับ CSS
Canvas and Printing API- JavaFX มี Canvas ซึ่งเป็นรูปแบบการแสดงผล API ในโหมดทันที ภายในบรรจุภัณฑ์javafx.scene.canvasมันมีชุดของคลาสสำหรับแคนวาสโดยใช้ซึ่งเราสามารถวาดโดยตรงภายในพื้นที่ของฉาก JavaFX JavaFX ยังมีคลาสสำหรับวัตถุประสงค์ในการพิมพ์ในแพ็คเกจjavafx.print.
Rich set of API’s- ไลบรารี JavaFX มีชุด API มากมายสำหรับพัฒนาแอปพลิเคชัน GUI, กราฟิก 2D และ 3D เป็นต้นชุด API นี้ยังรวมถึงความสามารถของแพลตฟอร์ม Java ดังนั้นเมื่อใช้ API นี้คุณสามารถเข้าถึงคุณลักษณะของภาษา Java เช่น Generics, Annotations, Multithreading และ Lambda Expressions ไลบรารี Java Collections แบบดั้งเดิมได้รับการปรับปรุงและรวมแนวคิดเช่นรายการและแผนที่ที่สังเกตได้รวมอยู่ในนั้น ด้วยการใช้สิ่งเหล่านี้ผู้ใช้สามารถสังเกตการเปลี่ยนแปลงในแบบจำลองข้อมูล
Integrated Graphics library - JavaFX มีคลาสสำหรับ 2d และ 3d กราฟิก
Graphics pipeline- JavaFX รองรับกราฟิกที่ใช้ไปป์ไลน์กราฟิกที่เร่งด้วยฮาร์ดแวร์ที่เรียกว่า Prism เมื่อใช้กับกราฟิกการ์ดหรือ GPU ที่รองรับจะให้กราฟิกที่ราบรื่น ในกรณีที่ระบบไม่รองรับกราฟิกการ์ดปริซึมจะตั้งค่าเริ่มต้นเป็นสแต็กการแสดงผลซอฟต์แวร์
ประวัติของ JavaFX
JavaFX ได้รับการพัฒนาโดย Chris Oliverเมื่อเขาทำงานให้กับ บริษัท ชื่อ See Beyond Technology Corporationซึ่งได้มาในภายหลังโดย Sun Microsystems ในปี 2548
ประเด็นต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับโครงการนี้ -
เริ่มแรกโครงการนี้มีชื่อว่า F3 (Form Follows Functions) และได้รับการพัฒนาด้วยความตั้งใจที่จะมอบอินเทอร์เฟซที่สมบูรณ์ยิ่งขึ้นสำหรับการพัฒนาแอปพลิเคชัน GUI
Sun Microsystems เข้าซื้อ บริษัท See Beyond ในเดือนมิถุนายน 2548 โดยปรับโครงการ F3 เป็น JavaFX.
ในปี 2550 JavaFX ได้รับการประกาศอย่างเป็นทางการที่ Java Oneการประชุมทางเว็บทั่วโลกซึ่งจัดขึ้นทุกปี
ในปี 2551 Net Beansสามารถใช้งานร่วมกับ JavaFX ได้ ในปีเดียวกันชวาStandard Development Kit สำหรับ JavaFX 1.0 ได้รับการเผยแพร่
ในปี 2552 Oracle Corporation ได้เข้าซื้อกิจการ Sun Microsystems และในปีเดียวกัน JavaFX (1.2) เวอร์ชันถัดไปก็ได้รับการเผยแพร่เช่นกัน
ในปี 2010 JavaFX 1.3 ออกมาและในปี 2011 JavaFX 2.0 ได้รับการเผยแพร่
JavaFX8 เวอร์ชันล่าสุดได้รับการเผยแพร่เป็นส่วนหนึ่งของ Java เมื่อวันที่ 18 มีนาคม 2014