1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2023-12-20

can-you-convert-java-applications-to-webassembly-javascript--1024x1024.jpeg

一般的に信じられていることとは異なり、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://cheerpj.com/can-you-convert-java-applications-to-html5-and-webassembly-javascript/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?