Comments
Description
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