Mandelbrot (WebFX demo)

Mandelbrot (WebFX demo)

  • 最新版本
  • NKT-IKBU

一个简单的 Mandelbrot 应用程序来演示 WebFX

关于此应用程序

目标听众

此应用程序已针对 WebFX 项目之后的开发人员发布,并且是项目演示的一部分。


对于新观众

WebFX 是一个免费的开源跨平台解决方案,可以从单个 Java 代码库针对 7 个平台(Web、Android、iOS、macOS、Linux、Windows 和 Raspberry Pi 等嵌入式平台)。
底层技术:OpenJFX、Gluon 和 GWT。

例如,您可以在 https://mandelbrot.webfx.dev 访问同一应用程序的网络版本

无论平台如何,应用程序源代码都是完全相同的(请参阅下面的链接部分以访问此演示的源代码)。
该应用程序是用 Java 编写的,并使用 JavaFX API 构建用户界面。
Gluon 工具链(建立在 GraalVM 之上)用于将应用程序 Java 代码编译为适用于除 Web 之外的所有平台(因此包括此 Android 版本)的本机应用程序。
GWT 用于编译Web 版本。它将 Java 代码转换为优化的 JavaScript 代码。
因此,所有平台中的所有可执行文件都提供了优化的性能。


关于这个特别的演示

该演示类似于光线追踪器演示,但除此之外它还利用了 Web 平台上的 WebAssembly。

与 Ray tracer 一样,Mandelbrot 演示展示了一个应用程序示例,尽管 CPU 使用率很高,但它不会阻塞 UI,并且可以在任何平台(甚至在 Web 上)使用。

当应用程序进行计算时,UI 仍然是反应性的,您甚至可以在它在后台继续计算的同时播放到目前为止计算的动画。

这是通过使用 WebFX Worker API 和 WebAssembly API 实现的,它们被转换为 Web 平台的实际 Web Workers,以及其他平台的标准 Java 线程。

当支持 WebAssembly 时(仅限 Web 平台),计算是使用 WebAssembly 完成的。


链接

演示源码:https://github.com/webfx-demos/webfx-demo-mandelbrot
WebFX 网站:https://webfx.dev
WebFX GitHub:https://github.com/webfx-project/webfx

版本 Mandelbrot (WebFX demo)