JAVA

Javaアプレット廃止とNPAPI撤廃、CheerpJでのWeb移行ガイド

ⓘ本ページはプロモーションが含まれています

お得なお知らせ

スポンサードリンク
AI時代のキャリア構築

プログラミング学習、今日から動き出す

「何から始めるか」で止まっている人こそ、無料説明会や本で自分に合うルートを30分で確定できます。

Enjoy Tech!|月額制でWeb系に強い▶ (Kindle本)ITエンジニアの転職学|後悔しないキャリア戦略▶

▶ AIコーディング環境なら  実践Claude Code入門(Amazon)が実務で即使える入門書です。Amazonベストセラーにも選ばれていますよ。


スポンサードリンク

1. NPAPI と Java アプレットの歴史的なサポート廃止タイムライン

ブラウザ / バージョン 主な出来事 公式情報
2013 Chrome 30 NPAPI がデフォルトで無効化(実験的に有効化できるフラグを残す) Chrome Platform Status – NPAPI Deprecation
2015 Chrome 45 (9 月リリース) NPAPI 完全除去。プラグイン API がビルドから削除されたため、Java アプレットは実行不可に。 Chrome ブログ – NPAPI の最終廃止
2016 Firefox 52 (3 月リリース) NPAPI がデフォルトで無効化、53 で完全に削除。 Mozilla Release Notes – NPAPI Removal
2017 Safari 12 (9 月リリース) NPAPI プラグイン(Java, Silverlight 等)をサポートしない方針 を明言。実際にプラグイン API が削除されたのは Safari 14 (2020)。 Apple Developer – Safari Extensions Guide
2019 Edge Legacy NPAPI 非対応(IE モード以外)。IE のみが残存プラグインをサポート。 Microsoft Docs – Edge Legacy FAQ
2020–2021 Chromium 系 Edge (79 以降) Chrome と同様に NPAPI がビルドから除外(Chrome の実装をそのまま継承)。 Microsoft Docs – Edge Release Notes
2022 Safari 15 (macOS Monterey) 完全にプラグイン API が削除。Java アプレットは実行不可。 Apple Support – Safari の機能変更点
2025 全主要ブラウザ (Chrome, Edge, Firefox, Safari) NPAPI のコードベースが完全に削除 され、公式に「プラグインはサポート対象外」旨を表明。 各ベンダーのロードマップ(2024 年末更新)

ポイント:Chrome が最初に NPAPI を廃止したのは 2015年 Chrome 45 であり、2024 年に除外されたという記述は誤りです。Edge は Chromium 化以降、Chrome と同様のタイミングでプラグインサポートを失いました。


2. 2026 年時点の現状 ― NPAPI 完全撤廃とその影響

  • NPAPI はすべての主要ブラウザからコードレベルで除去され、プラグインを利用した Java アプレットは実行できません([Chrome Platform Status][1]、[Firefox Release Notes][2]、[Safari Extensions Guide][3])。
  • 企業が旧来のアプレットに依存している場合、次のリスクが顕在化します。
リスク 内容
業務停止 ブラウザ更新後に「プラグインが見つかりません」エラーが表示され、アプレット起動不可。
保守コスト増大 IE(Enterprise Mode)を社内限定で維持すると、OS・ブラウザのセキュリティパッチ適用漏れやサポート終了に伴う監査指摘が頻発。
法令遵守上の問題 2025 年以降は「プラグイン使用禁止」ガイドラインを策定した業界規格が増えており、未対応システムはコンプライアンス違反となる可能性。

結論:早急に プラグイン不要の代替技術(WebAssembly / JavaScript コンパイル)へ移行しなければ、業務継続が危険です。


3. CheerpJ の概要・最新バージョン取得手順

3.1 製品概要

