Symbian OSアプリ開発の手引き

Symbian OSアプリ開発の手引き(8)

iPhone対抗!? 最新S60と無償になったCarbide.c++
〜 SDKとIDEの最新事情 〜

大久保 潤 管理工学研究所 2009/2/10

Symbian OSの全体像を概観した「Symbian OS開発の勘所」の続編となる今回は、“実際にどのようなプログラムを書くのか?”をテーマにSymbian OS向けのアプリケーション開発における心得を分かりやすく伝授する。(編集部)

- PR -

 本連載の第1回「Carbide.c++ではじめるSymbianプログラミング」が掲載されたのは2008年1月30日でした。そこからすでに1年ほどの歳月がたっています。そこで、今回はNokiaが開発したSymbian OS用のアプリケーションプラットフォーム「S60」の最新事情をお伝えするところからはじめたいと思います。

S60 5th Edition登場

 間もなくS60のメジャーバージョンアップが行われようとしています。

http://www.forum.nokia.com/Resources_and_Information/
Explore/Software_Platforms/S60/#5th

 なぜ、“4th”が欠番なのかは不明ですが、3rd Editionの次になるのがこの「S60 5th Edition」です。現在ダウンロード可能なものは「v0.9」で、まだ正式版は公開されていませんが、いまのうちに5th Editionの概要を知っておいて損はありません。

 5th EditionはSymbian OS v9.4をベースとしているため、OSが提供するデマンドページングによりアプリケーションだけではなく電話機自身の起動も高速化されています(注1)。そして、S60自身にも重大な拡張が行われています。

 それは、

の3点です。

注1:Symbian OSとS60の関係は、ファーストシーズンの第1回「移行者のためのSymbian OS『超』概説」にあるプラットフォームの説明のとおりです。

Touch UI

 Touch UIは、タッチによる操作を可能にするための機能の集まりです。

  • 抵抗膜式タッチスクリーンのサポート
  • タッチ操作に対応したツールバー
  • タッチ用の入力メソッドの支援(バーチャルキーボード、手書き認識など)
  • スタイラスポップアップメニュー
  • オンスクリーンダイアラ(ただしこれはアプリケーション)

 これらを通じてタッチによる電話機の操作が可能になります。これだけでも、5th Editionのインパクトは大きいですね。

Tactile feedback

 Tactile feedbackは、ユーザーに対して振動と音を使ってフィードバックを行う機能です。“tactile”という単語を辞書で引いてみると、「触知できる」とあります。つまり、5th Editionでは、ユーザーのタッチ操作を電話機側が認識したことを視覚以外の方法、つまり振動と音とでユーザーにフィードバックすることができます。“画面を正確にタッチできたかどうかが分かりにくい”。これがタッチスクリーンに対する最大の問題点だといわれていました。どうやら、Tactile feedbackはこの問題を解決してくれそうです。

Sensor interaction

 Sensor interactionは、「加速度計」「磁力計」「タップセンサ」など、各種センサを統一的に扱うためのフレームワークです。タッチUI以外にも、周囲の明るさに応じてアプリケーションのセッティングを変える、方位や高度を示す、電話を回すなどのジェスチャをコマンドのトリガにするなど、センサを使うユースケースを想定しているようです。

 これら3つのフィーチャーを支援するため、5th Editionには以下のAPIが追加されます。

 さらに、従来の240×320ピクセルのQVGAに加えて、640×360ピクセルの「nHD画面」がサポートされたことも重要なポイントです。nHDとは“ninth of HD”の略記で、1080p High-Definition(1920×1080pixel)の9分の1であることを意味します。このサイズの画面を使って、バイブレーションのフィードバック付きのタッチUIが展開されるのが5th Editionということになります。

Carbide.c++ v2.0登場

 同様に、Nokiaが提供するSymbian OS用のIDE「Carbide」も新バージョン(v2.0)がリリースされています。

