SlideShare a Scribd company logo
Sencha UG @大阪
自己紹介 
@martini3oz 
• 中村久司 
• Sencha UG Co-Organizer 
• 株式会社ゼノフィ関西事業所 事業所長 
• Sencha オフィシャルトレーナー 
• 著書 
• Sencha Touch 2 実践開発ガイド
2010 
Sencha Touch 1.0 
2012 
Sencha Touch 2.0
タッチデバイスのサポート 
• Ext JS 4 までは、ブラウザ用フレームワークと言うこと 
で、タッチデバイスのサポートはなかった。 
• Ext JS 4 のアプリをタブレットで動かす 
ことはできたが、一部おかしいところとか 
操作できないところがあった。
イベント正規化 
• タッチイベント/ポインターイベント/マウスイベント 
• mousedown リスナーをセットすると 
• タッチをサポートする場合は touchstart 
• ポインターをサポートする場合は pointerdown 
• 自動的に変換してくれる
ジェスチャー 
• 複雑なジェスチャーイベントも標準でサポート 
• drag、 swipe、 longpress、 
• pinch、 rotate、 tap 
• someElement.on(‘swipe’, …) と簡単に使える
代わりがないイベント 
• mouseover, mouseenter, mouseout, mouseleave 
• タッチデバイスではこれらに替わるものはないので、使って 
いる場合は、なんらかの代替策を考える 
• Grid のヘッダーメニュー 
• PCのブラウザ → ヘッダへのmouseoverで表示される 
• タブレット → ヘッダの longpress で表示される
MVVM アーキテクチャ 
• MVC から MVVM へ 
• SPA では、保持している値と画面表示 (DOM) の同期をとる 
ためのコードであふれることがある 
• その対策として考えられたのがデータバインディングであり、 
MVVM アーキテクチャ 
• ViewModel による View への双方向データバインディング
ViewModel 
• View の viewModel コンフィグで指定する 
• ViewModel が保持するデータが変更されたら、それが自動 
的に View に反映される (表示が更新される) 
• フォームにバインドされた場合は、フィールドの値が変えら 
れたら、ViewModelのデータも更新される 
• data / stores / formulas
ViewController 
• View の controller コンフィグで指定する 
• イベントハンドラ 
• View では ViewController にあるイベントハンドラ名を文 
字列で指定するだけ。 
• reference と lookupReference()
ライフサイクル 
• どちらも View のインスタンスと一蓮托生 
• View のインスタンスが作られると、ViewModel も 
ViewController も作られ、破棄されるとなくなる 
• 通常の Controller は、アプリが終わるまで存在しつづける 
• 通常の Controller の利用場面は限定的になる
DEMO
ルーティング 
• Ext JS アプリはSPAだからページ遷移はない 
• # によるディープリンクをつけることでブラウザの履歴を記 
録できる 
• ディープリンク以降の文字列を解釈して、アプリのある局面 
を表示させる手段 
• 実際にはメソッドが呼び出される
レスポンシブ 
• 一つのアプリで全てのデバイス・場面に対応する 
• 小さい画面、大きい画面、横向き、縦向き 
• CSS のメディアクエリでの切り替え 
• リキッドレイアウト 
• で実現
レスポンシブコンフィグ 
• Sencha は JavaScript で解決する。 
• Sencha Touch ではデバイスプロファイル。 
• Ext JS 5 ではレスポンシブコンフィグ 
• デバイスの様々な情報を組み合わせて、コンポーネントの設 
定が変更できるようになっている
DEMO
データパッケージの改善 
• rawData の廃止 
• fields 定義が基本的に不要 
• チェーンドストア 
• 他のストアを参照するストア、独自のフィルタ、ソート 
• カスタムフィールド 
• 独自のフィールドタイプを設定できる、コード重複回避
Sencha チャート 
• Sencha Touch に採用されていた HTML5 ベースの新しい 
チャートパッケージ 
• Canvas を使うことで表現力UP 
• スワイプ/ズームなどのインタラク 
ションにも対応 
• チャートの種類も増えた
グリッドの進化 
• セル内のコンポーネント 
• セルアップデーター 
• レンダリングの高速化 
• ウィジェット
他にも沢山 
• タグフィールド 
• セグメンテッドボタン 
• トリガー 
• ダッシュボード 
• Ext.mixin.Mashup 
• private メソッド 
• コンフィグシステム 
• アソシエーション 
• Sencha Cmd
ご清聴ありがとうございました

More Related Content

What's hot

Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
ikikko
 
実践・ブラウザテスト自動化
実践・ブラウザテスト自動化実践・ブラウザテスト自動化
実践・ブラウザテスト自動化
takahiro sakuma
 
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
Makoto Nishimura
 
