JavaFX

JavaFX هي منصة برمجية لإنشاء تطبيقات سطح المكتب وتطويرها ، بالإضافة إلى تطبيقات الويب الغنية التي تعمل على مجموعة واسعة من الأجهزة. تدعم JavaFX أجهزة الكمبيوتر المكتبية ومتصفحات الويب على أنظمة Microsoft Windows و Linux (بما في ذلك Raspberry Pi ) و macOS ، بالإضافة إلى الأجهزة المحمولة التي تعمل بنظامي iOS و Android ، من خلال Gluon Mobile.

مع إصدار JDK 11 في عام 2018، جعلت أوراكل JavaFX جزءًا من OpenJDK ضمن مشروع OpenJFX ، [ 4 ] بهدف تسريع وتيرة تطويره. [ 5 ]

يعمل برنامج JavaFXPorts مفتوح المصدر على نظامي Android وiOS (iPhone وiPad). [ 6 ] يدعم البرنامج التجاري ذو الصلة، والمُصمم تحت اسم "Gluon"، نفس منصات الأجهزة المحمولة مع ميزات إضافية، بالإضافة إلى دعمه لأجهزة سطح المكتب. [ 7 ] يتيح ذلك استخدام قاعدة بيانات واحدة لإنشاء تطبيقات لأجهزة سطح المكتب، وأجهزة Android، وأجهزة iOS.

سمات

استند JavaFX 1.1 إلى مفهوم "الملف التعريفي المشترك" المصمم ليشمل جميع الأجهزة التي يدعمها JavaFX. يُمكّن هذا النهج المطورين من استخدام نموذج برمجة موحد عند بناء تطبيق مُوجّه لأجهزة سطح المكتب والأجهزة المحمولة، ومشاركة جزء كبير من التعليمات البرمجية، وموارد الرسومات، والمحتوى بين إصداري سطح المكتب والأجهزة المحمولة. ولتلبية الحاجة إلى ضبط التطبيقات على فئة مُحددة من الأجهزة، تتضمن منصة JavaFX 1.1 واجهات برمجة تطبيقات (APIs) خاصة بسطح المكتب أو الأجهزة المحمولة. على سبيل المثال، يتضمن ملف تعريف JavaFX لسطح المكتب Swing وتأثيرات بصرية متقدمة. يضع JavaFX جميع رموزه في مساحة الاسم javafx.

بالنسبة للمستخدم النهائي، تُمكّنه ميزة "السحب للتثبيت" من سحب عنصر واجهة مستخدم JavaFX - وهو تطبيق موجود في موقع ويب - وإفلاته على سطح المكتب. ولن يفقد التطبيق حالته أو سياقه حتى بعد إغلاق المتصفح. كما يُمكن إعادة تشغيل التطبيق بالنقر على اختصار يتم إنشاؤه تلقائيًا على سطح مكتب المستخدم. هذه الخاصية مُفعّلة افتراضيًا بواسطة آلية تطبيقات Java الصغيرة منذ تحديث Java 6u10، وتستفيد منها JavaFX من طبقة Java الأساسية. تُسوّق Sun ميزة "السحب للتثبيت" باعتبارها تفتح نموذج توزيع جديدًا وتسمح للمطورين بالتحرر من قيود المتصفح.

تضمنت JavaFX 1.x مجموعة من الإضافات لبرنامجي Adobe Photoshop و Illustrator، والتي تُمكّن من دمج الرسومات المتقدمة مباشرةً في تطبيقات JavaFX. تُولّد هذه الإضافات كود JavaFX Script يحافظ على طبقات وبنية الرسومات. وبذلك، يستطيع المطورون إضافة رسوم متحركة أو مؤثرات إلى الرسومات الثابتة المستوردة. كما يتوفر أيضًا أداة لتحويل رسومات SVG (تُعرف أيضًا باسم Media Factory) تسمح باستيراد الرسومات ومعاينة الأصول بعد تحويلها إلى تنسيق JavaFX. [ 8 ]

قبل الإصدار 2.0 من JavaFX، كان المطورون يستخدمون لغةً تعريفيةً ثابتة الكتابة تُسمى JavaFX Script لبناء تطبيقات JavaFX. ولأن JavaFX Script كانت تُترجم إلى بايت كود Java ، كان بإمكان المبرمجين استخدام كود Java بدلاً من ذلك. كانت تطبيقات JavaFX قبل الإصدار 2.0 تعمل على أي جهاز كمبيوتر مكتبي يدعم Java SE ، تمامًا كما هو الحال مع الإصدارات الحالية. [ 9 ]

تم تطوير JavaFX 2.0 والإصدارات الأحدث كمكتبة جافا، وتُكتب التطبيقات التي تستخدم JavaFX بلغة جافا عادية. أوقفت شركة أوراكل دعم لغة البرمجة النصية، إلا أن تطويرها استمر لعدة سنوات ضمن مشروع Visage، وانتهى نهائيًا في عام 2013. [ 10 ] [ 11 ]

