モバイルへの転換 - oracle · 適切なツールの入手: nokia sdk 2.0 for java...

4
ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013 JAVA TECH 72 COMMUNITY JAVA IN ACTION ABOUT US blog //mobile and embedded / スクトップ・アプリケ ー ショ ンのUIを構築するために Swingを利用したことのある 方 も 多 い の で は な い で しょう か 。S w i n g のリッチ で 手 軽 な 点はLightweight UI Toolkit (LWUIT)の開発のヒントとなり ました。そして、LWUITは現在、世 界でもっとも普及している携帯電 話プラットフォームであるSeries 40で利用できます。 スマートフォンのような機能を 手頃な価格で実現するSeries 40は、Nokia Asha 311や Nokia Asha 308などの最新 のNokia Asha Touchフォンに 搭載されています( 図1 参照)。 Series 40の優れた機能性は、 Ashaフォンの需要を喚起して います。そしてこの需要の高まり によって、スマートなアプリに対 するユーザーの関心はかつてな いほど大きなものとなり、Nokia Storeでの記録的なダウンロード 数につながっています。 日常的に使用されている Series 40フォンは、推定6億 7500万台に上ります。これは皆 さんのアプリにとって大きな潜在 市場です。Series 40ではアプリ 内販売やアプリ内広告がサポート され、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をサポートし、開発者向け の堅牢で使いやすいツールを構 築してきた長い歴史があります。 モバイルへの転換 Nokia Series 40フォンでLightweight UI Toolkitを使用する NIRMAL KIZHAKKEVEETIL, PRAKASH RAMACHANDRAN, REHA CHAKROBORTY, AND ANNA ZHUANG BIO 図1 Nirmal Kizhakkeveetil Nokia にて Series 40 Java 開発ツールを管 理。Prakash Ramachandran Nokia のシ ニア Java 開 発者。Reha Chakroborty 開発 者向け Nokia Asha 製品のシニア製品マ ネージャー。Anna Zhuang Nokia の 開発者向け Series 40 製品のマーケ ティング・マネー ジャー。

Upload: others

Post on 13-Oct-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: モバイルへの転換 - Oracle · 適切なツールの入手: Nokia SDK 2.0 for Java を使用して、Series 40プ ラットフォームの最新バージョンに対応 したアプリを構築します。このSDKは

ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013

JAVA TECH

72

COMMUNITY

JAVA IN

ACTION

ABOUT US

blog

//mobile and embedded /

デスクトップ・アプリケーションのUIを構築するために

Swingを利用したことのある方も多いのではないでしょうか。Sw ingのリッチで手軽な点はLightweight UI Toolkit(LWUIT)の開発のヒントとなりました。そして、LWUITは現在、世界でもっとも普及している携帯電話プラットフォームであるSeries 40で利用できます。スマートフォンのような機能を

手頃な価格で実現するSeries 40は、Nokia Asha 311やNokia Asha 308などの最新のNokia Asha Touchフォンに搭載されています(図1参照)。Series 40の優れた機能性は、Ashaフォンの需要を喚起しています。そしてこの需要の高まりによって、スマートなアプリに対するユーザーの関心はかつてないほど大きなものとなり、Nokia Storeでの記録的なダウンロード数につながっています。日常的に使用されている

Series 40フォンは、推定6億7500万台に上ります。これは皆さんのアプリにとって大きな潜在市場です。Series 40ではアプリ

内販売やアプリ内広告がサポートされ、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に付属するLWUITNokiaには、自社プラットフォームでJavaをサポートし、開発者向けの堅牢で使いやすいツールを構築してきた長い歴史があります。

モバイルへの転換Nokia Series 40フォンでLightweight UI Toolkitを使用する

NIRMAL

KIZHAKKEVEETIL,

PRAKASH

RAMACHANDRAN,

REHA CHAKROBORTY,

AND ANNA ZHUANG

BIO

図1

Nirmal Kizhakkeveetil NokiaにてSeries 40 Java開発ツールを管理。Prakash Ramachandran Nokia のシニアJava 開発者。Reha Chakroborty 開発者向けNokia Asha製品のシニア製品マネージャー。Anna Zhuang Nokia の開発者向けSeries 40製品のマーケティング・マネージャー。

Page 2: モバイルへの転換 - Oracle · 適切なツールの入手: Nokia SDK 2.0 for Java を使用して、Series 40プ ラットフォームの最新バージョンに対応 したアプリを構築します。このSDKは

ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013

JAVA TECH

73

COMMUNITY

JAVA IN

ACTION

ABOUT US

blog

//mobile and embedded / LWUITをSeries 40プラットフォームに追加したことも、この歴史から見て必然の結果でした。当初の目標は、フルタッチUI、タッチ&タイプUI(タッチ・スクリーンと、ITUまたはQWERTYのキーボードを独自に組み合わせたUI)、非タッチUIという、Series 40フォンに見られるすべてのUIスタイルでLWUITを利用できるようにすることでした。その後は、LWUIT for Series 40で、

基盤のUIと同じルック・アンド・フィールを実現する必要がありました。NokiaはSeries 40ですでに、比較的小さな画面の携帯電話で優れたユーザー・エクスペリエンスを実現するためのUIスタイルを構築していました。そのため、Nokia

はプラットフォームのUIスタイルとの適合性を高めるために、LWUITの最適化を行いました。たとえば、LWUITのテキスト・エリアとテキスト・フィールドは、最近の携帯電話に搭載されているSeries 40のネイティブのテキスト・エディタと強固に統合されました。LWUITのスケー

ラブルなU Iコンポーネントを最大限に活用するために、LWUIT for Series 40では、フルタッチ・フォンにおいて、デバイスの向きの

