SlideShare a Scribd company logo
1 of 31
Download to read offline
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日土曜日

More Related Content

Viewers also liked

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

Viewers also liked (17)

20130309 春のJAWS-UG三都物語 美人CDP
20130309 春のJAWS-UG三都物語 美人CDP20130309 春のJAWS-UG三都物語 美人CDP
20130309 春のJAWS-UG三都物語 美人CDP
 
Moff 20130309 jawsug_santo_v01
Moff 20130309 jawsug_santo_v01Moff 20130309 jawsug_santo_v01
Moff 20130309 jawsug_santo_v01
 
AWSはじめて物語
AWSはじめて物語AWSはじめて物語
AWSはじめて物語
 
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LTソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT
ソーシャルゲームのデータ分析基盤としてのAWS Jaws ug三都物語LT
 
BookPress is going to reinvent the Publishing.
BookPress is going to reinvent the Publishing.BookPress is going to reinvent the Publishing.
BookPress is going to reinvent the Publishing.
 
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方
JAWS-UG 三都物語 2013 New world of IT – クラウド時代を生き抜くための考え方
 
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイントJAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
 
20130309 windows on aws handson
20130309 windows on aws handson20130309 windows on aws handson
20130309 windows on aws handson
 
MongoDB on AWS
MongoDB on AWSMongoDB on AWS
MongoDB on AWS
 
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
Backlog、Cacoo にみるAWS運用の勘所 - JAWS UG 三都物語
 
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprintやすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
 
Jaws三都物語 storage gateway
Jaws三都物語 storage gatewayJaws三都物語 storage gateway
Jaws三都物語 storage gateway
 
コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法
 
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかたJAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
 
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
開発環境としてのAwsを真面目に考える jawsug2013三都物語公開用
 
AWS歴2週間で IoT に挑戦してみた。
AWS歴2週間で IoT に挑戦してみた。AWS歴2週間で IoT に挑戦してみた。
AWS歴2週間で IoT に挑戦してみた。
 
JAWS DAYS 2015
JAWS DAYS 2015JAWS DAYS 2015
JAWS DAYS 2015
 

Similar to Sencha Touch working with AWS

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

Similar to Sencha Touch working with AWS (20)

WPFことはじめ
WPFことはじめWPFことはじめ
WPFことはじめ
 
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
VisualSFMとMeshLabとCloudCompareによるドローン撮影画像を用いたデジタル地図作成
 
Rustのタスクモデルについて
RustのタスクモデルについてRustのタスクモデルについて
Rustのタスクモデルについて
 
Ext.direct
Ext.directExt.direct
Ext.direct
 
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
初めてのAWS Lambdaによるプロダクト開発譚〜オブラブカレンダー配布会2019
 
2012.02.28 IAMAS GeekLab #037 MyScripts
2012.02.28 IAMAS GeekLab #037 MyScripts2012.02.28 IAMAS GeekLab #037 MyScripts
2012.02.28 IAMAS GeekLab #037 MyScripts
 
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
FlutterとSupabaseでRDBを使った サーバーレスアプリ開発
 
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
 
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズData APIを活かす JavaScript検索と管理画面のカスタマイズ
Data APIを活かす JavaScript検索と管理画面のカスタマイズ
 
Google App Engine Java 入門
Google App Engine Java 入門Google App Engine Java 入門
Google App Engine Java 入門
 
Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
Android T2 on cloud
Android T2 on cloudAndroid T2 on cloud
Android T2 on cloud
 
Opencampus
OpencampusOpencampus
Opencampus
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
MBaaS on the Google Cloud - Mobile Backend Starter
MBaaS on the Google Cloud - Mobile Backend StarterMBaaS on the Google Cloud - Mobile Backend Starter
MBaaS on the Google Cloud - Mobile Backend Starter
 
お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~お父さんのための実用JavaScriptプログラミング~入門篇~
お父さんのための実用JavaScriptプログラミング~入門篇~
 
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
 
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdfFlutter Meetup Tokyo (#18) _ Osaka (#10).pdf
Flutter Meetup Tokyo (#18) _ Osaka (#10).pdf
 
Amazon Redshiftを使ったデータ分析
Amazon Redshiftを使ったデータ分析Amazon Redshiftを使ったデータ分析
Amazon Redshiftを使ったデータ分析
 

More from 久司 中村

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

More from 久司 中村 (12)

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

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日土曜日