TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

41
2013/03/09 プロ生勉強会 第20回@品川 1 スマートフォン向けOS ~はじめて学ぶアプリ開発入門~ TIZEN OS for smartphone Kickstart application development

description

 

Transcript of TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

Page 1: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 1

スマートフォン向けOS     ~はじめて学ぶアプリ開発入門~

TIZEN OS for smartphoneKickstart application development

Page 2: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 2

自己紹介● くまだす(Hiroshi Sakate)● 自称 組込みやさん● 所属

– Tizen Japan コンソーシアム– 日本Androidの会 神戸支部

● ペットとお菓子 * Raspberry Pi is a trademark of the Raspberry Pi Foundation. http://raspberrypi.org/

Kumadasu

Embedded Engineer

animal companions and sweets

Japan Android Group Kobe

Tizen Japan Consortium

Groups

Who

Page 3: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 3

読み方

たいぜん

pronounce

Page 4: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 4

みんな     って知ってる?● 新OS「タイゼン」搭載スマホ

ドコモ、年内発売 日経新聞 2013/2/27

● もうすぐ発売される新しいOS

Do you know Tizen?

Docomo will sell device which has New OS “TIZEN” in 2013

Nikkei newspaper Feb 27th 2013

The new OS which comes soon.

Page 5: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 5

第 3 のOS● iOS, Android の次のOS

– Windows Phone 8– Tizen– Firefox OS– Ubuntu Phone

● たくさん出てきたけど何が違うんだろう?

The third OS

The Next OS of iOS and Android

What is the difference of these OSs.

Page 6: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 6

よくあるOS比較表

Android iOS WP8 Firefox OS

Tizen

利用料 無償 - 有償 無償 無償

OS変更

一部変更に制限あり

変更不可

制限あり

ほぼ制限なし

ほぼ制限なし

アプリ 移植難 移植難 移植難 他OSで動作

他OSで動作

Well seencomparison table

fee free free freenon-free

modifiablity Partly restricted Cannot change restricted Almost norestriction

Almost norestriction

App portability

hard hard hardWorks on other OS

Works on other OS

Page 7: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 7

OSを変更できる● キャリア独自サービスを組込みやすい

– それって本当に嬉しいの?● かんたん携帯とかには嬉しいかも。

– Android以上にフラグメント起こらない?● HTML5なら大丈夫?● 今のところよくわかりません

Benefit of modifiable OS

Easy to implement carrier service

Is that really for customer?

May foreasy to use smartphone.

Fragment will become bigger than Android?

HTML5 solves the problem?

Not sure in this moment.

Page 8: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 8

HTML5アプリならどこでも動く?● Write once, Run anywhere...● 以下を除けばある程度可能

– 独自API● Tizen は独自APIあり

– パッケージング● Tizen は W3C 標準の Widget 採用

HTML5 apps work on anywhere?

It's partly true except for below items.

Original API

Packaging

Tizen has original API

Tizen has W3C standard Widget

Page 9: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 9

HTML5 アプリの利点● 開発者が多い● 開発の敷居も低い● 便利なライブラリが使える

– jQuery– PhoneGap

Benefit of HTML5 apps

Many developers

Easy to start

Useful libraries

Page 10: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 10

第3のOS比較● Windows Phone 8

– XAML with C#/VB– ここにいる人は私より詳しいはず(省略)

● Firefox OS● Ubuntu Phone● Tizen

Probably you know well than me

Page 11: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 11

Firefox OS● Web = OS● シンプルなアーキテクチャ

– 軽量、安価なデバイスに● マーケット整備済み● HTML5のみ

– ネイティブなし

Simple architectureLightweight

for lowend deviceMarket available

HTML5 onlyNo native

Page 12: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 12

Ubuntu Phone● まだ出たばかり。個人的にはすごく期待。● Native + Web● Desktop/Phone 双方で動くアプリ● Linaroとの関係でARMは十八番?● マーケット整備済み● 新しいモバイル向けUI

http://www.ubuntu.com より引用

New OS. New hope.

Run on both Desktop & PhoneAdvantage in ARM Because

relation with LinaroMarket available

New UI for mobile

Page 13: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 13

ここからあとはTizenの内容 From here

talking about Tizen

Page 14: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 14

Tizen● Native + Web

– OpenGLもよく動く– JNIのオーバヘッドなし

● 見た目はちょっと地味● 歴史がちょっと複雑

– 歴史は繰り返さないでOpenGL works well, No overhead from JNI

Nothing special in looksComplicated history, Don't repeat history.

Page 15: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 15

Mobile と IVI● 2つの系統

– Mobile(携帯向け)– IVI(カーナビ向け)

● 現状は名前だけ同じ別のOS● 特に言及しない限り大抵

Tizen = モバイル

Mobile and IVI

HTML5 test scorehttp://html5test.com

2 lineFor Mobile

For In Vehicle Infortaiment

Only the name is same,different OS.

In this slide, Tizen = Tizen Mobile

Page 16: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 16

Tizen を取り巻く団体● Linux Foundation● Samsung(主にMobileを推進)● Intel(主にIVIを推進)● Tizen Association

– Tizenを推進する企業が名を連ねる

https://www.tizenassociation.org/members/ より引用

Samsung mainly lead MobileIntel mainly lead IVI

Tizen association's member

Page 17: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 17

Tizenの最近の動き● SDK2.0 Alpha → 2013/02/18 SDK 2.0