動的な変更を新たに組込みでサポートするようになりました。タッチ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で改善されています。

LWUITを使用した設計Series 40フォンで使用する3種類のUIにはそれぞれ独自の特徴があります。3種類のUIスタイルで共通している部分も多くありますが、特にフルタッチUI(図2参照)と、キーボードまたはキーパッドのある他の2つのUIスタイル(タッチ&タイプUIと非タッチUI、図3参照)には大きな違いがあります。たとえば、Series 40のすべてのUI

でドリルダウン方式が採用されています。そのため、「戻る」機能では、履歴ではなく階層に従って画面が遷移します。また、デフォルトで、すべてのUIの画面の右下とOptionsメニューに「戻る」機能が付属していますが、フルタッチUI

ではOptionsメニューが状況に応じて再配置されます。プライマリ・アクション(LWUITにおける「デフォルト・コマンド」)は、フルタッチUIの場合、ヘッダー・バー内のアクション・ボタンに自動的に

マッピングされますが、他のUIでは中央のソフトキーにマッピングされます。LWUIT for Series 40のデフォルトのアプリ・レイアウトでは、タイトルとソフトキー(アクション)が表示されますが、ア

Download all listings in this issue as text

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);

LISTING 1

単一のUIアプリのロジックからUIを切り離すことで、単一のUIを構築し、そのUIを画面の向きやサイズの異なる複数のUIスタイルで、また、さまざまなフォーム・ファクタのデバイス上で実行できます。

Page 3: モバイルへの転換 - Oracle · 適切なツールの入手: Nokia SDK 2.0 for Java を使用して、Series 40プ ラットフォームの最新バージョンに対応 したアプリを構築します。このSDKは

ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013

JAVA TECH

74

COMMUNITY

JAVA IN

ACTION

ABOUT US

blog

//mobile and embedded / プリを明示的にフルスクリーン・モードに設定して、内容を表示するための領域を拡大できます。使い慣れたLWUIT機能がすべて提

供されており、印象的なユーザー・イン

タフェースを容易に作成できます。たとえば、アプリのレイアウトを通常の1カラム・レイアウトではなく、グリッドとして定義できます。また、単一のコンポーネントに対して小さなアニメーションを使用することも、複数のアプリ・ビューに対してトランジションを使用することも可能です。ただし、対象となる可能性のあるすべての携帯電話でアプリのパフォーマンスを良好に保つために、過度なエフェクトの使用はお勧めしません。この点に関連し、開発者は携帯電話の処理能力に基づいて機能のバリエーションを検討する必要があります。たとえば、Nokia Asha 311のような高機能フォンに対しては、より魅力的な表現を組み込むこともできます。 LWUIT特有の利点の1つとして、

LWUIT Resource Editorツールを使用して、カスタムのテーマを容易に作成できることが挙げられます。このツールを使用すれば、UIの一貫性を維持しながら、LWUIT for Series 40のテーマをカスタマイズして、独自のブランドを含むルック・アンド・フィールを作成できます。Nokia Deve loperのDesign

and User Experience Library「Designing for Series 40」の項で、この話題に関する詳細を説明しています。設計を始める前にぜひお読みください。

LWUIT for Series 40対応アプリの構築適切なツールの入手: Nokia SDK 2.0 for Javaを使用して、Series 40プラットフォームの最新バージョンに対応

したアプリを構築します。この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参照)。このほかの開発プロセス

は、デスクトップ・アプリケーションの場合とほぼ同様です。デスクトップ・アプリケーションとの違いは、テストの開始時に見られます。アプリのテスト: アプリをテストするために、アプリをPCベースのエミュレータで実行します。エミュレータを使用することで、位置情報に関する機能や加速度センサーを含む、アプリのほぼすべての機能をテストできます。後で携帯電話上でのアプリのテストも行いますが、初期段階ではエミュレータを使用することでテストを迅速に進めることができます。図6に、Nokia SDK 2.0 for JavaのエミュレータでLWUITデモ・アプリを実行する様子を示します。次に、携帯電話上でテストを行いま

す。この段階でも、Series 40フォン

図3

図2

図4

Page 4: モバイルへの転換 - Oracle · 適切なツールの入手: Nokia SDK 2.0 for Java を使用して、Series 40プ ラットフォームの最新バージョンに対応 したアプリを構築します。このSDKは

ORACLE.COM/JAVAMAGAZINE // JANUARY/FEBRUARY 2013

JAVA TECH

75

COMMUNITY

JAVA IN

ACTION

ABOUT US

blog

//mobile and embedded /

を入手すべきかを心配する必要はありません。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の入門編ビデオでは、ツー

ルのセットアップ、アプリのコーディング、エミュレータ内でのアプリのテスト、Series 40フォンでのアプリの実行の方法を説明しています。さらに、Nokia DeveloperのJava

Tools Discussion Boardに活発なコミュニティ・フォーラムがあり、質問を投稿し、他の開発者との技術的な議論に参加できます。

最後にLWUITを導入することで、リッチなUIを搭載したアプリを迅速に構築できます。さらに、優れた設計が施されたアプリは、コードを変更しなくてもさまざまなSeries 40フォンで実行でき、フルタッチUI、タッチ&タイプUI、非タッチUIのいずれにも対応します。 Series 40フォンのユーザーは、よ

り多くのアプリを求め始めています。自分が開発したJavaアプリをより多くのユーザーに利用してもらいたいのであれば、今こそ、LWUIT for Series 40ライブラリを使用してアプリの開発を始める好機です。 </article>

LEARN MORE• LWUIT Javadoc• バイナリ・パッケージ• 「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サンプル・アプリ

図6

図5