Sencha Touch working with AWS

久司 中村
久司 中村- at Sunvisor Lab.
Sencha Touch
     working with AWS
             株式会社ゼノフィ 中村久司




13年3月9日土曜日
Sencha Touchとは

         Sencha Touch 2 は、HTML5 を使用したモバイルアプリケ
         ーション開発用の高性能フレームワークであり、 Sencha
         HTML5 プラットフォームの土台となるものです。




13年3月9日土曜日
そもそもSenchaとは
       カリフォルニア州レッドウッドにあるJavaScriptによるフレ
       ームワーク/開発ツールを作っている会社

       Sencha Ext JS / Sencha GXT / Sencha Touch
       / Sencha Architect / Sencha Animator /Sencha Desktop
       Packager など




13年3月9日土曜日
Sencha Ext JS

         YUIのエクステンションから始まったRIAフレームワーク

         現在のバージョンは4.1

         フルJavaScriptでRIAを構築できる

         デスクトップ向け




13年3月9日土曜日
Sencha Touchの特徴



13年3月9日土曜日
独自のクラスシステム

         JavaScriptにクラスはない(プロトタイプ型のオブジェクト
         指向)

         そこにクラスの概念を持ち込む。


         クラスを継承を利用して、既存コンポーネントから独自のコ
         ンポーネントを簡単に作成できる。



13年3月9日土曜日
動的ローディングシステム

         1ファイル = 1クラスでクラス定義


         requiresで依存関係指定。


         Ext.Loaderが依存関係を解決ロードしてくれる。


         Require.jsはいらない。




13年3月9日土曜日
クライアントサイドMVC


         Ext.Loaderの機能を使い。クライアントサイドアプリケ
         ーションでのMVCアーキテクチャーを実現。

         Backborn.jsはいらない。




13年3月9日土曜日
データハンドリング


         モデルとストアが担当する。

         サーバー/クライアントから取得したデータを格納する。

         ビューとバインドすれば自動更新。


         複数のビューにバインドしていたら、それらすべてを更新。




13年3月9日土曜日
デバイスプロファイル


         ユーザーが使うデバイスによって処理を切り替える。

         スマホ?タブレット?

         それぞれに最適な画面を設計。


         共通部分のコードは共用。




13年3月9日土曜日
クロスブラウザ対応

         Webkitだけでいいじゃん。
         は、終わりました。Forefox Tizen Ubuntu....Windows8!

         デスクトップブラウザでのJS開発と同じように、互換性地
         獄が.....

         Sencha Touchなら大丈夫。



13年3月9日土曜日
クロスブラウザ対応


         Blackbellyは元々対応済み。

         Windows8に対応を表明。

         最新ベータ版でFirefoxに対応。


         ひょっとしたら、TizenやUbuntuにも?




13年3月9日土曜日
ネイティブ対応


         Sencha内部のIONというプロジェクトによって、Sencha
         Touchで書いたプログラムをネイティブにパッケージングで
         きます。


         ネィティブ化にはSencha Cmdというツールを使います。




13年3月9日土曜日
では、本題へ



13年3月9日土曜日
AWSでの利用


         Sencha TouchはWebアプリケーションなので、AWSと組み
         合わせるのは簡単

         EC2にデプロイすれば、どんなものでも動かせます。


         今回は、S3で使ってみる。




13年3月9日土曜日
今回はS3


         S3にアップロードしたファイルは、そのままWebサイトと
         して公開できる。

         Route53を使うと独自ドメインでの公開も。




13年3月9日土曜日
S3は静的コンテンツのみ



         サーバーサイドでスクリプトを動かせない。

         では、他人のふんどしで相撲を取ります。




13年3月9日土曜日
JSONPの利用


         JSONPを使ったサービスが沢山あります。

         今回はその中からサントリーさんのAPIを利用します。

         http://webapi.suntory.co.jp/barnavidocs/api.html




