SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
第三回 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/
   パッケージを作成するデーモンサービス
   サーバにビルドを依頼できる…らしい

   OBS Server のイメージは以下
    ◦ http://susestudio.com/a/e0uuBG/obs-obs-server-
      obs-light


   OBSlight(クライアント?)のインストール方法は以下
    ◦ http://en.opensuse.org/openSUSE:OBS_Light_Install
      ation
おさらい
   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 (^_^)/~

Más contenido relacionado

La actualidad más candente

re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive -
re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive - re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive -
re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive -
Tsuyoshi Seino
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
 
Sublime Text 2 で始める ReVIEW
Sublime Text 2 で始める ReVIEWSublime Text 2 で始める ReVIEW
Sublime Text 2 で始める ReVIEW
Yuki Anzai
 

La actualidad más candente (20)

ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
 
171209 nishimoto-mpy-esp32
171209 nishimoto-mpy-esp32171209 nishimoto-mpy-esp32
171209 nishimoto-mpy-esp32
 
2016年注目の.netテクノロジー
2016年注目の.netテクノロジー2016年注目の.netテクノロジー
2016年注目の.netテクノロジー
 
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
 
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidevSwift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
 
LXDのすすめ
LXDのすすめLXDのすすめ
LXDのすすめ
 
プロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafeプロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafe
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
 
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
 
re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive -
re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive - re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive -
re:Invent現地でAWS IoT系のセッションを全部受けた男が説明するAWS IoT - Deep Dive -
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
 
Rancher で Docker 利用!
Rancher で Docker 利用!Rancher で Docker 利用!
Rancher で Docker 利用!
 
K8sjp11 KubeCon-Recap Multi-Cluster Operations
K8sjp11 KubeCon-Recap Multi-Cluster OperationsK8sjp11 KubeCon-Recap Multi-Cluster Operations
K8sjp11 KubeCon-Recap Multi-Cluster Operations
 
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオンVagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
 
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
ネットワークシミュレータで手軽にネットワークのお勉強(GNS3編)
 
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswiftSwift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
 
Docker 再入門 2016 update
Docker 再入門 2016 updateDocker 再入門 2016 update
Docker 再入門 2016 update
 
Eclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグEclipseを使ったandroid nativeデバッグ
Eclipseを使ったandroid nativeデバッグ
 
Sublime Text 2 で始める ReVIEW
Sublime Text 2 で始める ReVIEWSublime Text 2 で始める ReVIEW
Sublime Text 2 で始める ReVIEW
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
 

Destacado

Get a Seat at the Table: Utah's Legislature and How it Impacts Your Business
Get a Seat at the Table: Utah's Legislature and How it Impacts Your BusinessGet a Seat at the Table: Utah's Legislature and How it Impacts Your Business
Get a Seat at the Table: Utah's Legislature and How it Impacts Your Business
Parsons Behle & Latimer
 
프레젠테이션1
프레젠테이션1프레젠테이션1
프레젠테이션1
daheelim
 
Suit up Presentation
Suit up PresentationSuit up Presentation
Suit up Presentation
owildman
 

Destacado (20)

Get a Seat at the Table: Utah's Legislature and How it Impacts Your Business
Get a Seat at the Table: Utah's Legislature and How it Impacts Your BusinessGet a Seat at the Table: Utah's Legislature and How it Impacts Your Business
Get a Seat at the Table: Utah's Legislature and How it Impacts Your Business
 
They get me : Emotional Intelligence
They get me : Emotional IntelligenceThey get me : Emotional Intelligence
They get me : Emotional Intelligence
 
프레젠테이션1
프레젠테이션1프레젠테이션1
프레젠테이션1
 
Memòria
MemòriaMemòria
Memòria
 
Georgia Caddick - Visual Influences - The Tempest
Georgia Caddick - Visual Influences - The TempestGeorgia Caddick - Visual Influences - The Tempest
Georgia Caddick - Visual Influences - The Tempest
 
Barriers2
Barriers2Barriers2
Barriers2
 
Suit up Presentation
Suit up PresentationSuit up Presentation
Suit up Presentation
 
Freshwater Matters from the FBA September2014
Freshwater Matters from the FBA September2014Freshwater Matters from the FBA September2014
Freshwater Matters from the FBA September2014
 
Scientia mobile — MOVR 2015_q2
Scientia mobile — MOVR 2015_q2Scientia mobile — MOVR 2015_q2
Scientia mobile — MOVR 2015_q2
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Employment Compliance Audits
Employment Compliance AuditsEmployment Compliance Audits
Employment Compliance Audits
 
GEOGRAFIA AGRARIA
GEOGRAFIA AGRARIAGEOGRAFIA AGRARIA
GEOGRAFIA AGRARIA
 
Ecuaciones
EcuacionesEcuaciones
Ecuaciones
 
Roadmap ri fare v3.0
Roadmap ri fare v3.0Roadmap ri fare v3.0
Roadmap ri fare v3.0
 
The Life Span of Maria Callas
The Life Span of Maria CallasThe Life Span of Maria Callas
The Life Span of Maria Callas
 