حصلت شركة صن مايكروسيستمز على ترخيص خط مخصص يُدعى Amble لاستخدامه على الأجهزة التي تعمل بتقنية JavaFX. وقد صممت عائلة الخطوط شركة Punchcut المتخصصة في تصميم واجهات المستخدم للأجهزة المحمولة ، وهي متاحة كجزء من إصدار JavaFX SDK 1.3.

عرض الويب

يستخدم WebView ، وهو مكون متصفح الويب المدمج ، محرك متصفح WebKit . وهو يدعم ميزات HTML5 المعتادة مثل canvas وmedia وmeter وprogress وdetails وsummary، بالإضافة إلى MathML وSVG وJavaScript وCSS. ولا يدعم WebAssembly .

ثلاثي الأبعاد

منذ JavaFX 8، أصبحت JavaFX تمتلك إمكانيات ثلاثية الأبعاد، مثل الإضاءة الديناميكية، والأشكال الأساسية، والشبكات، ورسم الخرائط النسيجية، وما إلى ذلك. ويمكن دمج هذه المكونات في المشاهد والمشاهد الفرعية.

جافا إف إكس موبايل

كانت JavaFX Mobile تطبيقًا لمنصة JavaFX لتطوير تطبيقات ويب غنية موجهة للأجهزة المحمولة . يمكن تطوير تطبيقات JavaFX Mobile 1.x باستخدام لغة JavaFX Script نفسها المستخدمة في تطبيقات JavaFX 1.x للمتصفحات أو أجهزة سطح المكتب، وباستخدام الأدوات نفسها: JavaFX SDK وJavaFX Production Suite. يتيح هذا المفهوم مشاركة قاعدة التعليمات البرمجية وموارد الرسومات لتطبيقات سطح المكتب والهواتف المحمولة. ومن خلال التكامل مع Java ME ، تتمتع تطبيقات JavaFX بإمكانية الوصول إلى إمكانيات الجهاز الأساسي، مثل نظام الملفات والكاميرا ونظام تحديد المواقع العالمي (GPS ) والبلوتوث ومقياس التسارع .

تُعد منصة JavaFX Mobile منصة تطبيقات مستقلة مبنية على لغة Java، وهي قادرة على العمل على أنظمة تشغيل متعددة للأجهزة المحمولة، بما في ذلك Android و Windows Mobile وأنظمة التشغيل الخاصة بالوقت الحقيقي .

كان JavaFX Mobile متاحًا للجمهور كجزء من إصدار JavaFX 1.1 الذي أعلنته شركة Sun Microsystems في 12 فبراير 2009.

خططت شركة صن لتوفير دعم فوري لتقنية JavaFX على الأجهزة من خلال التعاون مع مصنعي الهواتف المحمولة ومشغلي شبكات الهاتف المحمول لتحميل بيئة تشغيل JavaFX Mobile مسبقًا على الهواتف. وقد تم عرض JavaFX Mobile الذي يعمل بنظام Android في مؤتمر JavaOne 2008، وأُعلن عن شراكات مختارة (بما في ذلك LG Electronics و Sony Ericsson ) خلال إطلاق JavaFX Mobile في فبراير 2009.

مثال

لتشغيل تطبيق JavaFX، يمتد الصنف الرئيسي javafx.application.Applicationويستدعي الذي main()يستدعي Application::launchداخليًا Application::start، والذي يتم تجاوزه بواسطة الصنف الرئيسي ويعمل كنقطة دخول للتطبيق نفسه.

package org.wikipedia.examples ;استيراد javafx.application.Application ؛ استيراد javafx.scene.Scene ؛ استيراد javafx.scene.control.Button ؛ استيراد javafx.scene.layout.StackPane ؛ استيراد javafx.stage.Stage ؛public class JavaFXExample extends Application { @Override public void start ( Stage primaryStage ) { Button button = new Button ( "انقر هنا!" ); button . setOnAction ( e -> System . out . println ( "مرحباً من JavaFX!" ));StackPane root = new StackPane ( button ); Scene scene = new Scene ( root , 300 , 200 );primaryStage.setTitle ( " JavaFX Example " ) ; primaryStage.setScene ( scene ) ; primaryStage.show ( ) ; }public static void main ( String [] args ) { launch ( args ); } }

عناصر

تتضمن منصة JavaFX المكونات التالية:

  • مجموعة تطوير البرامج JavaFX : تتضمن من بين أمور أخرى الرسومات وخدمات الوسائط ومكتبات النصوص المنسقة وعرض الويب.
  • بيئة تطوير NetBeans المتكاملة لـ JavaFX: NetBeans مزودة بلوحة سحب وإفلات لإضافة عناصر مع تحويلات وتأثيرات ورسوم متحركة، بالإضافة إلى مجموعة من الأمثلة وأفضل الممارسات. لمستخدمي Eclipse، يتوفر مكون إضافي مدعوم من المجتمع على e(fx)clipse.
  • أداة إنشاء المشاهد في JavaFX: تم تقديم هذه الأداة في JavaFX 2.1 والإصدارات الأحدث. يتم إنشاء واجهة المستخدم (UI) عن طريق سحب وإفلات عناصر التحكم من لوحة الأدوات. يتم حفظ التصميم كملف FXML، وهو تنسيق XML خاص.