13年3月9日土曜日
アプリの仕様

         サントリーのAPIに県番号/最寄り駅/予算などの条件を入
         れて検索。

         合致したバーがリスト表示。


         リストを選択すると詳細表示。

         地図ボタンで地図表示



13年3月9日土曜日
Form


         条件を入力するフォーム
         Ext.form.Panelクラス。

         入力フィールドを追加できる。


         多彩な入力フィールド




13年3月9日土曜日
ModelとProxy

         Sencha Touchではデータを格納するレコードを
         Ext.data.Modelクラスのインスタンスとして生成します。

         その集合がExt.data.Storeです。


         どこからデータを取ってくるのかを知っているのが
         Ext.data.Proxyです。



13年3月9日土曜日
JSONP


         ProxyにExt.data.proxy.JsonPを使う。

         APIの仕様に合わせてコンフィグを書いてやる

         loadメソッドでデータをロードすると目的のデータをストア
         に格納してくれる




13年3月9日土曜日
List


         Ext.dataview.Listコンポーネント

         ストアの一覧を表示

         ページングにも簡単に対応




13年3月9日土曜日
XTemplate


         テンプレートを使ってデータを表示。

         {name}のようにプレースホルダを指定

         Sencha Touchの関数や独自関数も利用可能。


         setDataメソッドでデータをセット




13年3月9日土曜日
テーマ


         アプリケーションのテーマを変更可能

         SASS/Compassを使っている

         基準色($BaseColor)などの変数を変えるだけでも大きく変わ
         る




13年3月9日土曜日
Map

         標準でExt.Mapコンポーネント
         がある。

         必要なコンフィグをセットして
         コールするだけ。




13年3月9日土曜日
S3にアップロード

         出来上がったアプリをSencha CmdでミニファイしてS3にア
         ップロードします。

         (今回はちょっとした修正をしましたが)


         静的データしか置けないところでもアプリとして機能してま
         す(よね?)



13年3月9日土曜日
今回のアプリ

         ソース

         https://github.com/sunvisor/bar

         実際の動作(AWS S3上)


         http://s3-ap-northeast-1.amazonaws.com/s3.sunvisor.net/
         index.html



13年3月9日土曜日
結論

         HTML5は時期尚早なわけじゃない。

         適したところに使えばそれで充分役に立つ。

         Sencha Touchを使えば互換性への配慮が最小限で済む。


         学習コストが高いと言われるが、JQuery Backborn.js
         Requre.js and more.... を覚えるよりも...



13年3月9日土曜日
Sencha Touch 2実践開発ガイド




13年3月9日土曜日
Sencha UG

         Japan Sencha User Group
         http://www.meetup.com/Japan-Sencha-User-Group/

         4月12日に大阪で勉強会を開催します。




13年3月9日土曜日
1 of 31

Recommended

Scala.jsプロジェクト作成まで by
Scala.jsプロジェクト作成までScala.jsプロジェクト作成まで
Scala.jsプロジェクト作成までTomohiro Suwa
2.6K views16 slides
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい... by
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...
MS open technologies の ross gardler さんを囲む会 改め 『MS open technologies に必ず伝えてほしい...Kazumi Hirose
561 views21 slides
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo... by
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...
Microsoft open technologies の ross gardler さんを囲む会 改め 『microsoft open technolo...Kazumi Hirose
909 views21 slides
スマートWordPress on JAWS-UG Tokyo#17 by
スマートWordPress on JAWS-UG Tokyo#17スマートWordPress on JAWS-UG Tokyo#17
スマートWordPress on JAWS-UG Tokyo#17Hiro Fukami
4.8K views14 slides
Non blocking and asynchronous by
Non blocking and asynchronousNon blocking and asynchronous
Non blocking and asynchronousNorio Kobota
2.6K views28 slides
OSC 2016 Nagoya - MineOSのすすめ - by
OSC 2016 Nagoya - MineOSのすすめ -OSC 2016 Nagoya - MineOSのすすめ -
OSC 2016 Nagoya - MineOSのすすめ -roamer7038
999 views18 slides

More Related Content