Nulabとawsと私
Nulabとawsと私Nulabとawsと私
Nulabとawsと私
ikikko
 
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
インフラ知識ゼロの「デザイナー」でもOK!Microsoft Azureの便利機能をWeb制作的に活かしてみた話インフラ知識ゼロの「デザイナー」でもOK!Microsoft Azureの便利機能をWeb制作的に活かしてみた話
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
典子 松本
 
Service Workers
Service WorkersService Workers
Service Workers
Takenori Nakagawa
 
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
Nobuhiko Futagami
 
Service Workers Push API Hands-on
Service Workers Push API Hands-onService Workers Push API Hands-on
Service Workers Push API Hands-on
Takenori Nakagawa
 
第2回 Android勉強会
第2回 Android勉強会第2回 Android勉強会
第2回 Android勉強会
fujikunn
 
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法 個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法 ericsagnes
 
今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました
Mitsuru Ogawa
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみたYuusuke Takeuchi
 
レスポンシブWebデザイン【基礎編】
レスポンシブWebデザイン【基礎編】レスポンシブWebデザイン【基礎編】
レスポンシブWebデザイン【基礎編】
Yasuhito Yabe
 
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山2013 Ignite UI 最新情報 in 岡山
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
Kazuhiro Serizawa
 
2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rb2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rbUeki Kouji
 
モバイルアプリの状態遷移を攻略したい!
モバイルアプリの状態遷移を攻略したい!モバイルアプリの状態遷移を攻略したい!
モバイルアプリの状態遷移を攻略したい!
Tatsuji Kuroyanagi
 
ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"
Narami Kiyokura
 
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎
schoowebcampus
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話Hisashi HATAKEYAMA
 

What's hot (20)

Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
Infrastructure as code ~ ツールスタック / ヌーラボの事例 ~
 
実践・ブラウザテスト自動化
実践・ブラウザテスト自動化実践・ブラウザテスト自動化
実践・ブラウザテスト自動化
 
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
WinUI 3.0 Preview 1を触ってみた(.NETラボ2020年6月登壇資料)
 
Nulabとawsと私
Nulabとawsと私Nulabとawsと私
Nulabとawsと私
 
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
インフラ知識ゼロの「デザイナー」でもOK!Microsoft Azureの便利機能をWeb制作的に活かしてみた話インフラ知識ゼロの「デザイナー」でもOK!Microsoft Azureの便利機能をWeb制作的に活かしてみた話
インフラ知識ゼロの「デザイナー」でもOK! Microsoft Azureの便利機能を Web制作的に活かしてみた話
 
Service Workers
Service WorkersService Workers
Service Workers
 
WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介WEB開発動作テストの自動化 を行うSeleniumの紹介
WEB開発動作テストの自動化 を行うSeleniumの紹介
 
Service Workers Push API Hands-on
Service Workers Push API Hands-onService Workers Push API Hands-on
Service Workers Push API Hands-on
 
第2回 Android勉強会
第2回 Android勉強会第2回 Android勉強会
第2回 Android勉強会
 
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法 個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
個人ブログから大規模まで! 多機能 CMS 「 eZ Publish コミュニティエディション」の活用法
 
今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました今後のWeb開発の未来を考えてangularJSにしました
今後のWeb開発の未来を考えてangularJSにしました
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
 
レスポンシブWebデザイン【基礎編】
レスポンシブWebデザイン【基礎編】レスポンシブWebデザイン【基礎編】
レスポンシブWebデザイン【基礎編】
 
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
 
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
 
2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rb2012/11/03Hiroshima.rb
2012/11/03Hiroshima.rb
 
モバイルアプリの状態遷移を攻略したい!
モバイルアプリの状態遷移を攻略したい!モバイルアプリの状態遷移を攻略したい!
モバイルアプリの状態遷移を攻略したい!
 
ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"ASP.NET "NOW" and "NEXT"
ASP.NET "NOW" and "NEXT"
 
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎
非ウェブデザイナーも知っておきたいデベロッパーツールの使い方(応用編 知っておきたい機能と応用) 先生:池田 祐太郎
 
運用管理を楽にしたいという話
運用管理を楽にしたいという話運用管理を楽にしたいという話
運用管理を楽にしたいという話
 

Similar to Ext JS version 5 を始めよう

"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
Yuki Anzai
 
Ext.js/Sencha SDKでえんぷら
Ext.js/Sencha SDKでえんぷらExt.js/Sencha SDKでえんぷら
Ext.js/Sencha SDKでえんぷらKazuhiro Kotsutsumi
 
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX! UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
Akiko Ohtsuka
 
Swift gesture
Swift gestureSwift gesture
Swift gesture
Yui Tokuhiro
 
Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介
Fumiya Sakai
 
Sencha touchのはじめかた
Sencha touchのはじめかたSencha touchのはじめかた
Sencha touchのはじめかた
Yuki Naotori
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
Hiroto Igarashi
 