الوحدات

ينقسم JavaFX إلى الوحدات النمطية التالية . [ 12 ]

اسموصف
javafx.baseيحدد واجهات برمجة التطبيقات الأساسية لمجموعة أدوات واجهة المستخدم JavaFX (مثل واجهات برمجة التطبيقات للربط والخصائص والمجموعات والأحداث).
javafx.controlsيحدد هذا القسم واجهات برمجة التطبيقات (APIs) لعناصر التحكم في واجهة المستخدم، والرسوم البيانية، والقوالب في مجموعة أدوات واجهة المستخدم JavaFX.
javafx.fxmlيحدد هذا القسم واجهات برمجة تطبيقات FXML في مجموعة أدوات واجهة المستخدم JavaFX.
javafx.graphicsيحدد مخطط المشهد، والرسوم المتحركة، والهندسة، وواجهات برمجة التطبيقات الأخرى ذات الصلة لمجموعة أدوات واجهة المستخدم JavaFX.
javafx.mediaيحدد هذا الملف واجهات برمجة تطبيقات تشغيل الوسائط ومحتوى الصوت لمجموعة أدوات واجهة المستخدم JavaFX.
javafx.swingيحدد هذا القسم واجهات برمجة التطبيقات (APIs) الخاصة بدعم التوافق بين JavaFX و Swing لمجموعة أدوات واجهة المستخدم JavaFX.
javafx.webيحدد واجهات برمجة تطبيقات WebView لمجموعة أدوات واجهة المستخدم JavaFX.
jdk.jsobjectيُعرّف واجهات برمجة التطبيقات (APIs) لكائنات جافا سكريبت .
jfx.incubator.inputآلية حاضنة لتخصيص عناصر تحكم JavaFX.
jfx.incubator.richtextيحتضن عنصر تحكم RichTextArea لـ JavaFX.

تاريخ

الإصدارات بعد تحديث الإصدار

أصبح JavaFX الآن جزءًا من JRE/JDK لـ Java 8 (الذي تم إصداره في 18 مارس 2014) وله نفس الترقيم، أي JavaFX 8. [ 13 ]

يضيف JavaFX 8 العديد من الميزات الجديدة، بما في ذلك: [ 14 ]

مثال على مشهد ثلاثي الأبعاد بسيط باستخدام JavaFX
  • دعم الرسومات ثلاثية الأبعاد [ 15 ] [ 16 ]
  • دعم المستشعر
  • دعم MathML، مع تحديث JavaFX 8 رقم 192
  • دعم الطباعة والنصوص المنسقة
  • قوالب حوار عامة لاستبدال JOptionPane (اعتبارًا من JavaFX 8u40) [ 17 ]

ركزت ميزات JavaFX 9 على استخراج بعض واجهات برمجة التطبيقات الخاصة المفيدة من كود JavaFX لجعل هذه الواجهات عامة:

  • JEP 253: إعداد عناصر تحكم واجهة المستخدم JavaFX وواجهات برمجة تطبيقات CSS من أجل التجزئة [ 18 ]

أعلنت شركة أوراكل عن نيتها التوقف عن تضمين JavaFX في إصدارات JDK 11 والإصدارات اللاحقة. [ 19 ] لم يعد يتم تضمينه في أحدث إصدار.

تم إصدار JavaFX 11 لأول مرة في سبتمبر 2018.

  • JavaFX 11.0.2 هو أحدث إصدار عام من JavaFX 11. [ 20 ]
  • يُعد JavaFX 11.0.16 أحدث إصدار من JavaFX 11 للمشتركين في عقد دعم طويل الأجل. [ 21 ]
  • دعم لغة MathML
  • واجهة برمجة تطبيقات روبوتات الفوركس

تم إصدار JavaFX 12 لأول مرة في مارس 2019.

  • JavaFX 12.0.1. [ 20 ]
  • دعم أزرار الماوس للأمام/للخلف
  • طرق VirtualFlow المحمية الجديدة للتصنيف الفرعي [ 22 ]

تم إصدار JavaFX 13 في سبتمبر 2019.

  • دعم شاشات الحبر الإلكتروني
  • دعم عرض الوسائط الأصلية، من خلال الصور القابلة للكتابة المدعومة بواسطة NIO ByteBuffers [ 23 ]

تم إصدار JavaFX 14 في مارس 2020.

  • خاصية حجم علامة التبويب للنص وتدفق النص
  • دعم بروتوكول HTTP/2 في WebView [ 24 ]

