SlideShare a Scribd company logo
Titanium もくもく会 Tokyo #7
サーセン



LT とは Long Talk のことである
LT means Long Talk
宮下 竜大郎 @ryugoo_

Web * Developer 
Titanium Certified App Developer 
Titanium Certified Mobile Developer 
Titanium ユーザー会 書記

http://imthinker.net/ 
http://cocohere.com/ 
何故、今ここでもう一度
初めての Titanium なのか
Titanium に関する誤解増加中
HTML / CSS / JS でアプリを作る
Titanium is not PhoneGap, Sencha Touch !
Objective-C / Java に変換される
Titanium is not “Meta programming language” !
Titanium 1.x 時代に見限っちゃった
Titanium Developer, Studio, Performance, Android, JavaScript…
安定しないプラクティス
Ti.include / CommonJS Modules / Alloy … Enough Already !
競合も増えた!
PhoneGap, Sencha Touch, RubyMotion, MobiRuby, Xamarin…
あっ、このままじゃあかん…
Oh…
もう一度 Titanium を整理しよう
Adjust “Titanium” again
今ここでもう一度初めての Titanium
Titanium プラットフォーム



    Mobile            Cloud Services   Market place
Alloy MVC Framework       Node.ACS      Module, Design
Titanium Mobile
Built native apps from JavaScript

                          
        JavaScript
        Single Code Base



    
Titanium Apps                            Native Apps


               Titanium API


JavaScript                             
                       +
                   JS Engine
                                        
                               Bridge API
Titanium Apps                            Native Apps


               Titanium API


JavaScript                             
                       +
                   JS Engine
                                        
                               Bridge API
JavaScript with Titanium API
= Titanium Classic
Raw Titanium API + CommonJS Modules + Native Modules
// UI
var win = Ti.UI.createWindow({
  backgroundColor: "#FFFFFF"
});
var label = Ti.UI.createLabel({
  text: "Hello, Titanium!"
});
// Logic
label.addEventListener("click", function () {
  alert("You clicked label!");
});
// Presentation
win.add(label);
win.open();
Titanium Classic
1. シンプル
  API 叩くだけ
    大規模になってきたら…?
2. 全て JavaScript
  ビューもロジックもデータベースも全部 JS を書いて操作


3. まずはここから
  千里の Titanium も Classic より始まる
Alloy
Titanium MVC Framework
Titanium Apps                            Native Apps


               Titanium API


JavaScript                             
                       +
                   JS Engine
                                        
                               Bridge API
Titanium Apps                            Native Apps


             Titanium API

                                     
XML
StyleSheet
                     +
                 JS Engine
                                      
JavaScript
                             Bridge API
Model
                            JavaScript
Controller
    View                    XML + StyleSheet
= Alloy MVC Framework
Backbone.js based Model, Controller and XML based UI with StyleSheet system
// View (index.xml)
<Alloy>
  <Window id="index">
    <Label id="lbl">Hello, Titanium!</Label>
  </Window>
</Alloy>
// StyleSheet (index.tss)
"Window": {
  backgroundColor: "#FFFFFF"
}
// Controller (index.js)
$.lbl.addEventListener("click", function () {
  alert("You clicked label!");
});
$.index.open();
// Create Model (Rails like)
$ alloy generate model todo sql 
task:string done:boolean

// Use Model (in Controller)
var todo = Alloy.createModel("todo", {
  task: "Something" + Date.now(),
  done: false
});
todo.save(); // Save SQLite :-)

// Data binding (in View)
<Collection src="todo" />
<TableView dataCollection="todo">
Alloy MVC Framework
1. 分かりやすい構造
  ビュー、ロジック、コントローラ、データベースが綺麗に分離する

2. 大規模開発も安心
  Convention over Configuration で規約に従った開発

3. Titanium Classic を覚えてから
  まずは Titanium API で何ができるかを頭に入れると効果的
Titanium プラットフォーム




     ✓
    Mobile
Alloy MVC Framework
                      Cloud Services
                          Node.ACS
                                       Market place
                                        Module, Design
Titanium Cloud Services
MBaaS - Mobile Backend as a Service
Titanium Cloud Services
1. サーバサイド機能を提供
  API 叩くだけ, Titanium / iOS / Android / JS / REST

2. 広い無料枠
  500 万 API コール, 500 万 Push 通知, 20GB ストレージ

3. Ti Mobile とシームレスに連携
  Titanium Mobile 用のモジュール有
Backend as a Service




☁
              IaaS / VPS      BaaS
            1. サーバーを借りて     1. サインアップして

     
              2. ミドルウェアを入れて   2. ドキュメント読んで

             3. 設定して         3. API 使って

   
              4. 設計して         4. 動作確認する

  
              5. プログラム書いて
              6. 展開して
              7. 動作確認して
              8. 管理する
     👤
