WCAN Autumn 2013 Titaniumのおはなし

91
そろそろ使ってみませんか? JavaScriptだけで スマフォアプリを作る Titanium Mobile Shingo Mori ConnectionWorks Inc.

description

2013年9月14日に開催されたWCAN Autumn 2013の、セッション 1 Room B で開催された、「そろそろ使ってみませんか?JavaScriptだけでスマフォアプリを作る「Titanium Mobile」」のスライド。

Transcript of WCAN Autumn 2013 Titaniumのおはなし

Page 1: WCAN Autumn 2013 Titaniumのおはなし

そろそろ使ってみませんか?

JavaScriptだけでスマフォアプリを作る

Titanium MobileShingo Mori

ConnectionWorks Inc.

Page 2: WCAN Autumn 2013 Titaniumのおはなし

ようこそ!

Page 3: WCAN Autumn 2013 Titaniumのおはなし

森 真 吾@sngmr

ConnectionWorks Inc.

Page 4: WCAN Autumn 2013 Titaniumのおはなし

エンジニアです

Page 5: WCAN Autumn 2013 Titaniumのおはなし

Windowsインフラ構築

大規模バッチ処理運用

障害管理(お客さんにあやまる課)

.NETによる開発

Webシステム開発

スマートフォンアプリ開発

…etc

こんなことやってきました

Page 6: WCAN Autumn 2013 Titaniumのおはなし

Ti Nagoya 主催

Titanium ユーザー会

FxUG名古屋 主催(してた)

各技術コミュニティでの発表

技術本の執筆

講演・講師

St.Patricks Day Parade Nagoya 実行委員(してた)

...etc

こんなこともやってます

Page 7: WCAN Autumn 2013 Titaniumのおはなし
Page 8: WCAN Autumn 2013 Titaniumのおはなし

はじめましょう

Page 9: WCAN Autumn 2013 Titaniumのおはなし

今日の流れ1. スマートフォンを取り巻く世の中の流れ

2. What? -- なにがある? --

3. How? -- どのようにやる? --

4. Dive into Titanium!!!

5. More Deeper!!!

6. Live Coding!

Page 10: WCAN Autumn 2013 Titaniumのおはなし

スマートフォンを取り巻く世の中の流れ

Page 11: WCAN Autumn 2013 Titaniumのおはなし

スマートフォンの普及率

出典:Our Mobile Planet Japan by Google

Page 12: WCAN Autumn 2013 Titaniumのおはなし

出典:Our Mobile Planet Japan by Google

Page 13: WCAN Autumn 2013 Titaniumのおはなし

・・・・

Page 14: WCAN Autumn 2013 Titaniumのおはなし

今さら感漂うので割愛!!

Page 15: WCAN Autumn 2013 Titaniumのおはなし

スマートフォンへのリーチは必須!!

Page 16: WCAN Autumn 2013 Titaniumのおはなし

What?

Page 17: WCAN Autumn 2013 Titaniumのおはなし

Web

HTML5

アプリ

Page 18: WCAN Autumn 2013 Titaniumのおはなし

モバイル向けWebは必要• 検索エンジン経由• コーポレートサイト• 広告など• その他一般的なWeb• HTML5 / CSS3• どんどん使いましょう

→ やることの基本はPC版のWebサイトとほぼ同じ

Page 19: WCAN Autumn 2013 Titaniumのおはなし

HTML5 Webアプリは?• アプリに似た動作• プラットフォーム依存無• PUSH通知が使えない• カメラなども使えない• まだ少し早い・・かな• パフォーマンス問題• 将来的には期待してる

→ 特にアプリ代替としてのHTML5アプリはまだ厳しい

Page 20: WCAN Autumn 2013 Titaniumのおはなし

モバイルアプリケーション!• ストアに並ぶ• カメラなども使える• PUSH通知ができる• UI/UXの表現に優れる• (まだ)自慢できる• ただしインストールのハードルは意外と高い

Page 21: WCAN Autumn 2013 Titaniumのおはなし

モバイルアプリはモバイルコンテンツ

の大本命!!

Page 22: WCAN Autumn 2013 Titaniumのおはなし

Connect!!

Page 23: WCAN Autumn 2013 Titaniumのおはなし

提供:株式会社デンソー

