Articles for 1月 2013

Tizenはじめました。

お初にお目にかかります。アスカクリエイション株式会社の研究開発チームの千原です。

現在、巷で噂になりつつあるTizenの調査を行っています。

初回なので、今回はTizenについて(すごく)簡単に紹介しようと思います。

 

TizenはMeeGoというNokiaとIntelが開発していたプラットフォームを前身としたLinuxベースのモバイルOSです。

ターゲットはスマートフォンをはじめ、車載機器、ネットブック、TVなどとなっています。

現在は、SamsungとIntelが主導して、Linux Foundationが開発を行っているようです。

 

次に、Tizenのシステム構成ですが、TizenのアプリケーションはHTML5になるため、以下のようになっています。

TizenSystemFramework

TizenWikiを参考にしています。)

UIはHTML5で、APIコールはJavaScriptでといった形です。

どうやらWeb開発者を取り込もうという意図があるようです。

 

図の青い部分が、Tizenのコアモジュール群になります。

各モジュールでは以下のサービスが提供されます。

Application Framework

  • アプリの起動
  • 他アプリを起動(パッケージ名、URI、MIME)
  • イベント送信

Base

  • Linuxライブラリ
  • データベース
  • ローカライズ
  • XMLのパース

Connectivity

  • ネットワーク接続(3G)
  • Wi-Fi
  • Bluetooth
  • HTTP
  • NFC

Graphics & UI

  • X11ベースのウィンドウシステム
    • EFL(Enlightenment)
  • OpenGL ES

Location

  • GPS
  • WPS

Messaging

  • SMS: Short Message Service
  • MMS: Multimedia Messaging Service
  • Email
  • IM: Instant Messaging

Multimedia

  • 動画
  • オーディオ
  • 画像・写真

PIM

  • カレンダー
  • 連絡先
  • タスク
  • 検索履歴
  • デバイス情報

Security

  • アクセス制限
  • 認証
  • 安全なアプリケーションの配布

System

  • デバイス制御(センサー、画面、バイブレーション)
  • 電源管理
  • 外部接続イベント管理
  • アップグレード

Telephony

  • 電話(UMTS、CDMA)
  • パケット通信
  • SMS
  • SIM管理(電話帳)

Web

  • Webアプリケーション用ランタイム
  • 低機能機種向けのWeb API

 

次回はSDK環境の構築手順について詳しく書こうと思います。

Share

Windows8/RTストアアプリ開発 ~アーキテクチャ概要~

はじめまして。ASTEC LABでWindows8/RTストアアプリの開発を担当させて頂いております、アスカ・クリエイション株式会社の石原繁彦と申します。

Windows8、WindowsRTが発売されて3ヵ月が立ち、ストアアプリも少しづつ充実してきました。私も発売の数か月前からRelease Preview版での検証や、開発者セミナーに参加するなど情報収集してきましたが、限られた情報の中で、まだまだ試行錯誤の連続です。このブログを通して、これまでの成果や、実験的な内容も交えつつノウハウの蓄積と発信を目指していこうと思います。

さて、記念すべき第一回は、ざっくりWindows8/RTストアアプリのアーキテクチャをまとめてみたいと思います。

ストアアプリでは下図のような構成になっています。従来のデスクトップアプリとの大きな違いは、これまでのWin32 APIではなくWinRTという新しいAPI群を使用するということです。

WinRT

Windows8/RTではWin32 APIとその上位フレームワーク及び、デスクトップ環境も搭載しているためWindows7までのデスクトップアプリも動作します。が、しかし、ストアアプリの実行環境はAPIレベルで全くの別物、別環境と言っても過言ではないほど異なります。そしてストアアプリはご存じの通り、タッチ操作に特化しており、動作やコンセプトはAndroidやiOSのそれに近いものとなっております。従来のデスクトップ環境とタッチ向けの環境が同じカーネル上に同居しているようなOSとなっています。つまり、WinRT APIはWindowsにタブレット端末の実行環境を実現させるためのAPI群という位置付けになるかと思います。

ストアアプリを作成するためのプログラミング言語の組み合わせは以下にになります。

  • HTML/CSS + JavaScript
  • XAML + C#
  • XAML + VB
  • XAML + C/C++
  • DirectX + C/C++

この他に、一部C++ でDLLを作成してC#から呼び出すハイブリッドアプリという手段もあります。HTML/CSSとJavaScriptの組み合わせでストアアプリが作成できるのでWeb系開発者も参入しやすいかもしれません。一方でDirectXを使用した3Dゲーム等はC/C++で作成する必要があります。標準的なアプリ開発ではUIをXAMLで作成しロジックをVB、C#、C/C++で好みのものを選択するケースが多いのではないでしょうか。XAMLによるUI作成はWPFのWindowsアプリケーションと共通する部分も多く、WPFを触ったことがある方なら扱いやすいと思います。

 

ストアアプリの開発で留意しなければならない点としてライフサイクルが従来のデスクトップとは異なる点が挙げられます。

storeapp_lifecycle

図のように一時停止という状態が存在します。具体的にはバックグラウンドに回った時に一時停止状態に遷移します。さらに、一時停止中のアプリはメモリ等のリソース減少によりOSの判断で自動的に終了します。しかもアプリは終了前に通知を受けません。状態の保存には一時停止時にイベントが発生するので、このタイミングで保存しておく必要があります。また、この中断処理は5秒以内に終わらせる必要があります。

その他の留意点としてサンドボックスで実行されるためデバイス等にアクセスするにはアプリマニフェストの定義とユーザーの許可が要ること、アプリ間やOSとのデータ受け渡しにコントラクトという仕組みを使うことなどが挙げられます。これらは、また後日詳しく紹介していこうと思います。

 

Share

ASTEC LAB

アスカ・クリエイション株式会社の研究開発コミ二ティASTEC_LAB(Asuka technology Lab)が開発ノウハウを公開します。

Share