Viewers also liked

20130309 春のJAWS-UG三都物語 美人CDP by
20130309 春のJAWS-UG三都物語 美人CDP20130309 春のJAWS-UG三都物語 美人CDP
20130309 春のJAWS-UG三都物語 美人CDP真吾 吉田
2.7K views38 slides
Moff 20130309 jawsug_santo_v01 by
Moff 20130309 jawsug_santo_v01Moff 20130309 jawsug_santo_v01
Moff 20130309 jawsug_santo_v01Motohiro Yonesaka
2.7K views41 slides
AWSはじめて物語 by
AWSはじめて物語AWSはじめて物語
AWSはじめて物語Junko Nukaga
1.8K views31 slides
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT by
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LTソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LTOCHI Shuji
3K views16 slides
BookPress is going to reinvent the Publishing. by
BookPress is going to reinvent the Publishing.BookPress is going to reinvent the Publishing.
BookPress is going to reinvent the Publishing.Hiromichi Koga
1.9K views19 slides
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方 by
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方Yasuhiro Horiuchi
3.1K views53 slides

Viewers also liked(17)

20130309 春のJAWS-UG三都物語 美人CDP by 真吾 吉田
20130309 春のJAWS-UG三都物語 美人CDP20130309 春のJAWS-UG三都物語 美人CDP
20130309 春のJAWS-UG三都物語 美人CDP
真吾 吉田2.7K views
AWSはじめて物語 by Junko Nukaga
AWSはじめて物語AWSはじめて物語
AWSはじめて物語
Junko Nukaga1.8K views
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT by OCHI Shuji
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LTソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT
OCHI Shuji3K views
BookPress is going to reinvent the Publishing. by Hiromichi Koga
BookPress is going to reinvent the Publishing.BookPress is going to reinvent the Publishing.
BookPress is going to reinvent the Publishing.
Hiromichi Koga1.9K views
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方 by Yasuhiro Horiuchi
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方
Yasuhiro Horiuchi3.1K views
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント by Toshiyuki Konparu
JAWS-UG三都物語_企業でのAWS導入のエントリーポイントJAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
Toshiyuki Konparu1.8K views
20130309 windows on aws handson by Genta Watanabe
20130309 windows on aws handson20130309 windows on aws handson
20130309 windows on aws handson
Genta Watanabe2.9K views
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語 by Takashi Someda
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Takashi Someda3.6K views
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint by taiju higashi
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprintやすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
taiju higashi2.9K views
Jaws三都物語 storage gateway by mamoru tateoka
Jaws三都物語 storage gatewayJaws三都物語 storage gateway
Jaws三都物語 storage gateway
mamoru tateoka1.9K views
コスト削減から考えるAWSの効果的な利用方法 by Aya Komuro
コスト削減から考えるAWSの効果的な利用方法コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法
Aya Komuro7.6K views
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた by Tomoaki Imai
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかたJAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
Tomoaki Imai2.5K views
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用 by Takuro Sasaki
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
Takuro Sasaki9.5K views
AWS歴2週間で IoT に挑戦してみた。 by Shogo Matsuda
AWS歴2週間で IoT に挑戦してみた。AWS歴2週間で IoT に挑戦してみた。
AWS歴2週間で IoT に挑戦してみた。
Shogo Matsuda4.8K views

Similar to Sencha Touch working with AWS

WPFことはじめ by
WPFことはじめWPFことはじめ
WPFことはじめHiroshi Maekawa
9.2K views47 slides
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成 by
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成Hiroshi Yamaguchi
35.9K views133 slides
Rustのタスクモデルについて by
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについてzigen
1.9K views49 slides
Ext.direct by
Ext.directExt.direct
Ext.directShuhei Aoyama
1.2K views29 slides
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019 by
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019Eiji Matsumoto
194 views29 slides
2012.02.28 IAMAS GeekLab #037 MyScripts by
2012.02.28 IAMAS GeekLab #037 MyScripts2012.02.28 IAMAS GeekLab #037 MyScripts
2012.02.28 IAMAS GeekLab #037 MyScripts玉津圭太 玉津圭太
2.1K views87 slides