Page 24: WCAN Autumn 2013 Titaniumのおはなし

提供:株式会社デンソー

Page 25: WCAN Autumn 2013 Titaniumのおはなし

Wearable!!

Page 26: WCAN Autumn 2013 Titaniumのおはなし

From http://google.com/glass

Page 27: WCAN Autumn 2013 Titaniumのおはなし

MBaaS

Page 28: WCAN Autumn 2013 Titaniumのおはなし

Mobile Backend as a Service

Page 29: WCAN Autumn 2013 Titaniumのおはなし

Key Features of Titanium Cloud Services

Page 30: WCAN Autumn 2013 Titaniumのおはなし

こんなに魅力的なスマートフォンアプリ

開発・・・

Page 31: WCAN Autumn 2013 Titaniumのおはなし
Page 32: WCAN Autumn 2013 Titaniumのおはなし

How?

Page 33: WCAN Autumn 2013 Titaniumのおはなし

Titanium Mobile

Page 34: WCAN Autumn 2013 Titaniumのおはなし

Objective-C Java

Page 35: WCAN Autumn 2013 Titaniumのおはなし

どっちも覚えなきゃいけないの?

Page 36: WCAN Autumn 2013 Titaniumのおはなし

JavaScriptwith

Page 37: WCAN Autumn 2013 Titaniumのおはなし

開発元

Page 38: WCAN Autumn 2013 Titaniumのおはなし
Page 39: WCAN Autumn 2013 Titaniumのおはなし

• アメリカ・シリコンバレーに本社• 歴史• 2006 創業• 2007 Series A $6.2M• 2009 Titanium リリース• 2010 Series B $9M• 2011 Series C $15M• 2012 Series C-1 $16M

Page 40: WCAN Autumn 2013 Titaniumのおはなし

使われてるの?

Page 41: WCAN Autumn 2013 Titaniumのおはなし
Page 42: WCAN Autumn 2013 Titaniumのおはなし

Zipcar

Page 43: WCAN Autumn 2013 Titaniumのおはなし

Zaim

Page 44: WCAN Autumn 2013 Titaniumのおはなし

サイボウズLive

Page 45: WCAN Autumn 2013 Titaniumのおはなし

モトクロ男子

Page 46: WCAN Autumn 2013 Titaniumのおはなし

More...

http://www.sawadaru.com/blog/?p=562

Page 47: WCAN Autumn 2013 Titaniumのおはなし

どんな機能が使える?

Page 48: WCAN Autumn 2013 Titaniumのおはなし

機能は(だいたい)全部使えますNative User ExperienceNative performance + Native UI (tables, animations, gestures, etc).

Location-based ServicesAugmented reality, geo-location, compass, native maps

Social SharingAuthenticated access to Facebook, Twitter, Yahoo YQL. Native email/address book.

DataAccess online / device data, embedded SQL database, filesystem, web services

MultimediaCamera, video camera, streaming / device audio/video

AnalyticsIntegrated user, session, and custom analytics. Interactive web-based analysis tools. Geo-analytics.

Page 49: WCAN Autumn 2013 Titaniumのおはなし

Native UI も使えます

Page 50: WCAN Autumn 2013 Titaniumのおはなし

ライバル

Page 51: WCAN Autumn 2013 Titaniumのおはなし

PhoneGap• HTML5/CSS3で開発 → Webから入りやすい• カメラやPUSH通知なども利用ができる

Page 52: WCAN Autumn 2013 Titaniumのおはなし

Others...

Page 53: WCAN Autumn 2013 Titaniumのおはなし

弱点

Page 54: WCAN Autumn 2013 Titaniumのおはなし

Titanium Mobile の弱点• リアルタイム処理が要求されるもの• 代表的なのはゲーム• Platino Game Engine によって変わるか?• UI デザイナーがない• すべてコードで表現しなければならない• プラットフォーム固有の新機能への対応がどうしても(少し)遅れる

Page 55: WCAN Autumn 2013 Titaniumのおはなし

おいくら?

Page 56: WCAN Autumn 2013 Titaniumのおはなし

基本無料です

Page 57: WCAN Autumn 2013 Titaniumのおはなし

サーバーなんてできない...

Page 58: WCAN Autumn 2013 Titaniumのおはなし