Titanium Cloud Services
1. AWS の上で動作
  無料枠の範囲内なら間接的に AWS を無料で使っている事に

2. Node.ACS
  ACS 連携の Node.js アプリをホスティング (PaaS)

3. 全て JavaScript で完結
  クライアント側からサーバーサイドまで
Titanium プラットフォーム




     ✓
    Mobile
Alloy MVC Framework
                          ✓
                      Cloud Services
                          Node.ACS
                                       Market place
                                        Module, Design
Open Mobile Marketplace
Find Modules and Design parts on official store
Open Mobile Marketplace
1. 有料・無料のモジュールを掲載
  Instagram のようなモジュールや KeyChain モジュールなど

2. デザインパーツ
  モジュール以外にはデザインパーツも置いてある


3. ライセンス形態は多様
  一度取得したら無料のものから、月額払いのものなど
Titanium プラットフォーム
                       Titanium Studio
                       Ecplise based IDE for Titanium



    Mobile
                       Titanium CLI
                      Cloud Services Market place
                       Command line tools made by Node.js
Alloy MVC Framework       Node.ACS            Module, Design
今ここでもう一度初めての Titanium
Titanium Studio
1. 開発・デバッグ・転送
  Titanium Mobile 開発に必要な要素全部入り

2. Alloy の操作も GUI で
  モデルの定義やコントローラーの定義も全て GUI 操作可能


3. 強力なコード補完
  Titanium API だけでなく、 Alloy や自分で定義した関数も補完
Titanium CLI
1. プロジェクト作成や転送
  コーディングは好きなテキストエディタで OK

2. 他のツールと連携
  Grunt や Jasmine などの他のツールと連携しやすい

3. 上級者向け
  自力で問題を解決できる上級者向け
Mobile            Cloud Services   Market place
Alloy MVC Framework       Node.ACS       Module, Design



                        Titanium Studio / CLI
Titanium Platform
1. クライアントからサーバまで統合
 Titanium Mobile から Titanium Cloud Services まで

2. 豊富な公式開発ツール
 Eclipse ベースの Studio や Node.js ベースのツール類まで

3. 迷ったらサポート掲示板へ
 有志メンバーが頑張ります
CODESTRONG!

More Related Content

PDF
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
PPTX
Slides for tiTokyo 2013 - Japanese version
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Lightning Component × Lightning Design System
PDF
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
PDF
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
PPTX
APIモック3分クッキング
Introducing Elastic 8.1 Release - More Integration, Faster Indexing Speed, Lo...
Slides for tiTokyo 2013 - Japanese version
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Lightning Component × Lightning Design System
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
APIモック3分クッキング

What's hot (20)

PDF
Spring Boot × Vue.jsでSPAを作る
PDF
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
PDF
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
PDF
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
PDF
Java によるクラウドネイティブ の実現に向けて
PDF
Application development with c#, .net 6, blazor web assembly, asp.net web api...
PDF
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
PDF
Introduction to extensions and other useful features for developing apps usin...
PDF
.NET の今と今後に思うこと
PDF
JSON Schema で Web API のスキマを埋めよう
PPTX
SWTT2017 - Lightningアプリケーション開発現場で 実践しているノウハウ
PDF
Salesforce Lightning をやってみてあれこれ
PDF
Angular 4がやってくる!? 新機能ダイジェスト
PDF
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
PDF
Automated Testing on AWS Device Farm
PPTX
Lightning componentとlightning design system
PDF
VisualforceへのSalesforce Lightning Design System (SLDS) 適用はどうします?
PDF
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
PPTX
Lightingコンポーネントベーシック開発
Spring Boot × Vue.jsでSPAを作る
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
jQuery/Html5/ASP.NET MVC 対応コンポーネントを用いたデバイス対応業務アプリケーション開発
Java によるクラウドネイティブ の実現に向けて
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Lightning Component公開への道 ~「Multi-View Calendar」開発で分かったこと~
Introduction to extensions and other useful features for developing apps usin...
.NET の今と今後に思うこと
JSON Schema で Web API のスキマを埋めよう
SWTT2017 - Lightningアプリケーション開発現場で 実践しているノウハウ
Salesforce Lightning をやってみてあれこれ
Angular 4がやってくる!? 新機能ダイジェスト
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Automated Testing on AWS Device Farm
Lightning componentとlightning design system
VisualforceへのSalesforce Lightning Design System (SLDS) 適用はどうします?
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
Lightingコンポーネントベーシック開発
Ad

Similar to 今ここでもう一度初めての Titanium (20)

