تطبيق Mandelbrot بسيط لعرض WebFX

حول هذا التطبيق

الجمهور المستهدف

تم نشر هذا التطبيق للمطورين الذين يتابعون مشروع WebFX ، وهو جزء من العروض التوضيحية للمشروع.


لجمهور جديد

WebFX هو حل مجاني مفتوح المصدر عبر الأنظمة الأساسية يمكن أن يستهدف 7 منصات (الويب و Android و iOS و macOS و Linux و Windows و embed مثل Raspberry Pi) من قاعدة شفرة Java واحدة.
التقنيات الأساسية: OpenJFX و Gluon و GWT.

على سبيل المثال ، يمكنك زيارة إصدار الويب لهذا التطبيق نفسه على https://mandelbrot.webfx.dev

مهما كان النظام الأساسي ، فإن الكود المصدري للتطبيق هو نفسه تمامًا (راجع قسم الروابط أدناه للوصول إلى الكود المصدري لهذا العرض التوضيحي).
التطبيق مكتوب بلغة Java ويستخدم JavaFX API لبناء واجهة المستخدم.
تُستخدم سلسلة أدوات Gluon (المبنية على الجزء العلوي من GraalVM) لتجميع كود Java الخاص بالتطبيق في تطبيق أصلي لجميع الأنظمة الأساسية باستثناء الويب (لذلك يتضمن هذا إصدار Android هذا).
يستخدم GWT لتجميع إصدار الويب. يقوم بتحويل كود Java إلى كود JavaScript محسن.
نتيجة لذلك ، تقدم جميع البرامج التنفيذية في جميع الأنظمة الأساسية أداءً محسنًا.


حول هذا العرض التجريبي الخاص

يشبه هذا العرض التوضيحي عرض Ray tracer ، ولكنه بالإضافة إلى ذلك يستفيد من WebAssembly على منصة الويب.

كما هو الحال مع Ray tracer ، يعرض العرض التوضيحي لماندلبروت مثالاً لتطبيق لا يحظر واجهة المستخدم على الرغم من الاستخدام الكثيف لوحدة المعالجة المركزية ، وهذا على أي منصة (حتى على الويب).

أثناء قيام التطبيق بالحسابات ، تظل واجهة المستخدم تفاعلية ، ويمكنك حتى تشغيل الرسوم المتحركة المحسوبة حتى الآن أثناء استمرار الحساب في الخلفية.

يتم تحقيق ذلك باستخدام WebFX Worker API و WebAssembly API ، والتي تُترجم إلى عمال الويب الفعليين لمنصة الويب ، وسلاسل Java القياسية للأنظمة الأساسية الأخرى.

عندما يتم دعم WebAssembly (النظام الأساسي للويب فقط) ، يتم إجراء الحساب باستخدام WebAssembly.


الروابط

كود المصدر التجريبي: https://github.com/webfx-demos/webfx-demo-mandelbrot
موقع ويب WebFX: https://webfx.dev
WebFX GitHub: https://github.com/webfx-project/webfx

الإصدارات Mandelbrot (WebFX demo)