تم إصدار JavaFX 15 في سبتمبر 2020.

  • دعم شاشات الحبر الإلكتروني على أجهزة i.MX6 [ 25 ]

تم إصدار JavaFX 16 في مارس 2021.

تم إصدار JavaFX 17 في سبتمبر 2021. أبرز الميزات:

  • نوع ثري دي سبوت لايت
  • تحميل الصور وأوراق الأنماط من عناوين البيانات المضمنة
  • طباعة إلى ملفات
  • استعلام عن حالة مفتاحي CAPS LOCK و NUM LOCK
  • دعم الشاشات المتعددة في مجموعة أدوات النوافذ للأنظمة المدمجة

تم إصدار JavaFX 18 في مارس 2022. أبرز الميزات:

  • يدعم مشغل الفيديو ترميز الوسائط H.265/HEVC
  • نوع الإضاءة الاتجاهية ثلاثية الأبعاد
  • الخلفيات الشفافة في WebView
  • قم بتعيين خاصية "managed" للعقد من خلال CSS
  • طرق المصنع للحدود والخلفيات

تم إصدار JavaFX 19 في سبتمبر 2022. أبرز الميزات:

تم إصدار JavaFX 20 في مارس 2023. أبرز الميزات:

  • سياسات تغيير الحجم المقيدة لـ TableView و TreeTableView
  • تحسين دورة حياة أشكال عناصر التحكم في واجهة المستخدم (Skin::install)
  • طريقة مبسطة وحتمية لإدارة المستمعين (ObservableValue::when) [ 26 ]

الإصدارات المبكرة

بدأ JavaFX Script، وهو مكون البرمجة النصية في JavaFX، كمشروع من قبل كريس أوليفر يسمى F3. [ 27 ]

أعلنت شركة صن مايكروسيستمز لأول مرة عن JavaFX في مؤتمر JavaOne العالمي لمطوري جافا في مايو 2007.

في مايو 2008، أعلنت شركة صن مايكروسيستمز عن خططها لإطلاق JavaFX للمتصفحات وأجهزة سطح المكتب بحلول الربع الثالث من عام 2008، وJavaFX للأجهزة المحمولة في الربع الثاني من عام 2009. كما أعلنت صن عن اتفاقية متعددة السنوات مع شركة On2 Technologies لإضافة إمكانيات فيديو شاملة إلى عائلة منتجات JavaFX باستخدام برنامج ترميز الفيديو TrueMotion الخاص بالشركة . ومنذ نهاية يوليو 2008، أصبح بإمكان المطورين تنزيل نسخة تجريبية من JavaFX SDK لأنظمة ويندوز وماكنتوش، بالإضافة إلى إضافة JavaFX لبرنامج NetBeans 6.1 .

تُسمى الإصدارات الرئيسية منذ JavaFX 1.1 باسم شارع أو حي في سان فرانسيسكو . أما إصدارات التحديث، فعادةً لا تحمل اسماً. [ 28 ]

في 4 ديسمبر 2008، أصدرت شركة صن JavaFX 1.0.2.

تم أخيرًا إتاحة JavaFX لتطوير تطبيقات الهاتف المحمول كجزء من إصدار JavaFX 1.1 (المسمى Franca [ 28 ] ) الذي تم الإعلان عنه رسميًا في 12 فبراير 2009.

تم إصدار JavaFX 1.2 (المسمى مارينا [ 28 ] ) في مؤتمر JavaOne في 2 يونيو 2009. وقد قدم هذا الإصدار ما يلي: [ 29 ]

تم إصدار JavaFX 1.3 (المسمى Soma [ 28 ] ) في 22 أبريل 2010. وقد قدم هذا الإصدار: [ 30 ]

  • تحسينات في الأداء
  • دعم منصات إضافية
  • تحسين دعم عناصر التحكم في واجهة المستخدم

تم إصدار JavaFX 1.3.1 في 21 أغسطس 2010. وقد قدم هذا الإصدار ما يلي:

  • سرعة بدء تشغيل تطبيق JavaFX
  • شريط تقدم مخصص لبدء تشغيل التطبيق

تم إصدار JavaFX 2.0 (المسمى Presidio [ 28 ] ) في 10 أكتوبر 2011. وقد قدم هذا الإصدار ما يلي:

  • مجموعة جديدة من واجهات برمجة تطبيقات جافا تتيح إمكانيات JavaFX لجميع مطوري جافا، دون الحاجة إلى تعلم لغة برمجة نصية جديدة. تم إيقاف دعم JavaFX Script نهائيًا.
  • دعم الربط الكسول عالي الأداء، وتعبيرات الربط، وتعبيرات التسلسل المرتبط، وإعادة تقييم الربط الجزئي.
  • إيقاف دعم JavaFX Mobile .
  • أعلنت شركة أوراكل عن نيتها جعل JavaFX مفتوح المصدر.
  • يتحول وقت تشغيل JavaFX إلى وقت تشغيل خاص بالمنصة، ويستفيد من إمكانيات النظام، مثل برنامج ترميز الفيديو المتاح على النظام؛ بدلاً من تنفيذ وقت تشغيل واحد متعدد المنصات كما هو الحال مع JavaFX 1.x.