Titanium Cloud

Page 59: WCAN Autumn 2013 Titaniumのおはなし

Key Features of Titanium Cloud Services

Page 60: WCAN Autumn 2013 Titaniumのおはなし

おいくら?

Page 61: WCAN Autumn 2013 Titaniumのおはなし

無料枠有り〼

Page 62: WCAN Autumn 2013 Titaniumのおはなし

こんなに素晴らしいTitanium Mobile

の世界...

Page 63: WCAN Autumn 2013 Titaniumのおはなし
Page 64: WCAN Autumn 2013 Titaniumのおはなし

Dive into

Titanium!!

Page 65: WCAN Autumn 2013 Titaniumのおはなし

技術レベル + +

Page 66: WCAN Autumn 2013 Titaniumのおはなし

Architecture

Page 67: WCAN Autumn 2013 Titaniumのおはなし

Titanium のアーキテクチャ

iOS

JavaScript Engine

Titanium APIs Ti Modules

JavaScript Code

Android OS

JavaScript Engine

Titanium APIs Ti Modules

Native iOS app Native Android app

Bridge API Bridge API

Page 68: WCAN Autumn 2013 Titaniumのおはなし

誤解

Page 69: WCAN Autumn 2013 Titaniumのおはなし

•JavaScriptが、NativeのObjective-C や Java に変換される

•HTMLとCSSで実装する

Page 70: WCAN Autumn 2013 Titaniumのおはなし

Write OnceRun Anywhere..

Page 71: WCAN Autumn 2013 Titaniumのおはなし

やめた方がいい

Page 72: WCAN Autumn 2013 Titaniumのおはなし

• プラットフォームにより、固有のお作法(ユーザーが自然と感じる振る舞い)がある

• 無理やり合わせることはできるが、ユーザーは混乱する

• UI部分はそれぞれのプラットフォームに合わせて作る

Page 73: WCAN Autumn 2013 Titaniumのおはなし

Plugged In

Page 74: WCAN Autumn 2013 Titaniumのおはなし

Titanium のアーキテクチャ

iOS

JavaScript Engine

Titanium APIs Ti Modules

JavaScript Code

Android OS

JavaScript Engine

Titanium APIs Ti Modules

Native iOS app Native Android app

Bridge API Bridge API

Page 75: WCAN Autumn 2013 Titaniumのおはなし

Titanium モジュール• Titanium Mobile が提供していない機能は使えないが・・・

• 足りない機能をNativeコードで記述し、「モジュール」という形で読み込むことができる

• Open Market Placeで購入可能

• GitHubなどに多数公開されている

Page 76: WCAN Autumn 2013 Titaniumのおはなし

開発方法

Page 77: WCAN Autumn 2013 Titaniumのおはなし

Install Native SDKs

Page 78: WCAN Autumn 2013 Titaniumのおはなし

Titanium Studio

- Eclipse Based IDE- Single Environment

Page 79: WCAN Autumn 2013 Titaniumのおはなし

Titanium CLI

with

- Command Line Interface (Node.js)...etc

Page 80: WCAN Autumn 2013 Titaniumのおはなし

More

Deeper!!

Page 81: WCAN Autumn 2013 Titaniumのおはなし

技術レベル + +

Page 82: WCAN Autumn 2013 Titaniumのおはなし

Alloy

Page 83: WCAN Autumn 2013 Titaniumのおはなし

Alloy Concept

from @ryugoo_

Page 84: WCAN Autumn 2013 Titaniumのおはなし

Before Alloy...

Page 85: WCAN Autumn 2013 Titaniumのおはなし

その気になれば1ファイルにすべて完結できた

Page 86: WCAN Autumn 2013 Titaniumのおはなし

Alloy View

Page 87: WCAN Autumn 2013 Titaniumのおはなし

Alloy Controller

Page 88: WCAN Autumn 2013 Titaniumのおはなし

Alloy Model

Page 89: WCAN Autumn 2013 Titaniumのおはなし

Live Coding!!

https://github.com/sngmr/WcanAlloyDemo1

Page 90: WCAN Autumn 2013 Titaniumのおはなし

Question?

Page 91: WCAN Autumn 2013 Titaniumのおはなし

ありがとうございました