PPT
Titanium Mobile
PDF
Tiなごや vol.3 Titaniumのキホン
PDF
福井スマートフォンハッカソン Titanium Mobileの紹介
PDF
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
PDF
Titanium勉強会
PDF
[社内向け]Titanium勉強会
PDF
WCAN Autumn 2013 Titaniumのおはなし
PDF
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
PDF
Titanium CLI × Alloy × CoffeeScript × Jade で作るiPhoneアプリのお話
KEY
iPhone/Android アプリをまとめて省エネ開発する技術
PDF
Titanium mobileで遊んでみた
PPT
Titanium Development
PDF
Titanium Mobile ~本当にあったこわい話~
PPTX
Slides for tiTokyo 2013 - Japanese version
KEY
Titanium実装最初の一歩.
PDF
Titanium Nagoya Chatroom vol.2 はじめの一歩
PPTX
2011年10月22日 iPhoneDeveloper勉強会 名古屋 #2 LT資料
PDF
モバイルアプリ開発最前線(PhoneGap)
PDF
TitaniumMobile Alloyの紹介
KEY
スマートフォンアプリケーション開発の最新動向
Titanium Mobile
Tiなごや vol.3 Titaniumのキホン
福井スマートフォンハッカソン Titanium Mobileの紹介
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
Titanium勉強会
[社内向け]Titanium勉強会
WCAN Autumn 2013 Titaniumのおはなし
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
Titanium CLI × Alloy × CoffeeScript × Jade で作るiPhoneアプリのお話
iPhone/Android アプリをまとめて省エネ開発する技術
Titanium mobileで遊んでみた
Titanium Development
Titanium Mobile ~本当にあったこわい話~
Slides for tiTokyo 2013 - Japanese version
Titanium実装最初の一歩.
Titanium Nagoya Chatroom vol.2 はじめの一歩
2011年10月22日 iPhoneDeveloper勉強会 名古屋 #2 LT資料
モバイルアプリ開発最前線(PhoneGap)
TitaniumMobile Alloyの紹介
スマートフォンアプリケーション開発の最新動向
Ad

More from Ryutaro Miyashita (10)

PDF
全てSになる -RxJavaとLWSを持ち込む楽しさ-
PDF
Wearable realm
PDF
Android で Realm を使ってみよう
PDF
Impression of realm java
PDF
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
PDF
Titanium ユーザーが Swift を触ってみたら
PDF
re:Titanium 今ここでもう一度、はじめての Titanium #2
PDF
Titanium Study Meeting in Hamamatsu LT
PDF
Titanium 2.0 and Sample.Todo
PDF
Ti.tokyo.GIG 2012
全てSになる -RxJavaとLWSを持ち込む楽しさ-
Wearable realm
Android で Realm を使ってみよう
Impression of realm java
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium ユーザーが Swift を触ってみたら
re:Titanium 今ここでもう一度、はじめての Titanium #2
Titanium Study Meeting in Hamamatsu LT
Titanium 2.0 and Sample.Todo
Ti.tokyo.GIG 2012