أُدخلت تحسينات عديدة على مكتبات JavaFX لدعم تعدد الخيوط. تم تحديث واجهات برمجة تطبيقات المهام (Task APIs) لتوفير إمكانيات تعدد خيوط أكثر اختصارًا (أي أن فئة JavaTaskBase لم تعد ضرورية لأن جميع واجهات برمجة التطبيقات مكتوبة بلغة Java، كما لم يعد من الضروري وجود واجهة رد نداء وفئة تنفيذ Java). بالإضافة إلى ذلك، صُمم مخطط المشهد للسماح بإنشاء المشاهد في خيوط خلفية ثم ربطها بالمشاهد "الحية" بطريقة آمنة للخيوط .

في 26 مايو 2011، أصدرت أوراكل الإصدار التجريبي JavaFX 2.0. كان هذا الإصدار متاحًا فقط لأنظمة التشغيل Microsoft Windows XP وWindows Vista وWindows 7 بنظامي 32 و64 بت. كما توفرت نسخة تجريبية لنظام Mac OS X لأعضاء برنامج شركاء JavaFX في ذلك الوقت، بينما كان من المقرر إضافة دعم لنظام Linux في إصدار لاحق من JavaFX. صدر JavaFX 2.0 بدعم لنظام Windows فقط، ثم أُضيف دعم Mac OS X في الإصدار 2.1، ودعم Linux في الإصدار 2.2.

تستخدم JavaFX 2.0 لغة XML تصريحية جديدة تسمى FXML . [ 31 ] [ 32 ]

في 27 أبريل 2012، أصدرت شركة أوراكل الإصدار 2.1 من JavaFX، [ 33 ] والذي يتضمن الميزات الرئيسية التالية: [ 34 ]

  • أول إصدار رسمي لنظام التشغيل OS X (لأجهزة سطح المكتب فقط)
  • دعم ترميز الصوت المتقدم H.264 /MPEG-4 AVC
  • نص CoolType
  • تحسينات واجهة المستخدم تشمل عناصر تحكم مربع التحرير والسرد، والرسوم البيانية (الرسم البياني المكدس)، وأشرطة القوائم
  • يسمح مكون Webview الآن لـ JavaScript بإجراء استدعاءات لأساليب Java

في 14 أغسطس 2012، أصدرت شركة أوراكل الإصدار 2.2 من JavaFX، [ 35 ] والذي يتضمن الميزات الرئيسية التالية: [ 36 ]

  • دعم نظام لينكس (بما في ذلك الإضافات وبدء التشغيل عبر الويب)
  • قماش
  • عناصر تحكم جديدة: منتقي الألوان، ترقيم الصفحات
  • دعم البث المباشر عبر بروتوكول HTTP
  • أحداث اللمس والإيماءات
  • واجهة برمجة تطبيقات معالجة الصور
  • التغليف الأصلي

يُضيف JavaFX 2.2 خيارًا جديدًا للتغليف يُسمى التغليف الأصلي، مما يسمح بتغليف التطبيق كحزمة أصلية. وهذا يُتيح للمستخدمين تثبيت التطبيق وتشغيله دون أي تبعيات خارجية على بيئة تشغيل جافا (JRE) أو حزمة تطوير البرامج (SDK) الخاصة بـ JavaFX.

ابتداءً من تحديث Oracle Java SE 7 6 و JavaFX 2.2، يتم تضمين JavaFX ليتم تثبيته مع منصة Oracle Java SE. [ 13 ]

العمل المستقبلي

أعلنت شركة أوراكل أيضًا في نوفمبر 2012 عن إتاحة المصدر المفتوح لـ Decora، وهي لغة تظليل DSL لـ JavaFX تسمح بإنشاء تظليلات لـ OpenGL و Direct3D . [ 37 ]

ذكرت أوراكل في خارطة طريق دعم العملاء أن التحديثات الجديدة لـ JavaFX ستستمر في الدعم على Java SE 8 حتى مارس 2025. [ 38 ] وكانت أوراكل قد أعلنت سابقًا أنها "تعمل مع جهات خارجية مهتمة لتسهيل بناء JavaFX وصيانتها كوحدة مفتوحة المصدر قابلة للتوزيع بشكل منفصل". وستستمر شركة Gluon في دعم JavaFX مستقبلًا كوحدة قابلة للتنزيل بالإضافة إلى JDK. [ 39 ]

التوافر

