2008年2月 8日
JTPAギークサロン「半谷明氏と Android について語る」
今回のJTPAギークサロンは、 携帯電話業界で話題となっている Googleの「 Android(アンドロイド) 」について。 その話題性の高さからか、 通常のギークサロンの倍近い参加者であった。「 Android(アンドロイド) 」は、 現在 Googleにより開発されている 携帯電話向けの ソフトウェア・プラットフォームである。 Linuxをベースとしており、その上で Java VM(Virtual Machine)を実装している。 ただし、Java と言っても Sun Microsystems が 推進している J2ME等とは 異なったフレームワークとなっているらしい。
アプリケーションの開発環境としては、 Eclipse IDE の プラグインという形をとっている。 また SDK がサポートしているOSは Windows、Mac OS(Intel)、Linux(i386) だそうだ。 さらに、Android(アンドロイド) では、 UI(ユーザー インターフェース) は XMLで記述することになっている。
今回の講演をされた 半谷 明 (はんがい あきら) 氏は、 1970年の横浜生まれ、横浜出身。 1990年にウィスコンシン州へ渡米。 その後、1998年に Netscape 入社し、 California San Francisco Bay Area ("Silicon Valley") に移住。 以来、現在(2008年)まで、SF Bay Area 在住(永住)。 2006年からは Google でソフトウェア開発しておられる。
【参考リンク】
カテゴリー: JTPA , Java 22:08 | コメント (0) | トラックバック (0)
2007年6月21日
CDC (Connected Device Configuration)
Javaの 組み込み機器用のプラットホーム「JavaME(Java Platform, Micro Edition)」には 現在のところ、2つのコンフィグレーションが存在する。 ひとつは、昨日のブログでレポートした「CLCD (Connected Limited Device Configuration)」で、 もうひとつが、今日のブログのネタである 「CDC (Connected Device Configuration)」である。CDC は、比較的高速なネットワークに接続された ハイエンドのPDA、セットトップ・ボックス 等のコンシューマー機器 や 組み込み機器を 想定デバイスとしている。 そのスペックとして 32-bit のプロセッサ、2 MB の RAM、 Javaプラットホーム用の 2.5 MB の ROM が 搭載されていることを前提としている。
CDC は CLCDのスーパーセットであり CDC 1.1の機能は、J2SE 1.4.2に相当する。 ただし、一部機能は利用できない。
CDC上のプロファイルとしては以下のように3つあり、
- Foundation Profile
- JavaSE(Java Platform, Standard Edition)を基にした クラス・ライブラリ
- GUIはサポートしていない
- CLDC 1.0 互換ライブラリ
- Personal Basis Profile
- Foundation Profile API を全て含む
- Lightweight component (軽量コンポーネント) をサポート
- Xlet をサポート
- Personal Profile
- Personal Basis Profile API を全て含む
- 完全な AWT をサポート
- アプレットをサポート
- PersonalJava からの移行可能
CDCのドキュメントに関しては、API Documentation として 「日本版 Connected Device Configuration (CDC), バージョン 1.1.2」、 「日本版 Foundation Profile, version 1.1.2」 がある。また、 「CDC White Paper 日本語版」 でも、CDC全般に関しての詳しい説明が日本で読めるので非常に参考になる。
【参考リンク】
- Java ME Technology - CDC (Sun本家の英語ページ)
- CDC Overview (Sun本家の英語ページ)
- Java ME Technology APIs & Docs
- Java ME Technology API Documentation 英語版 Connected Device Configuration (CDC), version 1.1.2
- Java ME Technology API Documentation 日本版 Connected Device Configuration (CDC), バージョン 1.1.2
- Java ME Technology API Documentation 英語版 Foundation Profile, version 1.1.2
- Java ME Technology API Documentation 日本版 Foundation Profile, version 1.1.2
- CDC White Paper 日本語版
カテゴリー: Java 22:10 | コメント (0) | トラックバック (0)
2007年6月20日
CLDC (Connected Limited Device Configuration)
Javaの 組み込み機器用のプラットホーム「JavaME(Java Platform, Micro Edition)」には 現在のところ、2つのコンフィグレーションが存在する。 ひとつは、「CDC (Connected Device Configuration)」で、 もうひとつが、この「CLCD (Connected Limited Device Configuration)」 である。CLDCは、CPUパワーやメモリ、グラフィック性能が制限されている ポケベル、携帯電話、低機能のPDA などで 利用されることを前提に設計されている。 CLDCで具体的に前提としている機能や性能としては、
- 16MHz以上のクロックの 16-bit もしくは 32-bit のプロセッサ
- CLDCライブラリや仮想マシン用の 160KB以上の不揮発性メモリ
- Javaプラットホーム用の 最低192KBのメモリ
- バッテリーでも稼動できる 低消費電力
- 帯域幅の制限されたネットワーク接続機能
上記のような仕様の機器でJavaを走らせるために、 CLDCライブラリは、 JavaSE(Java Platform, Standard Edition) のAPIのうち
- java.lang
- java.io
- java.util
- javax.microedition.io
CLDC上のプロファイルとして、
- MIDP (Mobile Information Device Profile)
- DoJa
- IMP (Information Module Profile)
【参考リンク】
- ウィキペディア「Connected_Limited_Device_Configuration」
- Connected Limited Device Configuration (CLDC); JSR 30, JSR 139 (Sun本家の英語ページ)
- ウィキペディア「Java_Platform,_Micro_Edition」
- JavaME(Sun本家の英語ページ)
- Java ME Technology APIs & Docs
- ウィキペディア「Mobile_Information_Device_Profile」
- ウィキペディア「DoJaプロファイル」
カテゴリー: Java 22:07 | コメント (0) | トラックバック (0)
2007年6月19日
Java ME(Java Platform, Micro Edition)
昨日のブログで、Java のプラットフォームに 「JavaSE」「JavaEE」「JavaME」の3つがあることまで調査できた。 今回は特に、「JavaME」について調査してみる。Java ME とは、以前は「J2ME」と表記されていたもので、 MEは「Micro Edition」の頭文字から来ており、 主に組み込み機器を対象としている。 組み込み機器と言っても、ポケベルや炊飯器のような機器もあれば、 携帯電話、PDA、セットトップボックスや インターネット接続もできるテレビまで といろいろである。 また、メモリやCPUの性能の違いというだけでなく、 機能として、キーボードやディスプレー・デバイスが あるものないものと、それぞれの機器によって、動作環境が異なるわけだ。 そのため、「Java ME」には 「JavaSE」「JavaEE」とは異なり、 「Java ME」というプラットフォームの中にさらに もっと細かな分類が存在している。
このことについては、 Sun Developer Connection(日本語版)「Java ME」 に解説されているとおり、
- コンフィグレーション
- プロファイル
- オプションパッケージ
「コンフィグレーション」 については、 Java 仮想マシンおよびクラスライブラリの最小セットを定義している。 現在のところ、
- CLDC (Connected Limited Device Configuration)
- CDC (Connected Device Configuration)
「プロファイル」 と言うのは、 携帯電話あるいは PDA など特定のカテゴリに属するデバイス向けの 完全な実行環境を提供するために定義された API のセットである。 CDC、CLDC の各コンフィグレーション毎に、 MIDP、 DoJa、 Foundation Profile(JSR 219)、 Personal Basis Profile(JSR 217) 、 Personal Profile(JSR 216) など複数のプロファイルが存在する。
「オプションパッケージ」とは、 より限定的なマーケットの要求をサポートするために、 コンフィグレーションおよびプロファイルに追加して使用できる機能 (Web サービスやマルチメディア機能など)を定義している。
【参考リンク】
- ウィキペディア「Java_Platform,_Micro_Edition」
- Sun Developer Connection(日本語版)「Java ME」
- JavaME(Sun本家の英語ページ)
- Java ME Technology APIs & Docs
カテゴリー: Java 22:27 | コメント (0) | トラックバック (0)
2007年6月18日
Java のプラットフォーム
今日も Javaの続き。 今回は、Java のプラットフォーム について調査してみた。Javaはもともと、「 Write once, run anywhere.(一度コードを書けば、どの環境でも動く)」 を目指していたので、当初は1種類のJavaしかなリリースされていなかった。 しかし、下は ポケベルのような小さな組み込みシステムから 上は大規模なエンタープライズ・サーバー・システムまで と多様化するニーズに1つのJavaで対応するのは不可能と サン・マイクロシステムズも判断し、現在のところ、 以下の3つのプラットフォーム(エディション)に分かれている。
- Java SE(Java Platform, Standard Edition)
主にデスクトップを対象としており、 最も一般的なJava環境。 - Java EE(Java Platform, Enterprise Edition)
主にサーバーを対象としており、 Java SE に加え、サーバーサイドに特化した機能が付加されている。 - Java ME(Java Platform, Micro Edition)
主に組み込み機器を対象としており、 メモリなどのリソースが限られた機器上でも動作できるように 機能を限定した環境。
以前は、上記のプラットフォームを それぞれ 「J2SE」 「J2EE」「J2ME」と呼んでいた時期もあり、 少し古い書籍などでは そのような表記が残っているが、 現在では、上記のとおり 「JavaSE」「JavaEE」「JavaME」となっている。
【参考リンク】
- ウィキペディア「Java」
- ウィキペディア「Javaプラットフォーム」
- ウィキペディア「Java_Platform,_Standard_Edition」
- ウィキペディア「Java_Platform,_Enterprise_Edition」
- ウィキペディア「Java_Platform,_Micro_Edition」
- Sun Developer Connection(日本語版)「Java SE」
- Sun Developer Connection(日本語版)「Java EE」
- Sun Developer Connection(日本語版)「Java ME」
カテゴリー: Java 22:44 | コメント (0) | トラックバック (0)
2007年6月17日
JSR と JCP
昨日に続き、Javaについて。 Javaのことを調査していると、必ず 「JSR 176」というような表現に出会う。 これは何なのかを調べてみる。JSRについて調べるまえに、 まず、Javaの仕様の決め方について。 Javaは もともと Sun Microsystems社 によって開発されたので、 その仕様も もちろん Sun Microsystems社によってきめられたものだった。 しかし現在では、 Javaの新しい仕様や方向性については Sun Microsystems 1社で決めているわけではなく、 多くの企業や個人が参加するコミュニティによって決められている。 このコミュニティによって進められる仕様策定のプロセスのことを 「JCP(Java Community Process)」 と呼んでいる。
JCPのメンバーによって、提案された新たなJavaの仕様は JSR(Java Specification Request) 文書として 番号付きで管理される。 その後、専門家によるコミュニティ・ドラフト、 そして一般からのレビューとフィードバックを受けるパブリック・ドラフト の段階を経て最終承認を受けることになる。
最終承認を受けた後も、その仕様のJSR番号は そのまま残されている。 また、同じテクノロジーに関する仕様でも、 そのバージョンにより、別々のJSR番号になっている。 例えば、Java Standard Edition に関して言えば、 J2SE1.4 が JSR 59、 J2SE5.0 が JSR 176、 Java SE 6 が JSR 270 のようになっている。
このような仕様の承認経緯から、 最近のすべてのJavaの仕様にはJSR番号が割り振られている。 主なJavaの仕様と そのJSR番号は ウィキペディア「Java_Community_Process」に一覧としてまとめてある。
【参考リンク】
カテゴリー: Java 10:12 | コメント (0) | トラックバック (0)
2007年6月16日
Java についての調査
これから、少しずつ、Javaについても調査してみようと思うが、 今日は、まず Java に関する情報の収集方法について調査してみる。「Java」は、ご存知のとおり、 サン・マイクロシステムズ(Sun Microsystems)社が開発した プログラミング言語である。 よって Javaに関する情報は サンが供給しているものがオリジナルとなる。 Javaについて調査していると、すぐに見つかるのが 「java.com」 であるが、これは どちらかと言うと ユーザー向けのサイトになっているようだ。 ここでは、各種OS向けの Java Runtime Environment が ダウンロードできるようになっている。
開発者向けの情報は Sun Microsystems 「The Source for Java Developers」 が本家。もちろん英語。 日本語では、 「JAVAテクノロジ」がホームページとなっているが、 詳細については、ほとんどの項目が英語サイトへのリンクとなっているようだ。 どうも、Javaの開発環境について、詳しく調査するには 英語を読むしかないようだ。 日本語としては、どちらかというと 「Sun Developer Connection(日本語版)」 の方が情報量が多いようだ。
それから Javaのチュートリアルは、もちろん英語ではあるが、 「The Java Tutorials」 からアクセスできる。 Java言語仕様は 「The Java Language Specification」 にある。現在のところ第3版になっている。 書籍として出版もされているが、 ウェブページ 「The Java Language Specification, Third Edition からでも読むことができる。 でも このサイトを読むのは よっぽどのことでもなければ読まないと思うが。
Javaに関する日本語の情報としては、@ITの 「Java Solution」 に 多数の記事としてまとめられている。 ここにある記事を読みこなせば、立派なJavaスペシャリストになれるかもしれない。
【参考リンク】
- java.com
- Sun Microsystems 「The Source for Java Developers」
- JAVAテクノロジ(日本語)
- Sun Developer Connection(日本語版)
- The Java Tutorials
- The Java Language Specification
- The Java Language Specification, Third Edition
- ウィキペディア「Java」
- @IT「Java Solution」
カテゴリー: Java 22:06 | コメント (0) | トラックバック (0)