今ここでもう一度初めての Titanium

  • 2. サーセン LT とは Long Talk のことである LT means Long Talk
  • 3. 宮下 竜大郎 @ryugoo_ Web * Developer  Titanium Certified App Developer  Titanium Certified Mobile Developer  Titanium ユーザー会 書記 http://imthinker.net/  http://cocohere.com/ 
  • 6. HTML / CSS / JS でアプリを作る Titanium is not PhoneGap, Sencha Touch !
  • 7. Objective-C / Java に変換される Titanium is not “Meta programming language” !
  • 8. Titanium 1.x 時代に見限っちゃった Titanium Developer, Studio, Performance, Android, JavaScript…
  • 9. 安定しないプラクティス Ti.include / CommonJS Modules / Alloy … Enough Already !
  • 10. 競合も増えた! PhoneGap, Sencha Touch, RubyMotion, MobiRuby, Xamarin…
  • 14. Titanium プラットフォーム Mobile Cloud Services Market place Alloy MVC Framework Node.ACS Module, Design
  • 15. Titanium Mobile Built native apps from JavaScript
  • 16.    JavaScript Single Code Base 
  • 17. Titanium Apps Native Apps Titanium API JavaScript  + JS Engine  Bridge API
  • 18. Titanium Apps Native Apps Titanium API JavaScript  + JS Engine  Bridge API
  • 19. JavaScript with Titanium API = Titanium Classic Raw Titanium API + CommonJS Modules + Native Modules
  • 20. // UI var win = Ti.UI.createWindow({ backgroundColor: "#FFFFFF" }); var label = Ti.UI.createLabel({ text: "Hello, Titanium!" }); // Logic label.addEventListener("click", function () { alert("You clicked label!"); }); // Presentation win.add(label); win.open();
  • 21. Titanium Classic 1. シンプル API 叩くだけ 大規模になってきたら…? 2. 全て JavaScript ビューもロジックもデータベースも全部 JS を書いて操作 3. まずはここから 千里の Titanium も Classic より始まる
  • 23. Titanium Apps Native Apps Titanium API JavaScript  + JS Engine  Bridge API
  • 24. Titanium Apps Native Apps Titanium API  XML StyleSheet + JS Engine  JavaScript Bridge API
  • 25. Model JavaScript Controller View XML + StyleSheet = Alloy MVC Framework Backbone.js based Model, Controller and XML based UI with StyleSheet system
  • 26. // View (index.xml) <Alloy> <Window id="index"> <Label id="lbl">Hello, Titanium!</Label> </Window> </Alloy> // StyleSheet (index.tss) "Window": { backgroundColor: "#FFFFFF" } // Controller (index.js) $.lbl.addEventListener("click", function () { alert("You clicked label!"); }); $.index.open();
  • 27. // Create Model (Rails like) $ alloy generate model todo sql task:string done:boolean // Use Model (in Controller) var todo = Alloy.createModel("todo", { task: "Something" + Date.now(), done: false }); todo.save(); // Save SQLite :-) // Data binding (in View) <Collection src="todo" /> <TableView dataCollection="todo">
  • 28. Alloy MVC Framework 1. 分かりやすい構造 ビュー、ロジック、コントローラ、データベースが綺麗に分離する 2. 大規模開発も安心 Convention over Configuration で規約に従った開発 3. Titanium Classic を覚えてから まずは Titanium API で何ができるかを頭に入れると効果的
  • 29. Titanium プラットフォーム ✓ Mobile Alloy MVC Framework Cloud Services Node.ACS Market place Module, Design
  • 30. Titanium Cloud Services MBaaS - Mobile Backend as a Service
  • 31. Titanium Cloud Services 1. サーバサイド機能を提供 API 叩くだけ, Titanium / iOS / Android / JS / REST 2. 広い無料枠 500 万 API コール, 500 万 Push 通知, 20GB ストレージ 3. Ti Mobile とシームレスに連携 Titanium Mobile 用のモジュール有
  • 32. Backend as a Service ☁ IaaS / VPS BaaS   1. サーバーを借りて 1. サインアップして   2. ミドルウェアを入れて 2. ドキュメント読んで  3. 設定して 3. API 使って  4. 設計して 4. 動作確認する   5. プログラム書いて 6. 展開して 7. 動作確認して 8. 管理する 👤
  • 33. Titanium Cloud Services 1. AWS の上で動作 無料枠の範囲内なら間接的に AWS を無料で使っている事に 2. Node.ACS ACS 連携の Node.js アプリをホスティング (PaaS) 3. 全て JavaScript で完結 クライアント側からサーバーサイドまで
  • 34. Titanium プラットフォーム ✓ Mobile Alloy MVC Framework ✓ Cloud Services Node.ACS Market place Module, Design
  • 35. Open Mobile Marketplace Find Modules and Design parts on official store
  • 36. Open Mobile Marketplace 1. 有料・無料のモジュールを掲載 Instagram のようなモジュールや KeyChain モジュールなど 2. デザインパーツ モジュール以外にはデザインパーツも置いてある 3. ライセンス形態は多様 一度取得したら無料のものから、月額払いのものなど
  • 37. Titanium プラットフォーム Titanium Studio Ecplise based IDE for Titanium Mobile Titanium CLI Cloud Services Market place Command line tools made by Node.js Alloy MVC Framework Node.ACS Module, Design
  • 39. Titanium Studio 1. 開発・デバッグ・転送 Titanium Mobile 開発に必要な要素全部入り 2. Alloy の操作も GUI で モデルの定義やコントローラーの定義も全て GUI 操作可能 3. 強力なコード補完 Titanium API だけでなく、 Alloy や自分で定義した関数も補完
  • 40. Titanium CLI 1. プロジェクト作成や転送 コーディングは好きなテキストエディタで OK 2. 他のツールと連携 Grunt や Jasmine などの他のツールと連携しやすい 3. 上級者向け 自力で問題を解決できる上級者向け
  • 41. Mobile Cloud Services Market place Alloy MVC Framework Node.ACS Module, Design Titanium Studio / CLI
  • 42. Titanium Platform 1. クライアントからサーバまで統合 Titanium Mobile から Titanium Cloud Services まで 2. 豊富な公式開発ツール Eclipse ベースの Studio や Node.js ベースのツール類まで 3. 迷ったらサポート掲示板へ 有志メンバーが頑張ります