tizen native application
DESCRIPTION
TRANSCRIPT
![Page 2: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/2.jpg)
EFL meets Tizen Mobile Framework
![Page 3: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/3.jpg)
ネイティブコードで動作するアプリケーション ◦ Tizen の Core Services を直接実行可能
UI ライブラリは EFLのみをサポート ◦ 一応、他の UI ライブラリを追加する裾野はあります。
もともとは GTK をサポートしていたようです。
ただし、その道はだいぶ険しいと思います…
![Page 4: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/4.jpg)
Enlightenment Foundation Libraries の略 Enlightenment DR17 のために作成 開発期間は 13,4年(!) 近々 EFL 1.7 をリリース予定。 ◦ (※) Enlightenment DR17 はまだリリースされてない。
小粒なライブラリが階層を成しています。 ◦ Eina – データ構造ライブラリ ◦ Eet - ストレージライブラリ ◦ Evas - キャンバスライブラリ ◦ Ecore - メインループライブラリ
省メモリ ◦ EFL のメモリ使用量は Qt の ¼, GTK の ½
![Page 5: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/5.jpg)
![Page 6: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/6.jpg)
![Page 7: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/7.jpg)
Web App 以上のアイキャンディー ◦ ぬるぬる
◦ ぬるぬる!!
◦ ぬるぬる( ´∀`)
Tizen のライフサイクルに準拠したアプリの作成
C/C++ でアプリが書けますよ。
![Page 8: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/8.jpg)
現行の html5 でシステム周りを組むのは難しい。 ◦ バックグラウンド動作
◦ システムトレイ
◦ Etc, etc
Mozilla さんが頑張って解決している
ライフサイクルを掌握したい ◦ Tizen 1.0 のWRT はバックグラウンド動作はしない
省メモリ+高速動作を実現したい ◦ iOS の facebook App が html5 から native へ
![Page 9: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/9.jpg)
バックグランド動作のサポート ◦ Android でいう Service みたいなのは可能?
◦ UNIX でいうデーモンみたいなのは可能?
アプリ間通信のサポート ◦ Android でいう Intent みたいなものは可能?
◦ UNIX でいうプロセス間通信みたいなのは可能?
「これはできるの?」は勉強会で随時レポートします
![Page 10: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/10.jpg)
How to implement Tizen Native App
![Page 11: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/11.jpg)
C/C++ で開発
エントリーポイントは main() からはじまるよ
UX は elementary(EFL) を使用
メインループ、ライフサイクルは Tizen Application Framework を使用
![Page 12: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/12.jpg)
AUL(Application Utility Library) ◦ App の launch(Web App <-> Native App 双方向)
App-Core ◦ App のライフサイクルの管理、システムイベントキャッチ
App-Service ◦ アプリケーションのサービス設定
![Page 13: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/13.jpg)
appcore に渡すコールバック関数一覧
オペレーション 説明
create メインループに入る前に実行される。 (ウィンドウの生成などの初期化処理を行う。)
terminate メインループの後に実行される。 (アプリの終了処理などを行う。)
pause ウィンドウがバックグラウンドに移動したときに実行される。 (停止処理や、バックグラウンド処理の開始などを行う)
resume ウインドウがフォアグランドに移動したときに実行される。 (復帰処理、バックグラウンド処理の停止など行う)
reset 再実行時に実行される。
![Page 14: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/14.jpg)
システムの変更があったときのイベント
appcore_set_event_callback() で登録する。
システムイベント ◦ LOWメモリー
◦ LOWバッテリー
◦ 言語変更
◦ 地域変更
![Page 15: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/15.jpg)
デバイスの回転を検知したときのイベント
appcore_set_rotation_cb() で登録する。
イベントの種類 ◦ 縦向き
◦ 縦向きで逆
◦ 横向き
◦ 横向きで逆
![Page 16: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/16.jpg)
How to build Tizen Native App
![Page 17: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/17.jpg)
ビルドのために揃えるもの! ◦ コンパイル環境
◦ デバイスへの転送
Tizen SDK 1.0 のサポート状況 ◦ コンパイル環境(×: ない)
◦ デバイスへの転送(○:sdb コマンドで転送する)
コンパイル環境は自分で準備しないといけない。
![Page 18: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/18.jpg)
Tizen プロジェクトでオフィシャルに用意しているクロスコンパイル環境 ◦ GBS
◦ OBS
◦ Scratchbox2(お亡くなりになりました)
![Page 19: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/19.jpg)
Tizen パッケージ開発のコマンド ◦ Git レポジトリから tar.gz(rpm)の自動生成 ◦ ローカル環境でのテストビルド ◦ OBS へコード提出
コマンド例 ◦ gbs build –A armv7l
詳細は下記を参照してください ◦ https://source.tizen.org/os-development/git-
build-system/
![Page 20: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/20.jpg)
パッケージを作成するデーモンサービス
サーバにビルドを依頼できる…らしい
OBS Server のイメージは以下 ◦ http://susestudio.com/a/e0uuBG/obs-obs-server-
obs-light
OBSlight(クライアント?)のインストール方法は以下 ◦ http://en.opensuse.org/openSUSE:OBS_Light_Install
ation
![Page 21: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/21.jpg)
![Page 22: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/22.jpg)
おさらい
![Page 23: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/23.jpg)
Tizen Native App とは? Tizen デバイスでネイティブで動作するアプリケーション
Tizen Native App の実装方法は? UI ウィジットは EFL を使用します。 フレームワークは Tizen Application Framework を使用します。
Tizen Native App のビルド方法は? GBS を使います。 OBS も使えます。(使い方調査中)
![Page 24: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/24.jpg)
EFL 関連(重要)
Tizen Application Framework 調査報告 ◦ Tizen Native App のつくり方
◦ アプリのパッケージの作成方法
WRT(WebRunTime) 調査報告 ◦ Tizen Web App を動かすランタイム
◦ WebkitEFL + Tizen Device API 実装
◦ Web App の独自 API 拡張方法の調査
![Page 25: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/25.jpg)
それ、○○ だとどういう意味? ◦ Tizen Native App と Android App とのマッピング
専門用語のマッピング
機能、概念のマッピング
◦ Tizen Native App と Unix App とのマッピング 制限事項など
どなたか「それ、iOS だとどういう意味? 」やりませんか?
どなたか「それ、Android だとどういう意味? 」やりませんか?
![Page 26: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/26.jpg)
SDK 2.0 がリリースするまで待てない! ◦ 2012/E にリリース予定
◦ Tizen フォンの販売が 2013年になった。 (※) Samsung が Android と WP8 に注力するため
◦ SDK 2.0 の年度末リリースよりもっと遅くなるのでは…?
ビルド環境構築を一人でやるとつまづくし、つまらない ◦ みんなでつまづけば怖くない!
OSC 2012 Tokyo/fall の参加者が人少ないらしいからビルド環境構築大会やっていいですか?(^q^)
![Page 27: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/27.jpg)
日程 ◦ 2012/9/7(金) 10:00-18:00
◦ 2012/9/8(土) 10:00-17:30
場所 ◦ 明星大学 日野キャンパス 28号館
詳細はこちら! ◦ http://www.ospn.jp/osc2012-fall/
![Page 28: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/28.jpg)
日程 ◦ 2012/9/8(土) 12:00-12:45
場所 ◦ 明星大学 28号館204教室
内容 ◦ Tizenに関する技術Topicや動向 ◦ HTML5アプリケーションの実行・デモ
◦ 人が少なければ Tizen Native ビルド環境構築大会 (^q^)
![Page 29: Tizen native application](https://reader033.vdocuments.net/reader033/viewer/2022051312/5461ca86af7959f84e8b4bea/html5/thumbnails/29.jpg)
See you (^_^)/~