SlideShare una empresa de Scribd logo
1 de 42
Appcelerator® Deep Dive
                tiTokyo
                February 16, 2013
                      Ricardo Alcocer
                                     @ Appcelerator, Inc.

    @ricardoalcocer         ralcocer@appcelerator.com
About me
• 現在シリコンバレーエリアでAppcelerator
  のプラットフォームエバンジェリスト
• 2009年からTitaniumを使ってアプリ開発
• 以前はカリブ海や中南米でTitaniumのト
  レーナー
• 技術を磨き続けるハッカー
Titanium Studioのダウンロード
• appcelerator.comからTitanium Studioを
  ダウンロード
• AppleやAndroidサイトから必要なSDK類
  をインストールし及び設定を完了してお
  く
2種類のTitanium?
Titanium Classicの
とてもシンプルなアプリ
多くのファイルが必要
App.JS
複数バージョンの
ApplicationWindow.js
FirstView.js
MVC パターンとは

                                   ビジネスロジック、データ操作等
                           Model




ユーザーが目                                           ルーティング、
にするもの
                    View           Controller    判断



.XML + .TSS Files                          .JS Files


                            User
Appcelerator® Alloy™とは?
•   Titanium用 公式 MVC フレームワーク
•   無料、オープンソース
•   宣言型 UI
•   Widget
•   Themes
何故MVCフレームワークを作ったのか?

• 大規模アプリ開発に有効
• 最適化されたTitaniumコードを提供
• アプリ開発の簡素化
• (XMLやCSSの使用により)Webデベロッ
  パーやデザイナーに更に訴求
• コード量の削減
• Widget/コンポーネント/サンプルライブ
  ラリ用の基盤を設置
Alloyで作った同じシンプルなアプ
          リ
必要なファイルが劇的に減少
より少ないコードを書く!
AlloyはJavaScriptからXMLを利用し
               て
 高度なインタラクティブ性を提供
基本のフォルダー構造

      アプリ ロジック



      アプリ スタイリング
      (colors, positioningなど)

      ユーザーインターフェース
ユーザーインターフェース定義
ユーザーインターフェース定義


          メニュー定義
ユーザーインターフェース定義




         メインビュー定義
ユーザーインターフェース定義




         メインビュー定義
Javascript : index.jsを使用した
    Open/Closeメニュー
ライブデモ
Themesを使用した
ルック&フィールとレイアウトの
        変更
   アプリにThemesを追加しましょう。
Themes
ライブデモ
Widget作成によるコードの再利
         用
   メニュー機能にWidgetを作りましょう。
“ミニアプリ“のようなWidget

• アプリと同様のフォル
  ダー構造
• “index” ファイルの代わ
  りに”widget”ファイルを
  作成する
Widget.json

• Widgetのメタデータを含む
Widget使用にあたって
• “config.json”ファイル
  のdependency項目に
  widgetを定義する


• XMLファイル
  で ”Require”で定義し
  てwidgetを読み込む
ライブデモ
アプリへのデータ追加
データバインドコントロール作成の
ためAlloyではbackbone.jsが利用可能
• Titanium StudioにAlloy Model生成機能
“Modelファイル”
• 生成された“Model
  ファイル”はデータ
  構造と保存データ定
  義
Modelデータを
  UIコントローラーにバインド
• CollectionタグでModelデータに基づいた
  データコレクションを定義し、TableView
  にバインドすることが可能
データは動的に追加することが可
       能
• XML内からデータエレメントを参照
ライブデモ
更に、、、
•   Sync Adapters
•   Migrations
•   Underscore.js対応
•   コマンドライン インターフェース (CLI)
•   Appcelerator Cloud Services (ACS)
Alloy 1.0リリース!最新情報
• Titanium SDK 3.0以降で対応
• Android fastdev
• 最新のadapter modelに対応した新たな
  SQL Adapter
• Titanium Studioのコンテンツアシスト:
     3.1.0で正式対応予定
     Nightly Build版で既に利用可能
Alloyの今後は?
• 次期Titanium Studio 3.1.0でAlloy製アプリ
  のデバッグ機能
• アプリの動的スタイリング
• Adapterフレームワーク
• Widget models と themes
• Model-viewバインディングの実装完了
ソースコード
• このプレゼンテーションで使用したサン
  プルのコードはこちら:

  http://github.com/ricardoalcocer