اعتبارًا من مارس 2014، تم نشر JavaFX على أنظمة تشغيل مايكروسوفت ويندوز ، وماك أو إس إكس ، ولينكس . [ 40 ] وتوفر أوراكل نسخة داخلية من JavaFX لأنظمة iOS وأندرويد . [ 41 ] [ 42 ] ويتوفر دعم معالجات ARM بدءًا من JavaFX 8. [ 43 ] وفي 11 فبراير 2013، أعلن ريتشارد بير، كبير مهندسي منصة جافا للعميل في أوراكل، أن أوراكل ستطرح تطبيقات JavaFX لأنظمة iOS وأندرويد كمصدر مفتوح خلال الشهرين التاليين. [ 44 ] [ 45 ]

ابتداءً من الإصدار 8u33 من JDK لنظام ARM، تمت إزالة دعم JavaFX Embedded. [ 46 ]

سيستمر الدعم للبنى القائمة على x86. [ 47 ]

تم إنشاء نسخة تجارية من JavaFX لنظامي التشغيل Android و iOS تحت اسم "Gluon". [ 7 ]

رخصة

توجد تراخيص متنوعة للوحدات السابقة التي كانت تُستخدم لتكوين بيئة تشغيل JavaFX:

أوضحت شركة صن ، خلال مرحلة التطوير، أنها ستطرح استراتيجيتها لنموذج ترخيص JavaFX مع الإصدار الأول من JavaFX. [ 51 ] بعد الإصدار في عام 2008، أوضح جيت كاول ، نائب رئيس شركة صن لبرمجيات العميل، أنهم سينشرون قريبًا مواصفات JavaFX وتنسيقات الملفات المرتبطة بها ، وسيواصلون جعل بيئة تشغيل JavaFX مفتوحة المصدر، وفصل هذا الجزء الأساسي عن الأجزاء الاحتكارية المرخصة من جهات خارجية. [ 52 ]

في مؤتمر JavaOne 2011، أعلنت شركة أوراكل أن JavaFX 2.0 ستصبح مفتوحة المصدر. [ 31 ] ومنذ ديسمبر 2011، بدأت أوراكل في إتاحة كود JavaFX كمصدر مفتوح بموجب رخصة GPL مع استثناء الربط . [ 3 ] [ 53 ]

في ديسمبر 2012، تم نشر أجزاء جديدة من شفرة المصدر JavaFX كمصدر مفتوح بواسطة Oracle: [ 54 ]

  • دروس الرسوم المتحركة والجداول الزمنية
  • آلية تسليم الأحداث وفئات أساسية أخرى متنوعة
  • واجهة شجرة العرض، وتنفيذ هذه الواجهة
  • تطبيق الهندسة والأشكال
  • الجزء الخاص بلغة جافا من محرك العرض المستخدم في مسار العرض
  • دعم تسجيل الأحداث

انظر أيضاً

