Java Platform, Micro EditionまたはJava MEは、組み込みデバイスやモバイルデバイス(マイクロコントローラ、センサー、ゲートウェイ、携帯電話、パーソナルデジタルアシスタント、TV セットトップボックス、プリンタ)用のポータブルコードの開発と展開のためのコンピューティングプラットフォームです。 [1] Java ME は、以前はJava 2 Platform, Micro EditionまたはJ2MEと呼ばれていました。
このプラットフォームは、オブジェクト指向の Javaプログラミング言語を使用し、Java ソフトウェア プラットフォームファミリの一部です。これは、Sun Microsystems (現在のOracle Corporation )によって設計され、同様のテクノロジであるPersonalJavaに代わるものです。
2013年には、Java ME対応の携帯電話が30億台以上市場に出回っていましたが[2]、スマートフォンがフィーチャーフォンを追い越したため、プラットフォームは衰退し続けました[3] 。
歴史
このプラットフォームは、NokiaのSeries 40モデルなどのフィーチャーフォンで人気がありました。また、ネイティブソフトウェアとともに、BadaオペレーティングシステムとSymbian OSでもサポートされていました。Windows CE、Windows Mobile、Maemo、MeeGo、Androidのユーザーは、それぞれの環境用のJava MEをダウンロードできました(Androidの「概念実証」)。[4] [5]
もともとJavaコミュニティプロセスの下でJSR 68として開発されたJava MEのさまざまなフレーバーは、個別のJSRで進化してきました。Java MEデバイスはプロファイルを実装します。最も一般的なものは、携帯電話などのモバイルデバイスを対象としたモバイル情報デバイスプロファイルと、セットトップボックスやPDAなどの消費者向け製品や組み込みデバイスを対象としたパーソナルプロファイルです。プロファイルは構成のサブセットであり、現在、 Connected Limited Device Configuration (CLDC)とConnected Device Configuration (CDC)の2つがあります。 [6]
2008 年、Java ME プラットフォームはJRE 1.3 の機能に制限され、そのバージョンのクラス ファイル形式 (内部的にはバージョン 47.0 と呼ばれます) が使用されました。
実装