PHP と Sencha Ext.Direct
PHP と Sencha Ext.DirectPHP と Sencha Ext.Direct
PHP と Sencha Ext.Direct
久司 中村
 
UX on HTML5 x Touch UI
UX on HTML5 x Touch UIUX on HTML5 x Touch UI
UX on HTML5 x Touch UI
dsuke Takaoka
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
Yuichi Yoshida
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
c-mitsuba
 
Android Design ざっくりレビュー
Android Design ざっくりレビューAndroid Design ざっくりレビュー
Android Design ざっくりレビュー
Naoki Hashimoto
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
Hiroshi Sakate
 
App extension for iOS
App extension for iOSApp extension for iOS
App extension for iOStoyship
 
デブサミ2013LT大会 Japan SenchaUG
デブサミ2013LT大会 Japan SenchaUGデブサミ2013LT大会 Japan SenchaUG
デブサミ2013LT大会 Japan SenchaUG
dsuke Takaoka
 
5分でわかるSencha Touch
5分でわかるSencha Touch5分でわかるSencha Touch
5分でわかるSencha Touch
dsuke Takaoka
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまc-mitsuba
 
第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー
hyoromo
 

Similar to Ext JS version 5 を始めよう (20)

"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
"あんざいゆき" x "秋葉ちひろ" はカンファレンスアプリをどう作るのか?
 
Ext.js/Sencha SDKでえんぷら
Ext.js/Sencha SDKでえんぷらExt.js/Sencha SDKでえんぷら
Ext.js/Sencha SDKでえんぷら
 
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX! UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
UI&UX / 重要なのは、毎日さわって嬉しい UI UX!
 
Swift gesture
Swift gestureSwift gesture
Swift gesture
 
Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介Tinder風なUIを実装する際のアイデアと実装例紹介
Tinder風なUIを実装する際のアイデアと実装例紹介
 
Sencha touchのはじめかた
Sencha touchのはじめかたSencha touchのはじめかた
Sencha touchのはじめかた
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
 
DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会DevLOVE iPhoneアプリ勉強会
DevLOVE iPhoneアプリ勉強会
 
PHP と Sencha Ext.Direct
PHP と Sencha Ext.DirectPHP と Sencha Ext.Direct
PHP と Sencha Ext.Direct
 
UX on HTML5 x Touch UI
UX on HTML5 x Touch UIUX on HTML5 x Touch UI
UX on HTML5 x Touch UI
 
Getting started with Handoff
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
 
FxugWP7
FxugWP7FxugWP7
FxugWP7
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
 
Android Design ざっくりレビュー
Android Design ざっくりレビューAndroid Design ざっくりレビュー
Android Design ざっくりレビュー
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
 
App extension for iOS
App extension for iOSApp extension for iOS
App extension for iOS
 
デブサミ2013LT大会 Japan SenchaUG
デブサミ2013LT大会 Japan SenchaUGデブサミ2013LT大会 Japan SenchaUG
デブサミ2013LT大会 Japan SenchaUG
 
5分でわかるSencha Touch
5分でわかるSencha Touch5分でわかるSencha Touch
5分でわかるSencha Touch
 
MetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくまMetroStyleAppsさわってみた わんくま
MetroStyleAppsさわってみた わんくま
 
第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー第1回windows phoneアプリ開発のハンズオンセミナー
第1回windows phoneアプリ開発のハンズオンセミナー
 

More from 久司 中村

アラカンエンジニアがたどり着いた生き方
アラカンエンジニアがたどり着いた生き方アラカンエンジニアがたどり着いた生き方
アラカンエンジニアがたどり着いた生き方
久司 中村
 
Web業務アプリの新しい潮流
Web業務アプリの新しい潮流Web業務アプリの新しい潮流
Web業務アプリの新しい潮流
久司 中村
 
AWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現するAWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現する
久司 中村
 
Introducing Sencha Space
Introducing Sencha SpaceIntroducing Sencha Space
Introducing Sencha Space久司 中村
 
Ext Schedulerを使ってみる
Ext Schedulerを使ってみるExt Schedulerを使ってみる
Ext Schedulerを使ってみる
久司 中村
 
Sencha Touch working with AWS
Sencha Touch working with AWSSencha Touch working with AWS
Sencha Touch working with AWS
久司 中村
 
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 久司 中村 (8)

アラカンエンジニアがたどり着いた生き方
アラカンエンジニアがたどり着いた生き方アラカンエンジニアがたどり着いた生き方
アラカンエンジニアがたどり着いた生き方
 
Web業務アプリの新しい潮流
Web業務アプリの新しい潮流Web業務アプリの新しい潮流
Web業務アプリの新しい潮流
 
AWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現するAWSとSenchaでSecureなモバイルアプリを実現する
AWSとSenchaでSecureなモバイルアプリを実現する
 
