DEV Community

Cover image for Java 編譯成 WebAssembly 的工具
Leon
Leon

Posted on Originally published at editor.leonh.space

Java 編譯成 WebAssembly 的工具

古早的年代想在網頁內埋 Java 還有 Java applet 可以用,在 Java applet 式微後,找來找去比較可以的辦法大概就是編譯成 WebAssembly 了吧!

想要把 Java 編譯成 WebAssembly,有下面三個工具可以選用:

TeaVM

TeaVM 是個 Java 到 JavaScript 的轉碼工具。TeaVM 接受的來源是 Java bytecode,意即不只是 Java,只要能編譯成 Java bytecode 的語言,包括 Kotlin 等,都可以透過 TeaVM 編譯成 WebAssembly 或轉碼成 JavaScript。

不過 Java 到 WebAssembly 這一部份還只在實驗階段,只適合拿來當玩具,不適合拿來做工具。

CheerpJ

與樓上一樣是 Java bytecode 到 WebAssembe 或 JavaScript 的工具。背後有商業公司支持,因此令人感覺發展的完整度也較高,相對來說,商業用途就必須付費,只有非商業用途免費,付費除了買授權外,同時也會有顧問提供技術支援,果然天下沒有白吃的午餐啊。

JWebAssembly

從名字就可以聯想到 JWebAssembly 只專注於 Java bytecode 到 WebAssembly 的轉換。一樣比較偏玩具性質。

小結

一輪調查完畢,雖然三個工具各有特色,也都各有限制,技術上的限制可能是某一些 Java 的特性很難被完整的轉換,非技術上的限制就是錢錢的問題啦,目前並沒有既免費又傻瓜的轉換器這樣的東西存在,不過還是謝謝佛心的 CheerpJ 有提供非商用的免費版給大家。

Top comments (0)