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