29
第三回 Tizen 勉強会 Naruto TAKAHASHI ターボシステムズ株式会社 [email protected]

Tizen native application

Tags:

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Tizen native application

第三回 Tizen 勉強会 Naruto TAKAHASHI

ターボシステムズ株式会社 [email protected]

Page 2: Tizen native application

EFL meets Tizen Mobile Framework

Page 3: Tizen native application

ネイティブコードで動作するアプリケーション ◦ Tizen の Core Services を直接実行可能

UI ライブラリは EFLのみをサポート ◦ 一応、他の UI ライブラリを追加する裾野はあります。

もともとは GTK をサポートしていたようです。

ただし、その道はだいぶ険しいと思います…

Page 4: Tizen native application

Enlightenment Foundation Libraries の略 Enlightenment DR17 のために作成 開発期間は 13,4年(!) 近々 EFL 1.7 をリリース予定。 ◦ (※) Enlightenment DR17 はまだリリースされてない。

小粒なライブラリが階層を成しています。 ◦ Eina – データ構造ライブラリ ◦ Eet - ストレージライブラリ ◦ Evas - キャンバスライブラリ ◦ Ecore - メインループライブラリ

省メモリ ◦ EFL のメモリ使用量は Qt の ¼, GTK の ½

Page 5: Tizen native application
Page 6: Tizen native application
Page 7: Tizen native application

Web App 以上のアイキャンディー ◦ ぬるぬる

◦ ぬるぬる!!

◦ ぬるぬる( ´∀`)

Tizen のライフサイクルに準拠したアプリの作成

C/C++ でアプリが書けますよ。

Page 8: Tizen native application

現行の html5 でシステム周りを組むのは難しい。 ◦ バックグラウンド動作

◦ システムトレイ

◦ Etc, etc

Mozilla さんが頑張って解決している

ライフサイクルを掌握したい ◦ Tizen 1.0 のWRT はバックグラウンド動作はしない

省メモリ+高速動作を実現したい ◦ iOS の facebook App が html5 から native へ

Page 9: Tizen native application

バックグランド動作のサポート ◦ Android でいう Service みたいなのは可能?

◦ UNIX でいうデーモンみたいなのは可能?

アプリ間通信のサポート ◦ Android でいう Intent みたいなものは可能?

◦ UNIX でいうプロセス間通信みたいなのは可能?

「これはできるの?」は勉強会で随時レポートします

Page 10: Tizen native application

How to implement Tizen Native App

Page 11: Tizen native application

C/C++ で開発

エントリーポイントは main() からはじまるよ

UX は elementary(EFL) を使用

メインループ、ライフサイクルは Tizen Application Framework を使用

Page 12: Tizen native application

AUL(Application Utility Library) ◦ App の launch(Web App <-> Native App 双方向)

App-Core ◦ App のライフサイクルの管理、システムイベントキャッチ

App-Service ◦ アプリケーションのサービス設定

Page 13: Tizen native application

appcore に渡すコールバック関数一覧

オペレーション 説明

create メインループに入る前に実行される。 (ウィンドウの生成などの初期化処理を行う。)

terminate メインループの後に実行される。 (アプリの終了処理などを行う。)

pause ウィンドウがバックグラウンドに移動したときに実行される。 (停止処理や、バックグラウンド処理の開始などを行う)

resume ウインドウがフォアグランドに移動したときに実行される。 (復帰処理、バックグラウンド処理の停止など行う)

reset 再実行時に実行される。

Page 14: Tizen native application

システムの変更があったときのイベント

appcore_set_event_callback() で登録する。

システムイベント ◦ LOWメモリー

◦ LOWバッテリー

◦ 言語変更

◦ 地域変更

Page 15: Tizen native application

デバイスの回転を検知したときのイベント

appcore_set_rotation_cb() で登録する。

イベントの種類 ◦ 縦向き

◦ 縦向きで逆

◦ 横向き

◦ 横向きで逆

Page 16: Tizen native application

How to build Tizen Native App

Page 17: Tizen native application

ビルドのために揃えるもの! ◦ コンパイル環境

◦ デバイスへの転送

Tizen SDK 1.0 のサポート状況 ◦ コンパイル環境(×: ない)

◦ デバイスへの転送(○:sdb コマンドで転送する)

コンパイル環境は自分で準備しないといけない。

Page 18: Tizen native application

Tizen プロジェクトでオフィシャルに用意しているクロスコンパイル環境 ◦ GBS

◦ OBS

◦ Scratchbox2(お亡くなりになりました)

Page 19: Tizen native application

Tizen パッケージ開発のコマンド ◦ Git レポジトリから tar.gz(rpm)の自動生成 ◦ ローカル環境でのテストビルド ◦ OBS へコード提出

コマンド例 ◦ gbs build –A armv7l

詳細は下記を参照してください ◦ https://source.tizen.org/os-development/git-

build-system/

Page 21: Tizen native application
Page 22: Tizen native application

おさらい

Page 23: Tizen native application

Tizen Native App とは? Tizen デバイスでネイティブで動作するアプリケーション

Tizen Native App の実装方法は? UI ウィジットは EFL を使用します。 フレームワークは Tizen Application Framework を使用します。

Tizen Native App のビルド方法は? GBS を使います。 OBS も使えます。(使い方調査中)

Page 24: Tizen native application

EFL 関連(重要)

Tizen Application Framework 調査報告 ◦ Tizen Native App のつくり方

◦ アプリのパッケージの作成方法

WRT(WebRunTime) 調査報告 ◦ Tizen Web App を動かすランタイム

◦ WebkitEFL + Tizen Device API 実装

◦ Web App の独自 API 拡張方法の調査

Page 25: Tizen native application

それ、○○ だとどういう意味? ◦ Tizen Native App と Android App とのマッピング

専門用語のマッピング

機能、概念のマッピング

◦ Tizen Native App と Unix App とのマッピング 制限事項など

どなたか「それ、iOS だとどういう意味? 」やりませんか?

どなたか「それ、Android だとどういう意味? 」やりませんか?

Page 26: Tizen native application

SDK 2.0 がリリースするまで待てない! ◦ 2012/E にリリース予定

◦ Tizen フォンの販売が 2013年になった。 (※) Samsung が Android と WP8 に注力するため

◦ SDK 2.0 の年度末リリースよりもっと遅くなるのでは…?

ビルド環境構築を一人でやるとつまづくし、つまらない ◦ みんなでつまづけば怖くない!

OSC 2012 Tokyo/fall の参加者が人少ないらしいからビルド環境構築大会やっていいですか?(^q^)

Page 27: Tizen native application

日程 ◦ 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

日程 ◦ 2012/9/8(土) 12:00-12:45

場所 ◦ 明星大学 28号館204教室

内容 ◦ Tizenに関する技術Topicや動向 ◦ HTML5アプリケーションの実行・デモ

◦ 人が少なければ Tizen Native ビルド環境構築大会 (^q^)

Page 29: Tizen native application

See you (^_^)/~