مراجع

  1. openjdk. "الإصدار 26-ga · openjdk/jfx" . GitHub . تم الاسترجاع في 12 أبريل 2026 .
  2. "المنتجات » JavaFX" . تم الاطلاع عليه بتاريخ 29-08-2025 . 
  3. 1 2 "مشروع OpenJFX" . شركة أوراكل . مؤرشف من الأصل بتاريخ 2011-12-05 . تم الاطلاع عليه بتاريخ 2011-12-07 .
  4. "صفحة مطوري JavaFX الرئيسية" . www.oracle.com . مؤرشف من الأصل بتاريخ 12 يوليو 2019. تم الاطلاع عليه بتاريخ 14 يونيو 2019 .
  5. سميث، دونالد (7 مارس 2018). "مستقبل JavaFX وتحديثات خارطة طريق عميل Java الأخرى" . مؤرشف من الأصل في 17 نوفمبر 2018. تم الاطلاع عليه في 14 يونيو 2019 .
  6. "JavaFXPorts - Gluon" . Gluon . مؤرشف من الأصل بتاريخ 2018-05-02 . تم الاطلاع عليه بتاريخ 2018-05-01 .
  7. ١ ٢ "تطبيقات المؤسسات السريعة للهواتف المحمولة: البناء والربط والإدارة باستخدام Gluon" . ١٦ ديسمبر ٢٠١٧. مؤرشف من الأصل بتاريخ ١٥ ديسمبر ٢٠١٧. تم الاطلاع عليه بتاريخ ١٦ ديسمبر ٢٠١٧ .
  8. "تثبيت JavaFX Production Suite" . شبكة مطوري Sun. مؤرشف من الأصل بتاريخ 17-08-2009.
  9. "نظرة عامة على JavaFX (الإصدار 8)" . docs.oracle.com . 2014. مؤرشف من الأصل بتاريخ 21-10-2021 . تم الاطلاع عليه بتاريخ 26-12-2021 .
  10. "أرشيف جوجل كود - تخزين طويل الأمد لاستضافة مشاريع جوجل كود" . Code.google.com . مؤرشف من الأصل بتاريخ 1 أبريل 2016. تم الاطلاع عليه بتاريخ 1 أغسطس 2016 .
  11. "لغة فيساج" . جيت هاب . مؤرشف من الأصل بتاريخ 2023-07-07 . تم الاطلاع عليه بتاريخ 2023-07-06 .
  12. "نظرة عامة (JavaFX)" . openjfx.io .
  13. 1 2 "أسئلة وأجوبة حول JavaFX" . Oracle.com . مؤرشف من الأصل بتاريخ 29-10-2018 . تم الاطلاع عليه بتاريخ 24-09-2019 .
  14. "خارطة طريق JavaFX" . شركة أوراكل . مؤرشف من الأصل بتاريخ 1 ديسمبر 2012. تم الاطلاع عليه بتاريخ 24 نوفمبر 2012 .
  15. يانغ، تشين. "ميزات ثلاثية الأبعاد مُخطط لها في الإصدار 8" . شركة أوراكل . مؤرشف من الأصل بتاريخ 7 ديسمبر 2013. تم الاطلاع عليه بتاريخ 24 نوفمبر 2012 .
  16. "ميزات ثلاثية الأبعاد مُخطط لها في الإصدار 8" . شركة أوراكل . مؤرشف من الأصل بتاريخ 2013-05-02 . تم الاطلاع عليه بتاريخ 2012-11-24 .
  17. "حوار (JavaFX 9)" . مؤرشف من الأصل بتاريخ 2015-01-05 . تم الاطلاع عليه بتاريخ 2015-01-05 .
  18. جايلز، جوناثان (14 يناير 2015). "JEP 253: تجهيز عناصر تحكم واجهة المستخدم JavaFX وواجهات برمجة تطبيقات CSS للنمذجة المعيارية" . شركة أوراكل . مؤرشف من الأصل في 10 مارس 2016. تم الاطلاع عليه في 17 يناير 2016 .
  19. "Gluon و JavaFX" . مؤرشف من الأصل بتاريخ 29-04-2019 . تم الاطلاع عليه بتاريخ 29-10-2018 .
  20. 1 2 "javafxports/openjdk-jfx" . GitHub . مؤرشف من الأصل بتاريخ 2020-08-03 . تم الاطلاع عليه بتاريخ 2020-07-20 .
  21. "JavaFX" . Gluon . مؤرشف من الأصل بتاريخ 28-09-2022 . تم الاطلاع عليه بتاريخ 05-10-2022 .
  22. "ملاحظات إصدار OpenJFX 12" . غلوون . مؤرشف من الأصل بتاريخ 7 يوليو 2023. تم الاطلاع عليه بتاريخ 6 يوليو 2023 .
  23. "ملاحظات إصدار OpenJFX 13" . غلوون . مؤرشف من الأصل بتاريخ 7 يوليو 2023. تم الاطلاع عليه بتاريخ 6 يوليو 2023 .
  24. "ملاحظات إصدار OpenJFX 14" . غلوون . مؤرشف من الأصل بتاريخ 7 يوليو 2023. تم الاطلاع عليه بتاريخ 6 يوليو 2023 .
  25. "ملاحظات إصدار OpenJFX 15" . غلوون . مؤرشف من الأصل بتاريخ 7 يوليو 2023. تم الاطلاع عليه بتاريخ 6 يوليو 2023 .
  26. JavaFX 20 وما بعدها ، مؤرشف من الأصل بتاريخ 2023-06-20 ، تم استرجاعه بتاريخ 2023-06-20
  27. "F3 (مدونة كريس أوليفر)" . 2012-01-06. مؤرشف من الأصل في 2012-01-06 . تم الاطلاع عليه في 2016-08-20 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  28. 1 2 3 4 5 "المستودعات والإصدارات" . 29-06-2013. مؤرشف من الأصل في 19-10-2013 . تم الاطلاع عليه في 18-10-2013 .
  29. ماريناتشي، جوشوا (9 يونيو 2009). "أهم 5 ميزات في JavaFX 1.2" . مؤرشف من الأصل بتاريخ 13 يونيو 2009. تم الاطلاع عليه بتاريخ 12 يونيو 2009 .
  30. "إصدار JavaFX 1.3، يُحسّن تجربة المستخدم" . 22 أبريل 2010. مؤرشف من الأصل في 30 أبريل 2011. تم الاطلاع عليه في 25 أبريل 2010 .
  31. 1 2 ماير، ديفيد (2011-10-06). "وصول JavaFX 2.0 واتجاهها نحو المصادر المفتوحة" . ZDNet . مؤرشف من الأصل في 2011-11-25 . تم الاسترجاع في 2011-10-09 .
  32. براون، جريج (15 أغسطس 2011). "مقدمة إلى FXML" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 31 يناير 2012. تم الاطلاع عليه بتاريخ 9 أكتوبر 2011 .
  33. "إصدار JDK 7u4 وJavaFX 2.1، يشمل الآن نظام التشغيل Mac OS X | عبر الكون" . Terrencebarr.wordpress.com . 27 أبريل 2012. مؤرشف من الأصل في 19 أكتوبر 2016. تم الاطلاع عليه في 1 أغسطس 2016 .
  34. "ملاحظات إصدار JavaFX 2.1" . شركة أوراكل . مؤرشف من الأصل بتاريخ 8 مايو 2012. تم الاطلاع عليه بتاريخ 5 مايو 2012 .
  35. "ما الجديد في JavaFX 2.2 (مدونة JavaFX)" . Blogs.oracle.com . مؤرشف من الأصل بتاريخ 21 أغسطس 2016. تم الاطلاع عليه بتاريخ 1 أغسطس 2016 .
  36. "ملاحظات إصدار JavaFX 2.2" . شركة أوراكل . مؤرشف من الأصل بتاريخ 21 أغسطس 2012. تم الاطلاع عليه بتاريخ 2 أكتوبر 2012 .
  37. باير، ريتشارد (2012-11-06). "المصدر المفتوح: مُجمِّع ديكورا" . شركة أوراكل . مؤرشف من الأصل في 2013-12-07 . تم الاطلاع عليه في 2012-11-24 .
  38. "خارطة طريق دعم Oracle Java SE" . شبكة تقنية Oracle . Oracle. 13 مايو 2020. مؤرشف من الأصل في 31 ديسمبر 2019. تم الاطلاع عليه في 31 مايو 2020 .
  39. "JavaFX" . مؤرشف من الأصل بتاريخ 24-05-2019 . تم الاطلاع عليه بتاريخ 26-05-2019 .
  40. "تنزيل التوافر العام" . شركة أوراكل . مؤرشف من الأصل بتاريخ 26-12-2012 . تم الاسترجاع بتاريخ 05-01-2013 .
  41. باير، ريتشارد (2012-12-03). "نقل JavaFX" . Mail.openjfx.dev.java.net . مؤرشف من الأصل في 2014-06-20 . تم الاطلاع عليه في 2013-01-05 .
  42. برانداليك، توماس (2012-12-07). "دراسة استقصائية: JavaFX على الأجهزة اللوحية والهواتف المحمولة" . مؤرشف من الأصل في 2014-06-20 . تم الاطلاع عليه في 2013-01-05 .
  43. "1 نظرة عامة على JavaFX (الإصدار 8)" . Docs.oracle.com . مؤرشف من الأصل بتاريخ 23-06-2016 . تم الاطلاع عليه بتاريخ 01-08-2016 .
  44. باير، ريتشارد (16 فبراير 2013). "تحديث فبراير للمصادر المفتوحة" . شركة أوراكل . مؤرشف من الأصل في 14 فبراير 2013. تم الاطلاع عليه في 13 فبراير 2013 .
  45. "أوراكل تعلن عن JavaFX مفتوحة المصدر لنظامي iOS وAndroid" . Infoq.com. 13 فبراير 2013. مؤرشف من الأصل بتاريخ 17 فبراير 2013. تم الاطلاع عليه بتاريخ 16 فبراير 2013 .
  46. "ملاحظات إصدار JDK لـ ARM 8u33" . شركة أوراكل . 16 فبراير 2013. مؤرشف من الأصل في 14 مارس 2015. تم الاطلاع عليه في 9 مارس 2015 .
  47. الموضوع، داليبور (27 يناير 2013). "قائمة بريد Raspberry Pi: أين JavaFX في Java 8u33 الأخيرة لمعالجات ARM ؟" . مؤرشف من الأصل بتاريخ 9 مارس 2015. تم الاطلاع عليه بتاريخ 9 مارس 2015 . 
  48. "مشروع مُترجم OpenJFX" . Openjfx-compiler.dev.java.net . تم الاطلاع عليه بتاريخ 7 يونيو 2008 .
  49. "الصفحة الرئيسية لمشروع Scene Graph" . Scenegraph.dev.java.net . تم الاطلاع عليه بتاريخ 7 يونيو 2008 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  50. "تنزيلات JavaFX" . Openjfx.dev.java.net . تم الاطلاع عليه بتاريخ 7 يونيو 2008 .
  51. "هل ستُطرح تقنية JavaFX كمصدر مفتوح؟" . مؤرشف من الأصل بتاريخ 12 يونيو 2008. تم الاطلاع عليه بتاريخ 7 يونيو 2008 .
  52. كاول، جيت (16 ديسمبر 2008). "JavaFX - الطريق إلى الأمام" . مؤرشف من الأصل في 17 ديسمبر 2008. تم الاطلاع عليه في 3 يناير 2009 . 
  53. باير، ريتشارد (2011-12-02). "دعوة لإصدار تصحيحات" . شركة أوراكل . تم الاسترجاع في 2011-12-07 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  54. سافراتا، بافيل (18 ديسمبر 2012). "المزيد من JavaFX مفتوح المصدر" . شركة أوراكل . مؤرشف من الأصل في 29 ديسمبر 2012. تم الاطلاع عليه في 5 يناير 2013 .

فهرس