– API大量削除・変更– 大きく変わってより魅力的に– Mac対応、Native SDK対応

● 2013年第2クォータ SDK2.1– 機能追加、パフォーマンス向上

Big change and more attractive

Recent activity

Many deleted / changed APIs

Support Mac OS and Native SDK

Second quarter of 2013SDK2.1 will be release

New features and optimization

Page 18: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 18

Bada は Tizen に統合!● Bada

– Samsung独自モバイル向けOS

– 中国,ロシアでシェア● Badaの資産を活用

– アプリ– ドキュメント

http://developer.bada.com/library/Migration-Tool-Installation-for-Converting-bada-Applications-to-Tizen-Applications

Samsung original OSfor mobile

Have share in China, Russia area

Bada Apps & Documentsavailable

Page 19: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 19

開発用実機● RD-210 based on Galaxy S2 HD● RD-PQ based on Galaxy S3● Blackbay ← Intel Atom Processor!!!

http://download.tizen.org/releases/latest/2.0/images/ RD-210 (Tizen 1.0)

Target devices

Page 20: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 20

3つのアプリの形式● Native apps● Web apps

● Native + Web = Hybrid apps

3 app types

Page 21: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 21

TizenのアーキテクチャArchitecture of Tizen

https://developer.tizen.org/documentation/dev-guide

Page 22: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 22

Tizen SDK 2.0インストール

install

Page 23: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 23

ダウンロード● https://developer.tizen.org/download

s/tizen-sdk– 各プラットフォーム用のものをダウンロード– Install Manager(約4MB)– SDK Image(約2.0GB)

Download

Download them which adopt to your environment

Page 24: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 24

インストール(1/2)● Install Manager起動後Advancedを選択

Install

Choose“Advanced”

after bootingInstall Manager

Page 25: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 25

インストール(2/2)● SDK imageを指定したらあとは適当に進める

Install

Choose SDK imagewhich downloaded.

And go on.

Page 26: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 26

Webシミュレータ● Chromeベース(Preferenceでパス指定)● 実行時にシミュレータを指定して起動● センサ値編集可● Web Appのみ

Web Simulator

Chrome based simulator(Select path in preference)

Sensor value editableOnly for Web Apps

Page 27: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 27

エミュレータ● Native App はこちらが必須● カメラも使える

Emulator

Native Apps requires EmulatorCamera available

Page 28: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 28

アプリ開発Native / Web / Hybrid

App development

Page 29: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 29

Native App (OpenGL)● New→ Tizen Native Project→ OpenGL Application→ Project name 入力

● 以上!Input Project name

Done

Page 30: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 30

エミュレータでの実行● 実行するプロジェクトとパースペクティブが

一致させてからRun

Execute on Emulator

Check perspective sameas your project and Run.

Page 31: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 31

Web App (Sample)● New→ Tizen Web Project→ Sample→ Web App→ Piano→ Project name入力

● 以上! Input Project nameDone

Page 32: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 32

Hybrid● 調査中!双方から呼び出し可能らしい● Hybrid application programming

– This feature provides:● JavaScript code evaluation for C++ to

JavaScript binding● Event handler bridge for JavaScript to C++

binding

In researchingCallable each other

JavaScript and C++

Page 33: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 33

手作りアプリ● 要件

– プロ生勉強会のTwitterコメントを– Streaming API を使用して– Tizen 端末上で– ニコニコ動画風に– 流す。

Requirements

Collect Tweets aboutProNama Study Meeting

Using Streaming APIStream tweets

On TizenIn Niconico movie style

Original app

Page 34: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 34

1週間程度でやってみた● Javascript 42 行● サーバサイドなし● Twitterの4つのキーを平文で書いてるけど気にしない(配布不可)

● 外部サーバにアクセスするときはセキュリティ上の理由から設定が必要

Make app in 1 week

JavaScript 42 lineNo searver

Don't mind about 4 keysin plain text

Cannot distribute

Special setting is required to connect to external server

for security reason

Page 35: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 35

config.xml に Access 先を追加Add server URL in config.xml

Page 36: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 36

Access 追加したけど出る警告There is still a warning.

Page 37: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 37

ごめんなさい実装間に合いませんでした

ここに(jsonが)

いる

キーが有効期限内の時 キーが有効期限切れの時

Sorry, not in time.

Key not expired Key is expired

Json here

Page 38: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 38

残りの処理● OAuth認証

– 現在はOAuthツールの結果をコピペ● 延々と流れるJsonの切れ目判定● Json解釈● HTML, CSS の調整

ToDo

OAuth authentificationIn this time Copy & pastethe result of OAuth tool .

Divide Json whichcontinuously streemes

Decode Json

Adjust HTML & CSS

Page 39: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 39

Tizen Japan コンソーシアム● 勉強会

– 大体月1回@新宿– 不定期@大阪– お子さん連れでもたぶん大丈夫!

What is Tizen Japan Consortium?

Study meetings

about 1 time a month @ Shinjuku

non-regular @ Osaka

Some presenter with child

Page 40: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 40

ところでTizenのキャラクター知ってる?

By the wayDo you know the character of Tizen?

Page 41: TIZEN OS for smartphone Kickstart application development / はじめて学ぶアプリ開発入門

2013/03/09 プロ生勉強会 第20回@品川 41

Tizen Japan コンソーシアム● ML

– https://groups.google.com/forum/#!forum/tizen-japan

● Web(作成中)– http://tizen.jp

Under costruction