Tizen native application

Tags:

Preview:

DESCRIPTION

 

Citation preview

第三回 Tizen 勉強会 Naruto TAKAHASHI

ターボシステムズ株式会社 tnaruto@gmail.com

EFL meets Tizen Mobile Framework

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

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

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

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

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

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

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

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

◦ ぬるぬる!!

◦ ぬるぬる( ´∀`)

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

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

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

◦ システムトレイ

◦ Etc, etc

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

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

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

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

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

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

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

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

How to implement Tizen Native App

C/C++ で開発

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

UX は elementary(EFL) を使用

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

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

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

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

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

オペレーション 説明

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

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

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

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

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

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

appcore_set_event_callback() で登録する。

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

◦ LOWバッテリー

◦ 言語変更

◦ 地域変更

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

appcore_set_rotation_cb() で登録する。

イベントの種類 ◦ 縦向き

◦ 縦向きで逆

◦ 横向き

◦ 横向きで逆

How to build Tizen Native App

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

◦ デバイスへの転送

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

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

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

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

◦ OBS

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

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

コマンド例 ◦ gbs build –A armv7l

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

build-system/

おさらい

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

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

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

EFL 関連(重要)

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

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

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

◦ WebkitEFL + Tizen Device API 実装

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

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

専門用語のマッピング

機能、概念のマッピング

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

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

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

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

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

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

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

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

日程 ◦ 2012/9/7(金) 10:00-18:00

◦ 2012/9/8(土) 10:00-17:30

場所 ◦ 明星大学 日野キャンパス 28号館

詳細はこちら! ◦ http://www.ospn.jp/osc2012-fall/

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

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

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

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

See you (^_^)/~

Recommended