Weitere ähnliche Inhalte
Ähnlich wie Tizenについて (20)
Mehr von Naruto TAKAHASHI (10)
Tizenについて
- 3. 3
Android と iOS があるのに
今更新しいモバイルプラッ
トフォーム?
モバイル?IVI?
ホントよくわからない。
何者?
Firefox OS との違いは?
- 5. 5
Who’s Guy?
Naruto TAKAHASHI(@TNaruto)
• Mail: tnaruto@gmail.com
• Blog: http://eflmemo.hatenablog.com/
• Company: Turbo Systems Co, Ltd.
Interesting Keyboards
• EFL(Enlightenment Foundation Libraries)
• Tizen
• WebKit
- 19. 19
他のモバイルプラットフォームの GUI 周り
• Android
• Linux kernel + Java をベース
にしたオリジナルユーザーラン
ド
• Firefox OS
• Linux kernel + Gecko をベー
スにしたオリジナルユーザーラ
ンド
• Ubuntu Phone
• Linux kernel + Mir と
Qt/QML をベースにしたオリジ
ナルユーザーランド
- 28. 28
Tizen コンプライアンス
• マルチデバイスで Tizen を動かすためのコンプライアンス
• Tizen コンプライアンスはデバイスとアプリケーションがスムーズ
に動作することを保証するためのもの。
• 共通のレイヤーと各デバイスに合わせたプロフィールレイヤーで構
成
- 30. 30
Tizen コンプライアンス(2)
• デバイスのプロフィールの実装
• デバイスプロフィールを実装する際は、首尾一貫した挙動と UX をアプ
リケーションへ提供すること。
• アプリケーション
• アプリケーションを各デバイスへビルドした時に、そのアプリケーショ
ンがデバイスプロフィール上で動作すること。
• Tizen ではアプリケーションがどのプロフィールのデバイスでも動
作し、ユーザー体験も同じことが保証されます。
- 32. 32
Tizen マルチデバイス化実例
• Tizen Dev Phone
• RD-210(Galaxy S2 相当)
• RD-PQ(Galaxy S3 相当)
• Tizen 搭載モバイル端末
• Samsung Exynos(ARM)
• ソースコード公開中
• http://review.tizen.org/git/
- 41. 41
W3C sysapp WG
• デバイスやシステムを触る Tizen Device API を定義、実装
• 現状は名前空間プレフィックスが tizen からはじまる命名規則
• W3C にシステムアプリの API を策定するワーキンググループが
あり今後どのデバイスでも動く API 名に変えられていく?
• http://www.w3.org/2012/sysapps/
• 現状は Tizen Device API が方言になっているが、方言にならな
いように働きを掛けている。
- 44. 44
Tizen のベースソース
• SLP(Samsung Linux
Platform) がベースになって
いる。
• SLP
• "LiMo4" のリファレンス実装
1 Samsung が策定を進めていた
LiMo 仕様
2 カーネル+ミドルウェア+ GUI
ツールキットも決めていた。
• SDK, エミュレータも完備
- 45. 45
Tizen とは
• SLP のアーキテクチャと SDK のコンセプトを踏襲
• GUI のツールキットを一新
• 複数の GUI ツールキットを EFL(Enlightenment Foundation
Libraries) 一つへ統一
• HTML5 でアプリを作れるように。
• Tizen では HTML5 はアプリケーションを実装する手段の一つ。
- 46. 46
Tizen と Firefox OS の思想の違い
• HTML5 は選択肢の一つ
• Linux でみんなを幸せにする
こと。
• いろいろなデバイスへの
Linux 搭載が目標
• HTML5 は唯一無二
• インターネットでみんなを幸せ
にすること。
• Web の技術ですべて済むのが
目標
- 53. 53
Tizen Web App + NPAPI プラグイン
• NPAPI プラグイン
• HTML へ <object> タグで埋め込むコンテンツ拡張プラグイン
• NPRuntime で Javascript API でプラグインをされる。
• 動作方法
• Tizen Web App へプラグイン(バイナリファイル)を埋め込む
- 55. 55
wrt プラグインフレームワーク
• wrt に拡張 Javascript API を追加するフレームワーク
• DPL(Design Pattern Library) を使って実装されている。
• Tizen Device API は wrt プラグインとして実装されている。
• 拡張 Javascript API は wrt のみ追加可能。
• 不用意に実行される危険がない。
- 57. 57
Tizen Device API 一覧
API名 概要
Alarm アラームの設定や設定取り消し
Applicatio
n
アプリケーションの管理や起動
Bluetooth Bluetooth デバイスへのアクセスや管理
Messaging SMS, MMS, Eメール の送信や受信
NFC NFC デバイスへのアクセスや管理
Content デバイスのマルチメディアコンテンツへ
のアクセス
Download ダウンロードの操作や管理
Filesystem ファイルシステムへのアクセス
API名 概要
Calendar イベントやタスクの管理
Callhistory 通話履歴の参照
Contact 電話帳へのアクセスや管理
Power デバイスの電源状態の管理
SystemInfo システム状態へのアクセス
SystemSetting システム状態の設定
Time 時刻、タイムゾーンのアクセス
や設定
Notification アプリケーションの通知
- 58. 58
Tizen Device API 一覧(2.1 で追加)
API名 概要
DataControl 他のアプリのデータやりとり(SQL, MAP)
Package アプリパッケージの管理や情報取得
NetworkBearerSelection ネットワーク経路の選択
Push Tizen push server からのプッシュ受信
SecureElement SIM やセキュア SD などのセキュアデバイスとのやりとり
MessagePort 他のアプリケーションとのやりとり
Bookmark Bookmark へのアクセス
DataSynchronization OMA DS 1.2 プロトコルサーバと連絡帳やイベントデータの同期
- 59. 59
Tizen Device API(2)
• モバイルのデバイスを触る API が一通り実装されている。
• Native アプリケーションや Web アプリケーションが混在する
Tizen のシステムで、Web アプリケーションと Native アプリ
ケーションが対等にやり取りするための仕組みになっている。
• カメラの API は存在しないが、カメラのサービスと連携するとカ
メラの機能が使えるとのこと。
- 64. 64
Native アプリ実装方法
• Tizen Native アプリ
• Tizen Native API を使って実装したアプリ
• CORE アプリ
• CORE 層を直接使って実装したアプリ
• Tizen の標準アプリはどちらの実装も用意されている。
- 68. 68
Tizen Web App
• HTML と Javascript 、CSS で実
装。
• Packaged Web Apps の仕様に
準拠し、パッケージング。
• HTMLコンテンツ作成がアプリ
ケーション作成につながるので開
発が容易。
• ライフサイクルは存在せず、トッ
プ画面に描画された時の実装を行
えば良い。(ライフサイクルは wrt
が管理)
• Tizen Device API も豊富になっ
てきている
- 70. 70
Tizen Web App 利点
• ポータビリティ性の高い実装にすれば、Tizen 以外にも Firefox
OS やその他で動作するマルチプラットフォームアプリケーション
が作成可能。
• Android で Packaged Web Apps をサポートすれば Android でも動作
します。
- 71. 71
Tizen Web App ユースケース
• 既存のウェブのサービスを持っている方には移植しやすい。
• 新しく Tizen アプリを作ってみたい方にはおすすめ。
• Thin Client として活用の可能性も。
- 72. 72
Tizen Naive App(UI Application)
• C/C++ で実装されたアプリケーション。UI ウィジットがありフ
ロントエンドで動作する。
• ユースケース
• Tizen Web App でできない複雑なことをやりたい
• 高速に動作するアプリケーションを作りたい
• iPhone や Android で動作させていたアプリがあってそれを移植したい。
- 73. 73
Tizen Native App(Service Application)
• C/C++ で実装されたアプリケーション。UI ウィジットがなく、
バックグラウンドで動作する。
• ユースケース
• Tizen Web App でできない複雑なことをやりたい
• バックグラウンドで動作するプログラムを作成したい。
- 75. 75
Tizen のアプリケーションタイプ発展系
• Tizen Web App + NPAPI Plugin
• Tizen Web App ベースのものへ Native 要素を追加したもの
• Tizen Hybrid App
• Tizen Native App の UI を HTML で作るようにしたもの
- 76. 76
Tizen Web App + NPAPI Plugin
• Tizen Web App へ NPAPI Plugin を追加
• NPAPI Plugin はアプリケーションに Javascript API を拡張す
る魔法のツール。
• Tizen オフィシャルでは計算の速くするサンプルしかないため、
NPAPI で CORE 層のリソースを触れるかはまだ不明。
• NPAPI Plugin でポータビリティの低下
• 他のモバイルプラットフォームでは動作しなくなる。
- 77. 77
Tizen Web App + NPAPI Plugin ユースケース
• Tizen Web App へ Tizen Device API 以外の拡張 API を追加
したい場合
• Tizen Web App で計算スピードを高めたい場合
- 78. 78
Tizen Hybrid App
• C/C++ で実装されたアプリケーション。
• フロントエンドは Webkit コンポーネント上で Tizen Web App
を動作
• バックエンドで Tizen Native App(Service) を動作
- 79. 79
Tizen アプリケーションタイプ表
アプリタイプ Tizen Web
App
Tizen Web
App + NPAPI
Plugin
Tizen Hybrid
App
Tizen Native
App
(UI)
Tizen Native
App
(Service)
言語 HTML + JS HTML + JS
NPAPI(C/C++
)
HTML + JS
C/C++
C/C++ C/C++
実行速度 △ ○ ○ ◎ ◎
実装容易さ ◎ ○ ○ △ △
ユースケース Web サービス
をアプリにする。
Web App の一
部処理の高速化
サービス付きの
Web App
高速なアプリ。
過去のリソース
を流用するアプ
リ
バックグライン
ド処理をするア
プリ
- 82. 82
今までの Tizen Project
• コードはマイルストーンに沿ってリリースされ、パブリックなリ
リースとして Tizen.org へ置かれている。
• Tizen.org 上ではリリースサイクルとソースのリリースのみが行わ
れている。
• 方向性の決定やプラットフォームの開発はどこかで行われている。
• 開発が継続的じゃないし、不透明
• 成果物のソースは公開されている。
• しかし、内部で決めて結果だけをリリースする “in-out” 状態
- 83. 83
これからの Tizen Project
• Tizen.org を開発とコントリビュートのメインエリアにする。
• 製品化や商業利用はプロファイルに依存することにする。
• ポリシーと役割、メインコードツリーは誰からもどこからも取得と
ビルドが出来るようにする。
• Tizen.org は Tizen プラットフォームの開発ハブになっていく。
• ソースファイルだけではなく開発もオープンにする。
• 開かれた場所で開発する “out-in” へシフトする。
- 93. 93
“Write once, run anywhere”
• Java の代名詞
• どのデバイスも。
• HTML5 も Native も。
• アプリケーションがすべてのデバイスで同じ挙動を保証する。
• Tizen コンプライアンスで厳密に定義。