見出し画像

JavaアプリケーションをHTML5やWebAssembly/JavaScriptに変換できますか?

一般的に信じられていることとは異なり、Javaはまだ完全に終わったわけではなく、特にソフトウェア業界では、全体で2番目に人気のあるプログラミング言語です。

非常に活発なコミュニティ、豊富なツールのエコシステム、膨大な数のライブラリとフレームワークがあり、後方互換性を保ちながら適応と進化が可能で(ほとんどの場合)、今でも業界で広く使われています。

最新のエンタープライズ・アプリケーション

Javaはサーバーサイドやネイティブ・アプリケーションに最適な環境を提供しますが、最近のエンタープライズ・アプリケーション・クライアントはHTML5標準への移行が進んでいます。これは、ユーザーの要求を満たすために、幅広いブラウザ、デバイス、および環境において、より幅広い互換性を活用するためです。

HTML5アプリケーションは、HTML、CSS、JavaScriptなどの標準規格を活用しますが、これらは環境、ブラウザ、バージョンによって実装が微妙に異なることで有名です。HTML5フロントエンド開発の新しい言語と多数のフレームワークを学ぶことに加えて、Javaデベロッパーは新しいライブラリ、イベントモデル、JavaScriptで使用されるプロトタイプ指向のOOPパラダイムを理解する必要があります。

WebAssemblyとモダンブラウザはこれを完全に変えます。コンパイル・ターゲットとしてブラウザを見ることを可能にすることで、WebAssemblyはこれらのトレードオフを排除します。

これにより、JavaデベロッパーはJavaScriptの癖を学ぶ必要がなくなります。あなたが既知のもの、そしてより重要なことは、あなたのチームが既にわかっているものを使って作業することができます。学ぶべき言語が1つ減り、強力な型付けを維持できるようになります!

WebAssemblyとは?

WebAssembly、略してWASMは、Webアプリケーションのネイティブに近いパフォーマンスを約束する小さくて高速なバイナリフォーマットです。WebAssemblyは93%以上のブラウザでサポートされている標準規格です(2020年7月)。

WebAssemblyは、JavaScriptアプリケーションに取って代わるものではありません。むしろWASMはJavaScriptのコンパニオンだと考えてください。JavaScriptは柔軟で、動的で、人間が読めるソースコードで提供されますが、WebAssemblyは高速で、強く型付けされ、コンパクトなバイナリ形式で提供されます。

WebAssemblyはHTML5やJavaScriptと組み合わせることで、ブラウザ上で高性能なアプリケーションを実行できるようにします。どのモダンブラウザでも広くサポートされているため、Java変換ツールの理想的なターゲットです。

JavaをHTML5に変換する方法

JavaをHTML5にコンパイルするには、現在いくつかの選択肢がある:

  • TeaVM - Javaバイトコードの先行時間コンパイラで、JavaScriptとWebAssemblyを生成でき、実行環境は限定されている。ブラウザをターゲットにした新しいJavaアプリケーションを書くのに優れている。

  • JWebAssembly - Java バイトコードから WebAssembly へのコンパイラ。WebAssembly のバイナリまたはテキスト形式を生成できる。Java自体で書かれており、他のJavaビルドツールと統合することができます。ランタイムに制限があり(Swing、AWTを除く)、ゼロから新しいアプリケーションを書くのに適しています。

  • CheerpJ - AOT Java バイトコードコンパイラと、WebAssembly と JavaScript による完全な Java ランタイムを組み合わせたもので、事実上どんな Java アプリケーションでも、手作業なしで JavaScript に変換できます。Swing、AWT、Spring、その他のJavaフレームワークと互換性があり、既存のJavaアプリケーションをHTML5に変換するためのものです。

なぜCheerpJなのか?

代替ソリューションとは異なり、CheerpJはアプリケーションのソースコードに変更を加える必要がなく、フレームワークでもないため、意見を述べることもありません。

CheerpJの主なターゲットは、Swingクライアント、Javaアプレット、Javaライブラリなど、既存のJavaクライアントアプリケーションをHTML5に変換・移行することです。

CheerpJを使ってJavaアプリケーションを変換するのは簡単です:

  • CheerpJコンパイラーを使い、全ての.jarアーカイブを前もって変換します;

  • 結果のJavaScriptとWebAssemblyをWebサーバーにホストします;

  • 変換したアプリケーション(ライブラリの場合はリンク)をHTMLページに埋め込み、どのブラウザからでもアクセスできます。

CheerpJは、すべてのアプリケーションコンポーネント(変換されたアプリケーションとランタイム)が静的であるため、サーバーサイドのサポートを必要としません。CheerpJアプリケーションをCDNの後ろに置くことで、帯域幅のコストを実質的にキャンセルすることができます。

CheerpJはWindows、macOS、Linuxに対応しています。
ダウンロードはこちらから。

https://leaningtech.com/legacy-modernisation-jp/

引用元:https://cheerpj.com/can-you-convert-java-applications-to-html5-and-webassembly-javascript/


この記事が気に入ったらサポートをしてみませんか?