http://www.forum.nokia.com/Resources_and_Information/
Tools/IDEs/Carbide.c++/

 S60 5th Editionとは異なり、すでに「Carbide.c++ v2.0」は正式版のダウンロードが可能となっています。そして、驚くべきことに、このバージョンからフリー、つまり“無償”になっています。

 これまでCarbideには以下のようないくつかのバリエーションがありました。

  • 「Carbide.c++ Express」……体験版
    エミュレータ向けのビルドと、エミュレータ上でのデバッグが可能
  • 「Carbide.c++ Developer Edition」……製品端末上のアプリケーション開発向け
    上に加えて、端末向けのビルドと端末上でのデバッグが可能
    Visual UI EditorというUI編集エディタが使用可能
  • 「Carbide.c++ Professional Edition」……試作端末にかかわる開発者向け
    上に加えて、端末上でのカーネルデバッグとコード解析を行うツールが使用可能
  • 「Carbide.c++ OEM Edition」……端末作成者向け
    上に加えて、ハードウェアデバッガ(JTAG)との連携が可能

 上記のURIで表示されるページには素っ気なく「free」とだけ書かれており、どのバージョンがフリーなのかが判然としません。そこで、Nokiaのオンラインショップ「eStore(注2)」で価格をチェックしてみることにしました。すると、その中のCarbide.c++のページには“すべてのバージョンがフリー”である旨がクリアに書かれていました。その衝撃をお伝えするために該当部分の説明を以下に引用します。




You will no longer find Carbide.c++ Tools in eStore. That is because all Editions of the new 2.0 version of Carbide are offered for free! There is no need to use the e-store to purchase or manage your licenses. Please visit www.forum.nokia.com/carbide_cpp to download Carbide. Developer, Professional, and OEM Editions are free - just select the edition you wish to use at installation time. These are all at no charge - just select the edition you wish to use at installation time. It is really that simple.

Nokiaのサイトより引用



 つまり、最も高価であった「Carbide.c++ OEM Edition」であってもv2.0からは無償で使えるということなのです。

注2:eStoreにアクセスするにはユーザー登録が必要です。ただし、すでにForum Nokiaに登録してあれば、そのアカウントでアクセスできるはずです。

 それでは早速「OEM Edition」をダウンロードして、インストールを行ってみましょう(図1)

図1 「Carbide.c++ v2.0」インストール対象選択画面

 すべてがフリーですから体験版には存在意義がありません。ということで、v1.3のときとは異なりインストール対象の選択画面からは「Express」がなくなっています。今回は、せっかくなので“全部入り”である「OEM Edition」を使ってみることにします。

>>インストール自体は問題なく進みますが、終わった後に表示される「readme_sdks.html」に幾分驚かされることになります。インストールされたSDK一覧の中に「Qt SDKs * Qt SDK for S60」というものがあるのです。うむむ……、S60はこの後一体どこへ向かっていくのでしょう。

関連リンク:
Qt Software
http://www.qtsoftware.com/
  • 連載バックナンバー
  • 全記事インデックス
  • 組み込み開発トップ
  • MONOistトップ

スキルアップ/キャリアアップ(JOB@IT)

スポンサーからのお知らせ

- PR -
@IT Sepcial

震災関連・復興支援情報

震災関連・復興支援情報
@IT MONOist/EE Times Japan/環境メディアの製造業技術者向け3メディアを中心に、震災関連/復興支援情報を集めました

次世代エンベデッドコーナー

次世代エンベデッド
“次世代”の組み込み機器を開発するエンジニアを支援するコーナー。新潮流・新技術をインタビューやコラム、解説記事で分かりやすく紹介!

Windows Embeddedコーナー

Windows Embedded
Windows Embedded専門コーナー。Windows Embedded StandardやWindows Embedded CEをはじめとする「Windows Embedded」ファミリの最新動向や技術情報をお届けします!!

Androidコーナー

Android
Android専門コーナー。組み込みデバイスへの適用からアプリケーション開発、イベントレポート、ニュースなどAndroidに関するさまざまな技術情報がここに集結!!

@IT MONOist 求人情報

- PR -