Similar to Sencha Touch working with AWS(20)

VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成 by Hiroshi Yamaguchi
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
Hiroshi Yamaguchi35.9K views
Rustのタスクモデルについて by zigen
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについて
zigen 1.9K views
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019 by Eiji Matsumoto
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
Eiji Matsumoto194 views
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発 by TylerShukert
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
TylerShukert462 views
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3 by a kyane
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane2.4K views
Data APIを活かす JavaScript検索と管理画面のカスタマイズ by bitpart
Data APIを活かす JavaScript検索と管理画面のカスタマイズData APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
bitpart4.8K views
Google App Engine Java 入門 by tantack
Google App Engine Java 入門Google App Engine Java 入門
Google App Engine Java 入門
tantack 2K views
Sinatraでwebアプリケーション開発を学ぶ by Hiroshi Oyamada
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
Hiroshi Oyamada6.1K views
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう by Junko Nukaga
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
Junko Nukaga45.7K views
クラウド開発に役立つ OSS あれこれ by Masataka MIZUNO
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO1.6K views
MBaaS on the Google Cloud - Mobile Backend Starter by Katsumi Onishi
MBaaS on the Google Cloud - Mobile Backend StarterMBaaS on the Google Cloud - Mobile Backend Starter
MBaaS on the Google Cloud - Mobile Backend Starter
Katsumi Onishi1.6K views
お父さんのための実用JavaScriptプログラミング~入門篇~ by Che Renkov
お父さんのための実用JavaScriptプログラミング~入門篇~お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~
Che Renkov1.1K views
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係 by Kaz Aiso
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
Kaz Aiso796 views
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf by TylerShukert
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdfFlutter Meetup Tokyo (#18) _ Osaka (#10).pdf
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
TylerShukert142 views
Amazon Redshiftを使ったデータ分析 by Tomohiro Yamaguchi
Amazon Redshiftを使ったデータ分析Amazon Redshiftを使ったデータ分析
Amazon Redshiftを使ったデータ分析
Tomohiro Yamaguchi2.2K views

More from 久司 中村

アラカンエンジニアがたどり着いた生き方 by
アラカンエンジニアがたどり着いた生き方アラカンエンジニアがたどり着いた生き方
アラカンエンジニアがたどり着いた生き方久司 中村
968 views26 slides
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ by
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよSencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ久司 中村
4.3K views33 slides
なぜ Enterprise は Sencha を選ぶのか? by
なぜ Enterprise は Sencha を選ぶのか?なぜ Enterprise は Sencha を選ぶのか?
なぜ Enterprise は Sencha を選ぶのか?久司 中村
3.4K views44 slides
Ext JS version 5 を始めよう by
Ext JS version 5 を始めようExt JS version 5 を始めよう
Ext JS version 5 を始めよう久司 中村
1.9K views22 slides
Web業務アプリの新しい潮流 by
Web業務アプリの新しい潮流Web業務アプリの新しい潮流
Web業務アプリの新しい潮流久司 中村
2.8K views27 slides
AWSとSenchaでSecureなモバイルアプリを実現する by
AWSとSenchaでSecureなモバイルアプリを実現するAWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現する久司 中村
1.1K views57 slides

More from 久司 中村(12)

アラカンエンジニアがたどり着いた生き方 by 久司 中村
アラカンエンジニアがたどり着いた生き方アラカンエンジニアがたどり着いた生き方
アラカンエンジニアがたどり着いた生き方
久司 中村968 views
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ by 久司 中村
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよSencha のフレームワーク Ext JS 5 について 15 分で説明するよ
Sencha のフレームワーク Ext JS 5 について 15 分で説明するよ
久司 中村4.3K views
なぜ Enterprise は Sencha を選ぶのか? by 久司 中村
なぜ Enterprise は Sencha を選ぶのか?なぜ Enterprise は Sencha を選ぶのか?
なぜ Enterprise は Sencha を選ぶのか?
久司 中村3.4K views
Ext JS version 5 を始めよう by 久司 中村
Ext JS version 5 を始めようExt JS version 5 を始めよう
Ext JS version 5 を始めよう
久司 中村1.9K views
Web業務アプリの新しい潮流 by 久司 中村
Web業務アプリの新しい潮流Web業務アプリの新しい潮流
Web業務アプリの新しい潮流
久司 中村2.8K views
AWSとSenchaでSecureなモバイルアプリを実現する by 久司 中村
AWSとSenchaでSecureなモバイルアプリを実現するAWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現する
久司 中村1.1K views
Sencha フレームワークの統合開発ツール Sencha Cmd by 久司 中村
Sencha フレームワークの統合開発ツール Sencha CmdSencha フレームワークの統合開発ツール Sencha Cmd
Sencha フレームワークの統合開発ツール Sencha Cmd
久司 中村2.8K views
Introducing Sencha Space by 久司 中村
Introducing Sencha SpaceIntroducing Sencha Space
Introducing Sencha Space
久司 中村1.7K views
Ext Schedulerを使ってみる by 久司 中村
Ext Schedulerを使ってみるExt Schedulerを使ってみる
Ext Schedulerを使ってみる
久司 中村1.5K views
Using Ext Direct with SenchaTouch2 by 久司 中村
Using Ext Direct with SenchaTouch2Using Ext Direct with SenchaTouch2
Using Ext Direct with SenchaTouch2
久司 中村803 views

Sencha Touch working with AWS

  • 1. Sencha Touch working with AWS 株式会社ゼノフィ 中村久司 13年3月9日土曜日
  • 2. Sencha Touchとは Sencha Touch 2 は、HTML5 を使用したモバイルアプリケ ーション開発用の高性能フレームワークであり、 Sencha HTML5 プラットフォームの土台となるものです。 13年3月9日土曜日
  • 3. そもそもSenchaとは カリフォルニア州レッドウッドにあるJavaScriptによるフレ ームワーク/開発ツールを作っている会社 Sencha Ext JS / Sencha GXT / Sencha Touch / Sencha Architect / Sencha Animator /Sencha Desktop Packager など 13年3月9日土曜日
  • 4. Sencha Ext JS YUIのエクステンションから始まったRIAフレームワーク 現在のバージョンは4.1 フルJavaScriptでRIAを構築できる デスクトップ向け 13年3月9日土曜日
  • 6. 独自のクラスシステム JavaScriptにクラスはない(プロトタイプ型のオブジェクト 指向) そこにクラスの概念を持ち込む。 クラスを継承を利用して、既存コンポーネントから独自のコ ンポーネントを簡単に作成できる。 13年3月9日土曜日
  • 7. 動的ローディングシステム 1ファイル = 1クラスでクラス定義 requiresで依存関係指定。 Ext.Loaderが依存関係を解決ロードしてくれる。 Require.jsはいらない。 13年3月9日土曜日
  • 8. クライアントサイドMVC Ext.Loaderの機能を使い。クライアントサイドアプリケ ーションでのMVCアーキテクチャーを実現。 Backborn.jsはいらない。 13年3月9日土曜日
  • 9. データハンドリング モデルとストアが担当する。 サーバー/クライアントから取得したデータを格納する。 ビューとバインドすれば自動更新。 複数のビューにバインドしていたら、それらすべてを更新。 13年3月9日土曜日
  • 10. デバイスプロファイル ユーザーが使うデバイスによって処理を切り替える。 スマホ?タブレット? それぞれに最適な画面を設計。 共通部分のコードは共用。 13年3月9日土曜日
  • 11. クロスブラウザ対応 Webkitだけでいいじゃん。 は、終わりました。Forefox Tizen Ubuntu....Windows8! デスクトップブラウザでのJS開発と同じように、互換性地 獄が..... Sencha Touchなら大丈夫。 13年3月9日土曜日
  • 12. クロスブラウザ対応 Blackbellyは元々対応済み。 Windows8に対応を表明。 最新ベータ版でFirefoxに対応。 ひょっとしたら、TizenやUbuntuにも? 13年3月9日土曜日
  • 13. ネイティブ対応 Sencha内部のIONというプロジェクトによって、Sencha Touchで書いたプログラムをネイティブにパッケージングで きます。 ネィティブ化にはSencha Cmdというツールを使います。 13年3月9日土曜日
  • 15. AWSでの利用 Sencha TouchはWebアプリケーションなので、AWSと組み 合わせるのは簡単 EC2にデプロイすれば、どんなものでも動かせます。 今回は、S3で使ってみる。 13年3月9日土曜日
  • 16. 今回はS3 S3にアップロードしたファイルは、そのままWebサイトと して公開できる。 Route53を使うと独自ドメインでの公開も。 13年3月9日土曜日
  • 17. S3は静的コンテンツのみ サーバーサイドでスクリプトを動かせない。 では、他人のふんどしで相撲を取ります。 13年3月9日土曜日
  • 18. JSONPの利用 JSONPを使ったサービスが沢山あります。 今回はその中からサントリーさんのAPIを利用します。 http://webapi.suntory.co.jp/barnavidocs/api.html 13年3月9日土曜日
  • 19. アプリの仕様 サントリーのAPIに県番号/最寄り駅/予算などの条件を入 れて検索。 合致したバーがリスト表示。 リストを選択すると詳細表示。 地図ボタンで地図表示 13年3月9日土曜日
  • 20. Form 条件を入力するフォーム Ext.form.Panelクラス。 入力フィールドを追加できる。 多彩な入力フィールド 13年3月9日土曜日
  • 21. ModelとProxy Sencha Touchではデータを格納するレコードを Ext.data.Modelクラスのインスタンスとして生成します。 その集合がExt.data.Storeです。 どこからデータを取ってくるのかを知っているのが Ext.data.Proxyです。 13年3月9日土曜日
  • 22. JSONP ProxyにExt.data.proxy.JsonPを使う。 APIの仕様に合わせてコンフィグを書いてやる loadメソッドでデータをロードすると目的のデータをストア に格納してくれる 13年3月9日土曜日
  • 23. List Ext.dataview.Listコンポーネント ストアの一覧を表示 ページングにも簡単に対応 13年3月9日土曜日
  • 24. XTemplate テンプレートを使ってデータを表示。 {name}のようにプレースホルダを指定 Sencha Touchの関数や独自関数も利用可能。 setDataメソッドでデータをセット 13年3月9日土曜日
  • 25. テーマ アプリケーションのテーマを変更可能 SASS/Compassを使っている 基準色($BaseColor)などの変数を変えるだけでも大きく変わ る 13年3月9日土曜日
  • 26. Map 標準でExt.Mapコンポーネント がある。 必要なコンフィグをセットして コールするだけ。 13年3月9日土曜日
  • 27. S3にアップロード 出来上がったアプリをSencha CmdでミニファイしてS3にア ップロードします。 (今回はちょっとした修正をしましたが) 静的データしか置けないところでもアプリとして機能してま す(よね?) 13年3月9日土曜日
  • 28. 今回のアプリ ソース https://github.com/sunvisor/bar 実際の動作(AWS S3上) http://s3-ap-northeast-1.amazonaws.com/s3.sunvisor.net/ index.html 13年3月9日土曜日
  • 29. 結論 HTML5は時期尚早なわけじゃない。 適したところに使えばそれで充分役に立つ。 Sencha Touchを使えば互換性への配慮が最小限で済む。 学習コストが高いと言われるが、JQuery Backborn.js Requre.js and more.... を覚えるよりも... 13年3月9日土曜日
  • 31. Sencha UG Japan Sencha User Group http://www.meetup.com/Japan-Sencha-User-Group/ 4月12日に大阪で勉強会を開催します。 13年3月9日土曜日