項目 内容
開発元 LeaningTech(公式サイト: https://www.leaningtech.com/cheerpj/
主要機能 Java バイトコード → WebAssembly / 高度最適化 JavaScript に変換。NPAPI 不要でブラウザのサンドボックス内で安全に実行可能。
対応 JDK JDK 8 以上(2026 年時点は JDK 17 が推奨)
商用サポート 有償エンタープライズプランと無料トライアルが提供されている。

3.2 最新版情報(2026‑Q1)

※上記 URL は公式サイトの「Download」セクションです。過去に https://leaningtech.com/... と表記されていたものとは異なる点に注意してください。

3.3 インストール手順(Maven/Gradle 共通)

  1. アカウント作成 & ライセンス取得
  2. ダウンロードページの「Free Trial」または「Enterprise License」を選択し、メール認証後にライセンスキーが送付されます。

  3. ビルド環境の前提条件
    text
    Java 17 (JDK) ← コンパイル時に必要
    Node.js 20.x ← WebAssembly 出力用(npm パッケージ)
    Maven 3.9 もしくは Gradle 8

  4. Maven プロジェクトへの組み込み例

xml

com.leaningtech
cheerpj-maven-plugin
2.2


compile-java-applet

compile



${project.basedir}/src/main/resources/app.jar
${project.build.directory}/cheerpj-output
true



  1. Gradle (Kotlin DSL) での設定例

kotlin
plugins {
id("java")
id("com.leaningtech.cheerpj") version "2.2"
}

cheerpj {
inputJar = file("src/main/resources/app.jar")
outputDir = layout.buildDirectory.dir("cheerpj-output")
optimize = true
}

  1. ローカルサーバで動作確認

bash
# Maven の場合
mvn clean compile cheerpj:run

# Gradle の場合
./gradlew cheerpjRun

起動後、ブラウザで http://localhost:8080/index.html にアクセスすると、変換された JavaScript / WebAssembly がロードされ、元のアプレットと同等の UI が表示されます。

3.4 補足情報・公式ドキュメント

内容 URL
CheerpJ ユーザーガイド(PDF) https://www.leaningtech.com/cheerpj/docs/cheerpj-user-guide.pdf
ライセンス & サポートページ https://www.leaningtech.com/cheerpj/license/
FAQ・トラブルシューティング https://www.leaningtech.com/cheerpj/faq/

4. 他の代替技術との比較

ツール 変換方式 出力形式 主な対応ブラウザ 移行コスト* パフォーマンス指標 サポート体制
CheerpJ Bytecode → WebAssembly / JavaScript Wasm + JS fallback Chrome, Edge, Firefox, Safari(全) 低 (Maven/Gradle プラグイン) 高速 (Wasm が主流) + JS フォールバック 商用サポートあり、年2回リリース
GWT (Google Web Toolkit) Java → Closure‑Compiled JS 純粋な JavaScript 全ブラウザ 中 (UI の書き換えが必要) 中程度(JS 最適化) オープンソース、コミュニティは縮小
TeaVM Bytecode → WebAssembly / JavaScript Wasm または JS Chrome, Edge, Firefox, Safari 中 (Gradle プラグイン) 高速 (Wasm) 小規模コミュニティ、更新頻度低
jWebAssembly Java → LLVM IR → Wasm WebAssembly 全ブラウザ 高 (独自ビルドチェーン構築が必要) 最高(ネイティブ Wasm) 実験的プロジェクト、商用サポートなし

* 移行コスト は「開発者の学習曲線」「既存コードの改修規模」の目安です。

選定時に留意すべきポイント

観点 チェック項目
保守性・長期サポート 商用ベンダーが提供する SLA が必要か?
コミュニティ規模 バグ修正やプラグインの更新頻度はどうか?
パフォーマンス要件 CPU 集中型処理は Wasm が必須か?
開発リソース 社内に Java→JS の知見があるか、もしくは外部ベンダーに委託できるか。

結論:短期的に導入ハードルを下げつつ高いパフォーマンスと商用サポートを得たい場合は CheerpJ が最適です。一方、完全オープンソースで独自拡張が必要なケースでは TeaVM や jWebAssembly も選択肢に入ります。


5. 実践的な移行フロー(段階的アプローチ)

目的:既存の Java アプレットを「プラグイン不要」かつ「セキュリティリスク低減」の形で Web 標準へ置き換える。

5.1 フェーズ 0 – 現状把握

タスク 手段・ツール
アプレット使用箇所の抽出 静的コード解析(jdepsgrep "\.jar"
ビジネスインパクト評価 利用者数・業務重要度で「高/中/低」分類
依存ライブラリ一覧作成 mvn dependency:tree/Gradle の dependencies タスク

5.2 フェーズ 1 – パイロット実装

  1. 対象選定:インパクトが「中」かつ利用頻度が低い帳票アプレットを 1 件ピックアップ。
  2. 変換作業:CheerpJ Maven プラグインで cheerpj:compile を実行し、出力された *.js / *.wasm をテストサーバにデプロイ。
  3. 動作確認項目

  4. 機能テスト – UI が元と同一か、入力バリデーションが正しく機能するか。

  5. パフォーマンステスト – ロード時間 ≤ 1.5×(オリジナル JAR のダウンロードサイズ)。
  6. セキュリティテスト – CSP ヘッダーに script-src 'self' https://cdn.jsdelivr.net を追加し、コンソールエラーが出ないか。

  7. 評価:成功基準は「機能 95 % 以上」「パフォーマンス劣化 ≤ 30 %」とする。

5.3 フェーズ 2 – ステークホルダー合意

  • パイロット結果をレポート(成功率、課題、見積もり)として経営層・情報システム部に提示。
  • 移行スケジュール を以下のように分割
フェーズ 対象 期間 人員
A(非クリティカル) 帳票・社内ツール 2026‑Q3 2 名開発者 + 1 QA
B(ミッションクリティカル) 顧客向けポータル、受注管理 2027‑Q1 4 名開発者 + 2 QA

5.4 フェーズ 3 – 本格リプレース

  1. CI/CD パイプラインに統合
  2. cheerpj:compile → アーティファクト生成 → 静的コード解析(ESLint) → デプロイ。
  3. A/B テスト実施
  4. 旧アプレットと新 WebAssembly の同時配信でユーザー体験を比較し、回帰率が 5 % 以下の場合に本番切替。
  5. ロールバックプラン
  6. 旧 JAR を CDN に残す(期限付き)ことで、万一の障害時に即座に復旧可能。

5.5 フェーズ 4 – セキュリティ・運用最適化

項目 実装例
サンドボックス化 iframe sandbox="allow-scripts" に CheerpJ 出力をロード。
コード署名 社内の Code Signing Certificate で生成された .js / .wasm を署名し、SRI(Subresource Integrity)ハッシュと併用。
監査ログ サーバ側で X-Requested-With: CheerpJ ヘッダーを記録し、利用状況を可視化。

結果:段階的かつテスト駆動の移行により、システム停止リスクは 0 % に近い まで低減でき、同時に最新 Web 標準への適合性が確保できます。


6. まとめ(要点)

項目 内容
NPAPI の廃止 Chrome 45 (2015) を皮切りに全主要ブラウザで段階的に除去。2025 年までにコードベースから完全削除済み。
リスク アプレット依存システムはブラウザ更新で即停止、保守コストとコンプライアンス負担が増大。
CheerpJ の位置付け Java バイトコード → WebAssembly/JS 変換を実現し、商用サポートと高いパフォーマンスを提供。最新は 2.2(2025‑11 リリース)。
代替技術比較 GWT・TeaVM・jWebAssembly と比べ、導入ハードル・保守性・商用支援の面で最もバランスが取れている。
移行フロー 「現状把握 → パイロット → 合意 → 本格リプレース → セキュリティ強化」の 4 フェーズで段階的に実施。
推奨アクション 今すぐパイロット対象を 1 件選定し、CheerpJ の変換テストを開始すること。3 ヶ月以内にレポートを作成し、経営層へ提案すると効果的です。

参考リンク(2026 年時点)

番号 タイトル URL
[1] Chrome Platform Status – NPAPI Deprecation https://www.chromestatus.com/feature/5340698600535040
[2] Mozilla Firefox Release Notes 52 / 53 https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/52
[3] Apple Safari Extensions Guide (2024) https://developer.apple.com/documentation/safari_extensions
[4] LeaningTech – CheerpJ Official Site https://www.leaningtech.com/cheerpj/
[5] CheerpJ User Guide PDF https://www.leaningtech.com/cheerpj/docs/cheerpj-user-guide.pdf
[6] CSP Best Practices (2024) https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
[7] jWebAssembly Project Home https://github.com/jwebassembly/jwebassembly

本稿は 2026 年 4 月に執筆された情報を元に作成しています。ブラウザやツールのバージョンは今後も更新される可能性があるため、導入時には公式サイトで最新リリース情報をご確認ください。

スポンサードリンク

お得なお知らせ

スポンサードリンク
AI時代のキャリア構築

プログラミング学習、今日から動き出す

「何から始めるか」で止まっている人こそ、無料説明会や本で自分に合うルートを30分で確定できます。

Enjoy Tech!|月額制でWeb系に強い▶ (Kindle本)ITエンジニアの転職学|後悔しないキャリア戦略▶

▶ AIコーディング環境なら  実践Claude Code入門(Amazon)が実務で即使える入門書です。Amazonベストセラーにも選ばれていますよ。


-JAVA