Oracle は、仕様のリファレンス実装と、MIDP および CDC のいくつかの構成およびプロファイルを提供しています。JavaME 3.0 SDK 以降、NetBeansベースの IDE は、これらを単一の IDE でサポートしました。
Sun がサーバーやワークステーション向けに構築した Java プラットフォームの多数のバイナリ実装とは対照的に、Sun は Java ME ターゲットのプラットフォーム用のバイナリを提供しておらず、代わりにサードパーティに独自のバイナリを提供させる傾向がありました。
例外はPalm OS用のMIDP 1.0 JRE (JVM)です。[7] Sunは、コード名「Captain America」で知られるPersonalJavaの噂されている内部実装をリリースするようにという公開書簡キャンペーンをSunに送ったにもかかわらず、Microsoft Windows Mobile (Pocket PC)ベースのデバイス用のJ2ME JREを提供していません。[8]サードパーティの実装は、Windows Mobileベンダーによって広く使用されています。
ある時点で、Sun はphoneMEという名前で、現在は廃止されたリファレンス実装をリリースしました。
Java ME をターゲットとしたオペレーティング システムは、DoCoMoによってDoJaとして、またSavaJeによって SavaJe OS として実装されています。後者の会社は 2007 年 4 月に Sun に買収され、現在は Sun のJavaFX Mobileの基盤となっています。
オープンソースのMika VM はJavaME CDC/FP を実装することを目的としていますが、そのように認定されていません (認定された実装にはロイヤリティを請求する必要がありますが、これはオープンソース プロジェクトでは非現実的です)。したがって、この実装を使用するデバイスは JavaME CDC 互換性を主張することはできません。
LinuxベースのAndroidオペレーティングシステムは、Java MEと意図は似ているものの、多くの点で大きく異なる独自バージョンのJavaを使用しています。[9]
エミュレータ
- Sun Java Wireless Toolkit (略称 WTK) は、当初 Sun Microsystems によって提供され、後に Oracle によって提供された独自の Java ME エミュレーターです。
- MicroEmulator (略して MicroEMU) は、オープンソースの Java ME エミュレーターです。
他にも、Nokia、 Sony-Ericsson、Siemens Mobile など の携帯電話メーカーが開発キットの一部として提供するエミュレーターなどがあります。
接続された限定デバイス構成
Connected Limited Device Configuration (CLDC) には、Java クラス ライブラリの厳密なサブセットが含まれており、Java 仮想マシンの動作に必要な最小限の量です。CLDC は基本的に、無数のデバイスを固定構成に分類するために使用されます。
構成は、J2ME 環境の各実装に必須のライブラリと仮想マシン機能の最も基本的なセットを提供します。1 つ以上のプロファイルと組み合わせると、Connected Limited Device Configuration は、開発者にコンシューマー デバイスおよび組み込みデバイス用のアプリケーションを作成するための堅牢な Java プラットフォームを提供します。この構成は、合計メモリが 160 KB ~ 512 KB のデバイス向けに設計されており、Java プラットフォーム用に最低 160 KB の ROM と 32 KB の RAM が使用可能です。
モバイル情報デバイスプロファイル
携帯電話向けに設計されたMobile Information Device Profileには、 GUIとデータ ストレージ APIが含まれており、MIDP 2.0 には基本的な 2D ゲームAPIが含まれています。このプロファイル用に作成されたアプリケーションはMIDletと呼ばれます。
JSR 271: Mobile Information Device Profile 3 (2009 年 12 月 9 日の最終リリース) は、第 3 世代の Mobile Information Device Profile (MIDP3) を指定し、すべての領域で機能を拡張するとともに、デバイス間の相互運用性を向上させました。MIDP3 の主な設計目標は、MIDP2 コンテンツとの下位互換性です。
情報モジュールプロファイル
情報モジュール プロファイル( IMP) は、自動販売機、産業用組み込みアプリケーション、セキュリティ システム、およびディスプレイがシンプルまたはディスプレイがなく、ネットワーク接続が制限されている同様のデバイスなどの組み込みの「ヘッドレス」デバイス用のプロファイルです。
もともとSiemens MobileとNokiaによってJSR -195として導入された IMP 1.0 は、ユーザー インターフェイスAPI を含まない点を除いてMIDP 1.0の厳密なサブセットです。つまり、Java パッケージ のサポートは含まれていません。JSR-228 (IMP-NG とも呼ばれる) は、 MIDP 2.0に基づく IMP の次世代であり、MIDP 2.0 の新しいセキュリティおよびネットワーク タイプと API、および や などの他の API を活用していますが、UI API もゲーム API も含まれていません。
javax.microedition.lcduiPushRegistryplatformRequest()
接続デバイスの構成
Connected Device Configuration はJava SEのサブセットであり、GUI に関連しないほぼすべてのライブラリが含まれています。CLDC よりも機能が豊富です。
財団プロフィール
Foundation Profile は、Java ME Connected Device Configuration (CDC) プロファイルです。このプロファイルは、Java Platform, Standard Edition API 全体を含む Java 仮想マシンの完全な実装を必要とするデバイスで使用することを目的としています。一般的な実装では、サポートされている追加プロファイルに応じて、その API セットのサブセットが使用されます。この仕様は、Java Community Process に基づいて開発されました。
個人ベースプロファイル
Personal Basis Profile は Foundation Profile を拡張し、 AWTサブセットの形式で軽量 GUI サポートを組み込みます。これがBD-Jが構築される プラットフォームです。
JSR (Java 仕様要求)
財団
主な拡張機能
未来
電子放射
ESR コンソーシアムは、組み込み Java の標準に取り組んでいます。特にコスト効率の高い標準です。代表的なアプリケーション領域は、産業用制御、マシンツーマシン、医療、電子計測、ホームオートメーション、消費者、ヒューマンツーマシンインターフェイスなどです。
参照
- Android(オペレーティング システム)
- iOS
- ブラックベリーOS
- デンジャーヒップトップ
- 組み込みJava
- JavaFXモバイル
- モバイル開発
- モバイルゲーム
- モバイル学習
- クアルコムブリュー
- スマートフォン
参考文献
- ^ 「Java ME の概要」。Oracle Corporation。2017年2 月 26 日閲覧。
- ^ 「Java テクノロジーについて学ぶ」。2013 年 3 月 8 日時点のオリジナルよりアーカイブ。2024 年2 月 15 日閲覧。
- ^ Farivar, Cyrus (2013年8月14日). 「スマートフォンがフィーチャーフォンを(再び)初めて世界で上回る」. Ars Technica . 2024年3月15日閲覧。
- ^ Windows CE、Windows Mobile、Android 用の phoneME (2011-06-15 に開発が停止) - 出典はこちら
- ^ “App Runner (開発は2010年5月11日に停止)”。2012年1月3日時点のオリジナルよりアーカイブ。2012年8月5日閲覧。
- ^ Java ME テクノロジー
- ^ MIDP for Palm OS 1.0: Palm OS デバイス向け Java アプリケーションの開発 2002 年 1 月
- ^ CDC と個人プロファイル - Pocket PC 用の個人用 Java JRE を作成するための SUN への公開書簡 2008 年 6 月 3 日アーカイブ、Wayback Machine 2003
- ^ モバイルアプリケーション開発: Android と J2ME の比較 2018 年 9 月 25 日アーカイブ、Wayback Machine 2013 年 2 月
- 注記
- JSR 232: モバイル運用管理 – モバイル コンピューティングのための高度な OSGi テクノロジ ベースのプラットフォーム
- JSR 291: Java SE の動的コンポーネント サポート - Java SE から Java ME への対称プログラミング モデル JSR 232
文献
- Ben Hayun、Roy (2009 年 3 月 30 日)。Symbian OS 上の Java ME: スマートフォン モデルの内部 (第 1 版) 。Wiley。p . 482。ISBN 978-0-470-74318-8。
- Knudsen, Jonathan (2008 年 1 月 8 日)。『MIDP と MSA で最強のモバイル アプリケーションを作成する(第 1 版)』。Prentice Hall。p. 432。ISBN 978-0-321-46342-5。
- Li, Sing、Knudsen, Jonathan (2005 年 4 月 25 日)。『Beginning J2ME: From Novice to Professional (第 3 版)』。Apress。p . 480。ISBN 1-59059-479-7。
外部リンク
- Sun Developer Network、Java ME
- Nokia の開発者ハブ Java ページ
- Nokia S60 Java ランタイム ブログ
- ソニー・エリクソン デベロッパーワールド
- Motorola Developer Network 2009年7月21日アーカイブ、Wayback Machine
- J2ME オーサリング ツール LMA ユーザー ネットワーク
- Samsung Mobile Developerのサイト
- スプリントアプリケーション開発者のウェブサイト
- Java ME 互換デバイスのパフォーマンス データベース
- 組み込みシステム向け MicroEJ プラットフォーム
- 書籍 - Java ME (J2ME) を使用した携帯電話プログラミング 2016 年 3 月 5 日にWayback Machineにアーカイブされました
- チュートリアル マスター ng、J2ME
