...

モバイルへの転換

by user

on
Category: Documents
3

views

Report

Comments

Transcript

モバイルへの転換
NIRMAL
KIZHAKKEVEETIL,
PRAKASH
RAMACHANDRAN,
REHA CHAKROBORTY,
AND ANNA ZHUANG
BIO
Nirmal
Kizhakkeveetil
Nokia にて
Series 40 Java
開発ツールを管
理。Prakash
Ramachandran
Nokia のシ
ニア Java 開
発者。Reha
Chakroborty 開発
者向け Nokia Asha
製品のシニア製品マ
ネージャー。Anna
Zhuang Nokia の
開発者向け Series
40 製品のマーケ
ティング・マネー
ジャー。
デン の U I を 構 築 す るた め に
スクトップ・アプリケ ーショ
S w i n g を 利 用したことの ある
方 も 多 い の で は な い でしょう
か 。S w i n g のリッチ で 手 軽 な
点はLightweight UI Toolkit
(LWUIT)の開発のヒントとなり
ました。そして、LWUITは現在、世
界でもっとも普及している携帯電
話プラットフォームであるSeries
40で利用できます。
スマートフォンのような機能を
手頃な価格で実現するSeries
4 0は、N o k i a A s h a 3 1 1や
Nokia Asha 308などの最新
のNokia Asha Touchフォンに
搭載されています( 図1参照)。
Series 40の優れた機能性は、
A s h aフォンの 需 要を喚 起して
います。そしてこの需要の高まり
によって、スマートなアプリに対
するユーザーの関心はかつてな
いほど大きなものとなり、Nokia
Storeでの記録的なダウンロード
数につながっています。
日常的に使用されている
Series 40フォンは、推定6億
7500万台に上ります。これは皆
さんのアプリにとって大きな潜在
市場です。Series 40ではアプリ
ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013
内販売やアプリ内広告がサポート
され、Nokia Storeが提供する事
業者課金システムも統合されてい
ます。アプリを収益化できる手段
が目の前にあるのです。
本記事では、LWUITのスマー
トな開発ツールを利用し、Nokia
Store経由でアプリを配布するこ
とで、Series 40アプリの高まる
需要を活用する方法について説明
します。
LWUIT:モバイル・アプリの
簡素化
モバイル・アプリの開発に手を出し
たものの、最新のUIフレームワー
クがないために、すべての機能を
自分でキャンバス上にコーディン
グし、興味深い機能や便利な機能
の1つひとつに独自のUIフレー
ムワークやUIコントロールを構築
しなければならず、気が滅入った
ことはないでしょうか。その際に、
「なぜSwingを使えないのだろ
う」と思った方もいるでしょう。誰
しもそのような経験があります。
そして、
これこそがLWUIT誕生の
理由です。
LWUITでは、一連のリッチなUI
コンポーネントにより、携帯電話
向けのアプリ構築時に直面するで
あろう典型的な課題の多くが簡単
に解決できるようになります。こ
れらのコンポーネントを利用すれ
ば、魅力的なユーザー・エクスペリ
エンスを備えたアプリを、より少
ない作業で構築できます。ほかに
も、LWUITには、タッチベースの
UIとキーパッドベースのUI、さら
には複数の画面解像度のサポー
トがはじめから組み込まれている
という強みもあります。設計を工
夫し、アプリのロジックからUIを
切り離しているため、単一のUIを
構築し、画面の向きやサイズの異
なる複数のUIスタイルで、また、
さまざまなフォーム・ファクタの
デバイス上で実行できます。さら
に、Nokia Developer Webサイ
トに公開されている、LWUIT for
Series 40向けのLWUITを使用
したさまざまなサンプル・アプリ
で、
これらのLWUITの特性につい
て実際に確認できます。
Series 40に付属するLWUIT
Nokiaには、自社プラットフォーム
でJavaをサポートし、開発者向け
の堅牢で使いやすいツールを構
築してきた長い歴史があります。
JAVA TECH
Nokia Series 40フォンでLightweight UI Toolkitを使用する
ABOUT US
モバイルへの転換
JAVA IN ACTION
COMMUNITY
//mobile and embedded /
blog
図1
72
LWUITを使用した設計
Series 40フォンで使用する3種類の
UIにはそれぞれ独自の特徴があります。
3種類のUIスタイルで共通している部分
も多くありますが、特にフルタッチUI(図
2参照)
と、キーボードまたはキーパッド
のある他の2つのUIスタイル(タッチ&
タイプUIと非タッチUI、図3参照)
には大
きな違いがあります。
たとえば、Series 40のすべてのUI
でドリルダウン方式が採用されていま
す。そのため、
「戻る」機能では、履歴で
はなく階層に従って画面が遷移します。
また、デフォルトで、すべてのUIの画面
の右下とOptionsメニューに「戻る」機
能が付属していますが、フルタッチUI
ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013
Form form = new Form();
GestureHandler
handler = new GestureHandler() {
public void gestureAction(GestureEvent e) {
switch(e.getType()) {
case GestureInteractiveZone
.GESTURE_TAP:
//handle tap
break;
case GestureInteractiveZone.GESTURE_LONG_PRESS:
//handle long press
break;
case GestureInteractiveZone.GESTURE_FLICK:
//handle flick
break;
}
}
};
//set handler to receive gesture events only when the
// form is visible. Every form can have its own handler.
GestureHandler.setFormGestureHandler(form, handler);
//Creating another handler
GestureHandler g = new GestureHandler() {
public void gestureAction(GestureEvent e) {
//handle event
}
};
//if you want to always catch gestures, set the handler
// as a global handler. There can be only one global handler.
GestureHandler.setGlobalGestureHandler(g);
COMMUNITY
動的な変更を新たに組込みでサポート
するようになりました。
タッチUIは、携帯電話Nokia Ashaの
主要機能であり、さまざまなジェスチャ
をサポートします。そのため、Nokiaは単
純で洗練されたソリューションを利用し
て、LWUIT for Series 40を最適化し、
ネイティブのタッチUIと強固に統合しま
した。そのソリューションこそ、
リスト1
に示すGestureHandlerヘルパー・クラ
ス(com.nokia.lwuitパッケージ内)で
す。このクラスはLWUITベースのアプリ
で使用できます。
LWUITのSeries 40への移植に関
する重要な点はほかにもあります。それ
は、
メモリ消費量とパフォーマンスです。
Form、List、HTMLComponentなど
のさまざまな主要コンポーネントが改善
されました。さらに、各種UIウィジェット
のユーザビリティもLWUIT for Series
40で改善されています。
JAVA IN ACTION
LWUITをSeries 40プラットフォームに
追加したことも、この歴史から見て必然
の結果でした。当初の目標は、
フルタッチ
UI、タッチ&タイプUI(タッチ・スクリーン
と、ITUまたはQWERTYのキーボードを
独自に組み合わせたUI)、非タッチUIと
いう、Series 40フォンに見られるすべ
てのUIスタイルでLWUITを利用できる
ようにすることでした。
その後は、LWUIT for Series 40で、
基盤のUIと同じルック・アンド・フィール
を実現する必要がありました。Nokiaは
Series 40ですでに、比較的小さな画
面の携帯電話で優れたユーザー・エクス
ペリエンスを実現するためのUIスタイル
を構築していました。そのため、Nokia
はプラットフォーム
のUIスタイルとの
単一のUI
適 合 性を高めるた
アプリのロ
めに、LWUITの最
ジックからUI 適化を行いました。
を切り離すこ たとえば、L W U I T
のテキスト・エリアと
とで、単一の
UIを構築し、 テキスト・フィールド
は、最近の携帯電話
そのUIを画
に搭 載されて いる
面の向きやサ Series 40のネイ
イズの異なる ティブのテキスト・エ
複数のUIスタ ディタと強固に統合
イルで、また、 されました。
LWUITのスケー
さまざまな
ラブ ル な U Iコン
フォーム・ファ ポーネントを最大限
クタのデバイ に活用するために、
ス上で実行で LWUIT for Series
4 0 で は、フルタッ
きます。
チ・フォンにおいて、
デバイスの 向きの
JAVA TECH
LISTING 1
ABOUT US
//mobile and embedded /
Download all listings in this issue as text
ではOptionsメニューが状況に応じて
再配置されます。プライマリ・アクション
(LWUITにおける「デフォルト・コマン
ド」)は、フルタッチUIの場合、ヘッダー・
バー内のアクション・ボタンに自動的に
マッピングされますが、他のUIでは中
央のソフトキーにマッピングされます。
LWUIT for Series 40のデフォルトの
アプリ・レイアウトでは、タイトルとソフト
キー(アクション)が表示されますが、ア
blog
73
図2
図3
LWUIT for Series 40対応アプリ
の構築
適切なツールの入手:Nokia SDK 2.0
for Javaを使用して、Series 40プ
ラットフォームの最新バージョンに対応
ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013
は、デスクトップ・アプリケーションの場
合とほぼ同様です。デスクトップ・アプリ
ケーションとの違いは、テストの開始時
に見られます。
アプリのテスト: アプリをテストするた
めに、アプリをPCベースのエミュレータ
で実行します。エミュレータを使用する
ことで、位置情報に関する機能や加速度
センサーを含む、アプリのほぼすべての
機能をテストできます。後で携帯電話上
でのアプリのテストも行いますが、初期
段階ではエミュレータを使用することで
テストを迅速に進めることができます。
図6に、Nokia SDK 2.0 for Javaのエ
ミュレータでLWUITデモ・アプリを実行
する様子を示します。
次に、携帯電話上でテストを行いま
す。この段階でも、Series 40フォン
COMMUNITY
したアプリを構築します。このSDKは
NetBeansまたはEclipseと統合でき
ますが、SDKと共にインストールされる
Nokia IDE for Java ME(Eclipse)
を
使用すれば最適な操作性が得られます。
Nokia IDEにはNokia固有の機能
が多数含まれています。たとえば、必要
なSeries 40 SDKの場所を検索する
ツールや、アプリのJava Application
Descriptor(JAD)
ファイル内でNokia
固有の属性を編集するためのエディタな
どがあります。
LWUITはSDK 2.0に付属していま
す。アプリでLWUITを使用するために
は、Javaアーカイブ(JAR)ファイルを
アプリのビルド・パスに追加した上で、
LWUITコンポーネントを追加します(図
4、図5参照)。このほかの開発プロセス
JAVA IN ACTION
タフェースを容易に作成できます。たと
えば、アプリのレイアウトを通常の1カラ
ム・レイアウトではなく、
グリッドとして定
義できます。また、単一のコンポーネント
に対して小さなアニメーションを使用す
ることも、複数のアプリ・ビューに対して
トランジションを使用することも可能で
す。ただし、対象となる可能性のあるす
べての携帯電話でアプリのパフォーマン
スを良好に保つために、過度なエフェク
トの使用はお勧めしません。この点に関
連し、開発者は携帯電話の処理能力に基
づいて機能のバリエーションを検討する
必要があります。たとえば、Nokia Asha
311のような高機能フォンに対しては、
より魅力的な表現を組み込むこともでき
ます。
L W U I T 特 有 の 利 点 の 1つとして、
LWUIT Resource Editorツールを使
用して、
カスタムのテーマを容易に作成
できることが挙げられます。このツール
を使用すれば、UIの一貫性を維持しな
がら、LWUIT for Series 40のテーマ
をカスタマイズして、独自のブランドを
含むルック・アンド・フィールを作成でき
ます。
Nokia DeveloperのDesign
and User Experience Library
「Designing for Series 40」の項
で、
この話題に関する詳細を説明してい
ます。設計を始める前にぜひお読みくだ
さい。
ABOUT US
プリを明示的にフルスクリーン・モードに
設定して、内容を表示するための領域を
拡大できます。
使い慣れたLWUIT機能がすべて提
供されており、印象的なユーザー・イン
JAVA TECH
//mobile and embedded /
blog
図4
74
図5
を入手すべきかを心配する必要はあり
ません。Nokia Developer Remote
Device Accessサービスを利用して、
インターネット経由でさまざまなSeries
40フォンにアクセスできます。
コードの難読化: コードの難読化は重
要な作業です。というのも、構築した各
アプリにLWUIT JARを追加すること
で、各アプリの配布ファイルには最大で
800KBが加わるからです。難読化を行
うことで、
このオーバーヘッドを350KB
未満に減らすことができます。ただし、
こ
のサイズはアプリの複雑度(つまり利用
するLWUITのクラス数)
によって変わり
ます。
開発の開始と詳細情報の入手先
Series 40向けのJavaアプリ開発の詳
細は、Nokia Developer Webサイトに
掲載されています。SDKやデザイン・ラ
イブラリのほかにも、
「Learning」の項と
「JJava Developer’
s Library」にあ
るビデオやオンライン・セミナーを確認し
てください。
LWUITを使用した開発を始めるのは
非常に簡単です。第1歩として、LWUIT
for Series 40プロジェクトのホーム
ページで、各種ツールの学習とダウン
ロードが可能です。また、
「Get Started
with LWUIT for Series 40」という
入門編のビデオを閲覧することもお勧
めします。このビデオはYouTubeチャ
ネルで公開されています(このチャネル
には、Java for Series 40を使用した
開発に関するビデオが多数あります)。
このLWUITの入門編ビデオでは、ツー
ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013
LEARN MORE
COMMUNITY
JAVA IN ACTION
JAVA TECH
最後に
LWUITを導入することで、
リッチなUIを
搭載したアプリを迅速に構築できます。
さらに、優れた設計が施されたアプリ
は、コードを変更しなくてもさまざまな
Series 40フォンで実行でき、フルタッ
チUI、
タッチ&タイプUI、非タッチUIのい
ずれにも対応します。
Series 40フォンのユーザーは、よ
り多くのアプリを求め始めています。自
分が開発したJavaアプリをより多くの
ユーザーに利用してもらいたいのであ
れば、今こそ、LWUIT for Series 40ラ
イブラリを使用してアプリの開発を始め
る好機です。</article>
ABOUT US
//mobile and embedded /
• LWUIT Javadoc
• バイナリ・パッケージ
図6
ルのセットアップ、アプリのコーディン
グ、エミュレータ内でのアプリのテスト、
Series 40フォンでのアプリの実行の
方法を説明しています。
さらに、Nokia DeveloperのJava
Tools Discussion Boardに活発なコ
ミュニティ・フォーラムがあり、質問を投
稿し、他の開発者との技術的な議論に参
加できます。
•
「Working with Lightweight
User Interface Toolkit (LWUIT)
1.4」
•
「Rich Applications for
Billions of Devices: What’
s New
in LWUIT?」
•
「Using Styles, Themes,
and Painters with LWUIT」
• LWUIT for Series 40サンプル・ア
プリ
blog
75
Fly UP