Questions?



  Thank you
       Ricardo Alcocer
     ralcocer@appcelerator.com
Follow me on Twitter @ricardoalcocer

Más contenido relacionado

La actualidad más candente

[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
de:code 2017
 

La actualidad más candente (15)

Scala@SmartNews_20150221
Scala@SmartNews_20150221Scala@SmartNews_20150221
Scala@SmartNews_20150221
 
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみたSf素人が2週間でアプリケーションビルダーに挑戦してみた
Sf素人が2週間でアプリケーションビルダーに挑戦してみた
 
Salesforce dug [tokyo] meetup 2016 新年会
Salesforce dug [tokyo] meetup 2016 新年会Salesforce dug [tokyo] meetup 2016 新年会
Salesforce dug [tokyo] meetup 2016 新年会
 
Azure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もうAzure の ID 管理サービスに LINE ログインを組み込もう
Azure の ID 管理サービスに LINE ログインを組み込もう
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
[MW02] 進化する Edge! ~Windows 10 Creators Update 版の新機能から既存機能まで一挙紹介~
[MW02] 進化する Edge! ~Windows 10 Creators Update 版の新機能から既存機能まで一挙紹介~[MW02] 進化する Edge! ~Windows 10 Creators Update 版の新機能から既存機能まで一挙紹介~
[MW02] 進化する Edge! ~Windows 10 Creators Update 版の新機能から既存機能まで一挙紹介~
 
Power Automate with kintone
Power Automate with kintonePower Automate with kintone
Power Automate with kintone
 
SWTT2017 - Lightningアプリケーション開発現場で 実践しているノウハウ
SWTT2017 - Lightningアプリケーション開発現場で実践しているノウハウSWTT2017 - Lightningアプリケーション開発現場で実践しているノウハウ
SWTT2017 - Lightningアプリケーション開発現場で 実践しているノウハウ
 
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
[TL08] 50 分で Bot 開発者になれる!~実践的ノウハウと、 Azure や Office 365 を組み合わせたアーキテクチャの伝授~
 
GAS×Power Automate 連携事例のご紹介
GAS×Power Automate 連携事例のご紹介GAS×Power Automate 連携事例のご紹介
GAS×Power Automate 連携事例のご紹介
 
PowerShellでFunction Appしよう!
PowerShellでFunction Appしよう!PowerShellでFunction Appしよう!
PowerShellでFunction Appしよう!
 
Data APIの基本
Data APIの基本Data APIの基本
Data APIの基本
 
VisualforceへのSalesforce Lightning Design System (SLDS) 適用はどうします?
VisualforceへのSalesforce Lightning Design System (SLDS) 適用はどうします?VisualforceへのSalesforce Lightning Design System (SLDS) 適用はどうします?
VisualforceへのSalesforce Lightning Design System (SLDS) 適用はどうします?
 
Power Automate for desktopとGoogle Apps Scriptの連携について
Power Automate for desktopとGoogle Apps Scriptの連携についてPower Automate for desktopとGoogle Apps Scriptの連携について
Power Automate for desktopとGoogle Apps Scriptの連携について
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
 

Similar a Slides for tiTokyo 2013 - Japanese version

Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Akira Inoue
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
david9142
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Akira Inoue
 
AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現
HIRA
 

Similar a Slides for tiTokyo 2013 - Japanese version (20)

Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編
 
20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Angularreflex20141210
Angularreflex20141210Angularreflex20141210
Angularreflex20141210
 
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudBuilding modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloud
 
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
 
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
Visual Studio 2012 で実現する HTML5 & マルチ デバイス時代の Web 開発
 
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
[公開用]Netラボ2012年2月勉強会 asp.netmvc4 beta新機能の紹介
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
Visual Studio 2012 と ASP.NET に見る、最新 Web 開発の魅力
 
Data API 2.0
Data API 2.0Data API 2.0
Data API 2.0
 
Node.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたことNode.jsアプリの開発をモダン化するために取り組んできたこと
Node.jsアプリの開発をモダン化するために取り組んできたこと
 
AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現AWS CloudFormationによるInfrastructure as Codeの実現
AWS CloudFormationによるInfrastructure as Codeの実現
 

Último

Último (7)

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

Slides for tiTokyo 2013 - Japanese version