Pedologia
PedologiaPedologia
Pedologia
 
Presentazione
PresentazionePresentazione
Presentazione
 
Riesgos yoselin barrera
Riesgos  yoselin barreraRiesgos  yoselin barrera
Riesgos yoselin barrera
 
Codemotion 2015 - Unit Testing
Codemotion 2015 - Unit TestingCodemotion 2015 - Unit Testing
Codemotion 2015 - Unit Testing
 
DotNet Conference: code smells
DotNet Conference: code smellsDotNet Conference: code smells
DotNet Conference: code smells
 

Similar a Tizen native application

Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
Naruto TAKAHASHI
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
Naruto TAKAHASHI
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
Naruto TAKAHASHI
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
クライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムクライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラム
namioto
 

Similar a Tizen native application (20)

Tizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native apiTizen 2.0 alpha でサポートされなかった native api
Tizen 2.0 alpha でサポートされなかった native api
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラインフラエンジニアがk8sでアプリを作って見えた今後のインフラ
インフラエンジニアがk8sでアプリを作って見えた今後のインフラ
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
 
Tizen application
Tizen applicationTizen application
Tizen application
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
 
Android0422
Android0422Android0422
Android0422
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
 
OpenStack Swift紹介
OpenStack Swift紹介OpenStack Swift紹介
OpenStack Swift紹介
 
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjpAPIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
 
クライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムクライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラム
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 

Más de Naruto TAKAHASHI

Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性
Naruto TAKAHASHI
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
Naruto TAKAHASHI
 
Report of linuxcon japan 2013
Report of linuxcon japan 2013Report of linuxcon japan 2013
Report of linuxcon japan 2013
Naruto TAKAHASHI
 
Rust samurai lightning talk
Rust samurai lightning talkRust samurai lightning talk
Rust samurai lightning talk
Naruto TAKAHASHI
 
How to add nfc web api to android by using npapi
How to add nfc web api to android by using npapiHow to add nfc web api to android by using npapi
How to add nfc web api to android by using npapi
Naruto TAKAHASHI
 
Japanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaJapanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 Alpha
Naruto TAKAHASHI
 
猫でも分かる Android WebKit
猫でも分かる Android WebKit猫でも分かる Android WebKit
猫でも分かる Android WebKit
Naruto TAKAHASHI
 
猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break
Naruto TAKAHASHI
 
Tizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreakTizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreak
Naruto TAKAHASHI
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
 
Html5 でアプリを作るということ
Html5 でアプリを作るということHtml5 でアプリを作るということ
Html5 でアプリを作るということ
Naruto TAKAHASHI
 
Linux ユーザーからみた tizen
Linux ユーザーからみた tizenLinux ユーザーからみた tizen
Linux ユーザーからみた tizen
Naruto TAKAHASHI
 

Más de Naruto TAKAHASHI (18)

CMake multiplatform build-tool
CMake multiplatform build-toolCMake multiplatform build-tool
CMake multiplatform build-tool
 
Tizen & Crosswalk
Tizen & CrosswalkTizen & Crosswalk
Tizen & Crosswalk
 
Tizen の未来と可能性
Tizen の未来と可能性Tizen の未来と可能性
Tizen の未来と可能性
 
せっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜせっかくだから俺はこの NPAPI の話をするぜ
せっかくだから俺はこの NPAPI の話をするぜ
 
Tizenについて
TizenについてTizenについて
Tizenについて
 
Report of linuxcon japan 2013
Report of linuxcon japan 2013Report of linuxcon japan 2013
Report of linuxcon japan 2013
 
Rust samurai lightning talk
Rust samurai lightning talkRust samurai lightning talk
Rust samurai lightning talk
 
Tizen 2.0 overview
Tizen 2.0 overviewTizen 2.0 overview
Tizen 2.0 overview
 
Tizen API
Tizen APITizen API
Tizen API
 
How to add nfc web api to android by using npapi
How to add nfc web api to android by using npapiHow to add nfc web api to android by using npapi
How to add nfc web api to android by using npapi
 
Japanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 AlphaJapanese input environment on Tizen 2.0 Alpha
Japanese input environment on Tizen 2.0 Alpha
 
猫でも分かる Android WebKit
猫でも分かる Android WebKit猫でも分かる Android WebKit
猫でも分かる Android WebKit
 
猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break猫でも分かる Android WebKit ice break
猫でも分かる Android WebKit ice break
 
Tizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreakTizen 2.0 alpha でサポートされなかった native api icebreak
Tizen 2.0 alpha でサポートされなかった native api icebreak
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
Tizen web app
Tizen web appTizen web app
Tizen web app
 
Html5 でアプリを作るということ
Html5 でアプリを作るということHtml5 でアプリを作るということ
Html5 でアプリを作るということ
 
Linux ユーザーからみた tizen
Linux ユーザーからみた tizenLinux ユーザーからみた tizen
Linux ユーザーからみた tizen
 

Último

Último (7)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Tizen native application

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