Introducing Sencha Space
Introducing Sencha SpaceIntroducing Sencha Space
Introducing Sencha Space
 
Ext Schedulerを使ってみる
Ext Schedulerを使ってみるExt Schedulerを使ってみる
Ext Schedulerを使ってみる
 
Sencha Touch working with AWS
Sencha Touch working with AWSSencha Touch working with AWS
Sencha Touch working with AWS
 
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
 

Recently uploaded

JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 

Recently uploaded (8)

JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

Ext JS version 5 を始めよう

  • 2. 自己紹介 @martini3oz • 中村久司 • Sencha UG Co-Organizer • 株式会社ゼノフィ関西事業所 事業所長 • Sencha オフィシャルトレーナー • 著書 • Sencha Touch 2 実践開発ガイド
  • 3.
  • 4. 2010 Sencha Touch 1.0 2012 Sencha Touch 2.0
  • 5. タッチデバイスのサポート • Ext JS 4 までは、ブラウザ用フレームワークと言うこと で、タッチデバイスのサポートはなかった。 • Ext JS 4 のアプリをタブレットで動かす ことはできたが、一部おかしいところとか 操作できないところがあった。
  • 6. イベント正規化 • タッチイベント/ポインターイベント/マウスイベント • mousedown リスナーをセットすると • タッチをサポートする場合は touchstart • ポインターをサポートする場合は pointerdown • 自動的に変換してくれる
  • 7. ジェスチャー • 複雑なジェスチャーイベントも標準でサポート • drag、 swipe、 longpress、 • pinch、 rotate、 tap • someElement.on(‘swipe’, …) と簡単に使える
  • 8. 代わりがないイベント • mouseover, mouseenter, mouseout, mouseleave • タッチデバイスではこれらに替わるものはないので、使って いる場合は、なんらかの代替策を考える • Grid のヘッダーメニュー • PCのブラウザ → ヘッダへのmouseoverで表示される • タブレット → ヘッダの longpress で表示される
  • 9. MVVM アーキテクチャ • MVC から MVVM へ • SPA では、保持している値と画面表示 (DOM) の同期をとる ためのコードであふれることがある • その対策として考えられたのがデータバインディングであり、 MVVM アーキテクチャ • ViewModel による View への双方向データバインディング
  • 10. ViewModel • View の viewModel コンフィグで指定する • ViewModel が保持するデータが変更されたら、それが自動 的に View に反映される (表示が更新される) • フォームにバインドされた場合は、フィールドの値が変えら れたら、ViewModelのデータも更新される • data / stores / formulas
  • 11. ViewController • View の controller コンフィグで指定する • イベントハンドラ • View では ViewController にあるイベントハンドラ名を文 字列で指定するだけ。 • reference と lookupReference()
  • 12. ライフサイクル • どちらも View のインスタンスと一蓮托生 • View のインスタンスが作られると、ViewModel も ViewController も作られ、破棄されるとなくなる • 通常の Controller は、アプリが終わるまで存在しつづける • 通常の Controller の利用場面は限定的になる
  • 13. DEMO
  • 14. ルーティング • Ext JS アプリはSPAだからページ遷移はない • # によるディープリンクをつけることでブラウザの履歴を記 録できる • ディープリンク以降の文字列を解釈して、アプリのある局面 を表示させる手段 • 実際にはメソッドが呼び出される
  • 15. レスポンシブ • 一つのアプリで全てのデバイス・場面に対応する • 小さい画面、大きい画面、横向き、縦向き • CSS のメディアクエリでの切り替え • リキッドレイアウト • で実現
  • 16. レスポンシブコンフィグ • Sencha は JavaScript で解決する。 • Sencha Touch ではデバイスプロファイル。 • Ext JS 5 ではレスポンシブコンフィグ • デバイスの様々な情報を組み合わせて、コンポーネントの設 定が変更できるようになっている
  • 17. DEMO
  • 18. データパッケージの改善 • rawData の廃止 • fields 定義が基本的に不要 • チェーンドストア • 他のストアを参照するストア、独自のフィルタ、ソート • カスタムフィールド • 独自のフィールドタイプを設定できる、コード重複回避
  • 19. Sencha チャート • Sencha Touch に採用されていた HTML5 ベースの新しい チャートパッケージ • Canvas を使うことで表現力UP • スワイプ/ズームなどのインタラク ションにも対応 • チャートの種類も増えた
  • 20. グリッドの進化 • セル内のコンポーネント • セルアップデーター • レンダリングの高速化 • ウィジェット
  • 21. 他にも沢山 • タグフィールド • セグメンテッドボタン • トリガー • ダッシュボード • Ext.mixin.Mashup • private メソッド • コンフィグシステム • アソシエーション • Sencha Cmd