Mandelbrot (WebFX demo)

Mandelbrot (WebFX demo)

  • Последняя версия
  • NKT-IKBU

Простое приложение Mandelbrot для демонстрации WebFX

Об этом приложении

ЦЕЛЕВАЯ АУДИТОРИЯ

Это приложение было опубликовано для разработчиков, следящих за проектом WebFX, и является частью демонстрации проекта.


ДЛЯ НОВОЙ АУДИТОРИИ

WebFX — это бесплатное кроссплатформенное решение с открытым исходным кодом, которое может работать с 7 платформами (Web, Android, iOS, macOS, Linux, Windows и встраиваться, например, Raspberry Pi) из единой базы кода Java.
Базовые технологии: OpenJFX, Gluon и GWT.

Например, вы можете посетить веб-версию этого же приложения по адресу https://mandelbrot.webfx.dev.

Независимо от платформы, исходный код приложения одинаков (см. раздел ССЫЛКИ ниже, чтобы получить доступ к исходному коду этой демонстрации).
Приложение написано на Java и использует API JavaFX для создания пользовательского интерфейса.
Цепочка инструментов Gluon (построенная поверх GraalVM) используется для компиляции кода Java приложения в собственное приложение для всех платформ, кроме Интернета (включая эту версию для Android).
GWT используется для компиляции веб-версии. Он преобразует код Java в оптимизированный код JavaScript.
В результате все исполняемые файлы на всех платформах обеспечивают оптимизированную производительность.


ОБ ЭТОМ КОНКРЕТНОМ ДЕМО

Эта демонстрация похожа на демонстрацию трассировки лучей, но, кроме того, она использует преимущества WebAssembly на веб-платформе.

Как и в случае с трассировщиком лучей, демонстрация Mandelbrot показывает пример приложения, которое не блокирует пользовательский интерфейс, несмотря на высокую загрузку ЦП, и это на любой платформе (даже в Интернете).

Пока приложение выполняет вычисления, пользовательский интерфейс остается реактивным, вы даже можете воспроизводить рассчитанную на данный момент анимацию, пока она продолжает вычисления в фоновом режиме.

Это достигается за счет использования WebFX Worker API и WebAssembly API, которые преобразуются в фактические Web Worker для веб-платформы и стандартные потоки 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)