Submit Search
Upload
Ext.Directについて
•
Download as PPTX, PDF
•
1 like
•
1,773 views
Yuki Naotori
Follow
Ext JS勉強会 2010年1月 資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 19
Download now
Recommended
すごいHaskell読書会#10
すごいHaskell読書会#10
Shin Ise
Active Support のコア拡張機能について
Active Support のコア拡張機能について
Tomoya Kawanishi
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration
Kazuki Nakajima
テンプレートエンジンって何?
テンプレートエンジンって何?
Shoichi Takahashi
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
Shin Ise
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programming
risou
XP寺子屋第9回「シンプル・プログラミング」
XP寺子屋第9回「シンプル・プログラミング」
takepu
Recommended
すごいHaskell読書会#10
すごいHaskell読書会#10
Shin Ise
Active Support のコア拡張機能について
Active Support のコア拡張機能について
Tomoya Kawanishi
勉強会force#4 Chatter Integration
勉強会force#4 Chatter Integration
Kazuki Nakajima
テンプレートエンジンって何?
テンプレートエンジンって何?
Shoichi Takahashi
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
すごいHaskell読書会 in 大阪 #4 「第6章 モジュール」
Shin Ise
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programming
risou
XP寺子屋第9回「シンプル・プログラミング」
XP寺子屋第9回「シンプル・プログラミング」
takepu
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
regret raym
Ruby初級者向けレッスン 53回 ─── Array と Hash
Ruby初級者向けレッスン 53回 ─── Array と Hash
higaki
Django boodoo
Django boodoo
泰 増田
これからのpre_get_postsの話をしよう
これからのpre_get_postsの話をしよう
Hishikawa Takuro
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
柴田 篤志
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
Hiroshi Nakamura
Tokyor36
Tokyor36
TokorosawaYoshio
Tokyo r28 1
Tokyo r28 1
Takashi Minoda
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
真・聴力検査 HACKS
真・聴力検査 HACKS
Koichi Taniguchi
Geolocation gurunavi
Geolocation gurunavi
Jun Chiba
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
拡張ライブラリ作成による高速化
拡張ライブラリ作成による高速化
Kazunori Jo
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
100915 HTML5とか勉強会発表資料
100915 HTML5とか勉強会発表資料
Yuki Naotori
SpreadOfficeとSencha Touch
SpreadOfficeとSencha Touch
Yuki Naotori
Sencha touchのはじめかた
Sencha touchのはじめかた
Yuki Naotori
Initial plans
Initial plans
daniellecleary
101125 sencha con2010報告
101125 sencha con2010報告
Yuki Naotori
120611 html5とか勉強会 st2
120611 html5とか勉強会 st2
Yuki Naotori
End of native?
End of native?
Yuki Naotori
HTML5ビデオ導入編
HTML5ビデオ導入編
Yuki Naotori
More Related Content
What's hot
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
regret raym
Ruby初級者向けレッスン 53回 ─── Array と Hash
Ruby初級者向けレッスン 53回 ─── Array と Hash
higaki
Django boodoo
Django boodoo
泰 増田
これからのpre_get_postsの話をしよう
これからのpre_get_postsの話をしよう
Hishikawa Takuro
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
柴田 篤志
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
Hiroshi Nakamura
Tokyor36
Tokyor36
TokorosawaYoshio
Tokyo r28 1
Tokyo r28 1
Takashi Minoda
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
Shinsuke Sugaya
真・聴力検査 HACKS
真・聴力検査 HACKS
Koichi Taniguchi
Geolocation gurunavi
Geolocation gurunavi
Jun Chiba
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
Rui Hirokawa
拡張ライブラリ作成による高速化
拡張ライブラリ作成による高速化
Kazunori Jo
知って得する標準関数の使い方
知って得する標準関数の使い方
Soudai Sone
What's hot
(14)
WordPressで投稿記事情報の取得方法
WordPressで投稿記事情報の取得方法
Ruby初級者向けレッスン 53回 ─── Array と Hash
Ruby初級者向けレッスン 53回 ─── Array と Hash
Django boodoo
Django boodoo
これからのpre_get_postsの話をしよう
これからのpre_get_postsの話をしよう
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
CakePHPで開発する時に統一しておきたいコーディング内容(080316)
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
JavaOne Tokyo JVM言語BOF ベンチマーク JRuby
Tokyor36
Tokyor36
Tokyo r28 1
Tokyo r28 1
LastaFluteでKotlinをはじめよう
LastaFluteでKotlinをはじめよう
真・聴力検査 HACKS
真・聴力検査 HACKS
Geolocation gurunavi
Geolocation gurunavi
最新PHP事情 (2000年7月22日,PHPカンファレンス)
最新PHP事情 (2000年7月22日,PHPカンファレンス)
拡張ライブラリ作成による高速化
拡張ライブラリ作成による高速化
知って得する標準関数の使い方
知って得する標準関数の使い方
Viewers also liked
100915 HTML5とか勉強会発表資料
100915 HTML5とか勉強会発表資料
Yuki Naotori
SpreadOfficeとSencha Touch
SpreadOfficeとSencha Touch
Yuki Naotori
Sencha touchのはじめかた
Sencha touchのはじめかた
Yuki Naotori
Initial plans
Initial plans
daniellecleary
101125 sencha con2010報告
101125 sencha con2010報告
Yuki Naotori
120611 html5とか勉強会 st2
120611 html5とか勉強会 st2
Yuki Naotori
End of native?
End of native?
Yuki Naotori
HTML5ビデオ導入編
HTML5ビデオ導入編
Yuki Naotori
Viewers also liked
(8)
100915 HTML5とか勉強会発表資料
100915 HTML5とか勉強会発表資料
SpreadOfficeとSencha Touch
SpreadOfficeとSencha Touch
Sencha touchのはじめかた
Sencha touchのはじめかた
Initial plans
Initial plans
101125 sencha con2010報告
101125 sencha con2010報告
120611 html5とか勉強会 st2
120611 html5とか勉強会 st2
End of native?
End of native?
HTML5ビデオ導入編
HTML5ビデオ導入編
Similar to Ext.Directについて
T2 - 関ジャバ1月27日
T2 - 関ジャバ1月27日
Go Tanaka
CLR/H No.35-2
CLR/H No.35-2
Nobuhisa Koizumi
MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013
純生 野田
MT meets PHP
MT meets PHP
純生 野田
C++0x in programming competition
C++0x in programming competition
yak1ex
本当は怖いPHP
本当は怖いPHP
Takuya Sato
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
AdNerds
Cake php4designers
Cake php4designers
Seiji Ogawa
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
Fblinkedinbeyondv01 1234514863232782 1
Fblinkedinbeyondv01 1234514863232782 1
guestcaceba
Write good parser in perl
Write good parser in perl
Jiro Nishiguchi
URLで遊ぼう
URLで遊ぼう
Hiraku Nakano
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
文樹 高橋
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
leverages_event
ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件
Kazuki MATSUMOTO
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
Kazunari Hara
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
webを飾る技術
webを飾る技術
ina job
Boost tour 1_44_0
Boost tour 1_44_0
Akira Takahashi
CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12
Yasuo Harada
Similar to Ext.Directについて
(20)
T2 - 関ジャバ1月27日
T2 - 関ジャバ1月27日
CLR/H No.35-2
CLR/H No.35-2
MT meets PHP - PHP conference Kansai 2013
MT meets PHP - PHP conference Kansai 2013
MT meets PHP
MT meets PHP
C++0x in programming competition
C++0x in programming competition
本当は怖いPHP
本当は怖いPHP
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
Facebook, LinkedIN & Beyond - or how the new media changed how sales people d...
Cake php4designers
Cake php4designers
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Fblinkedinbeyondv01 1234514863232782 1
Fblinkedinbeyondv01 1234514863232782 1
Write good parser in perl
Write good parser in perl
URLで遊ぼう
URLで遊ぼう
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
WPD-Fes #3 2015年のサバイバル学習術 Web開発技術の税引後利益 を最大化しよう!
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
「スピード」と「品質」を実現するPHP開発チームの取り組み~AngularJS+FuelPHP+AspectMock~
ActiveResourceが面白すぎる件
ActiveResourceが面白すぎる件
速くなければスマフォじゃない - インターンバージョン-
速くなければスマフォじゃない - インターンバージョン-
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
webを飾る技術
webを飾る技術
Boost tour 1_44_0
Boost tour 1_44_0
CakePHP Kansai 2008-12-12
CakePHP Kansai 2008-12-12
More from Yuki Naotori
Sencha touch とyubizo engineで作るネイティブアプリ
Sencha touch とyubizo engineで作るネイティブアプリ
Yuki Naotori
Ext JS→Sencha
Ext JS→Sencha
Yuki Naotori
Ext Designerについて
Ext Designerについて
Yuki Naotori
Ext Direct 入門 II
Ext Direct 入門 II
Yuki Naotori
Ext JS & HTML5
Ext JS & HTML5
Yuki Naotori
Ext.util.Observableについて
Ext.util.Observableについて
Yuki Naotori
Ext Jsで柔軟に開発仕事をこなす
Ext Jsで柔軟に開発仕事をこなす
Yuki Naotori
ExtJS 事例 2ちゃんビューアー「Cromartie49」
ExtJS 事例 2ちゃんビューアー「Cromartie49」
Yuki Naotori
090422 第10回勉強会(公開用)
090422 第10回勉強会(公開用)
Yuki Naotori
Ext.ux.google
Ext.ux.google
Yuki Naotori
Prototyping tool "Degino"
Prototyping tool "Degino"
Yuki Naotori
第9回勉強会 開発の基本
第9回勉強会 開発の基本
Yuki Naotori
第9回勉強会(Ext3.0について)
第9回勉強会(Ext3.0について)
Yuki Naotori
第8回Ext勉強会プレゼン - 石丸
第8回Ext勉強会プレゼン - 石丸
Yuki Naotori
第8回 Ext JS / Ext GWT 勉強会 - 小堤氏資料
第8回 Ext JS / Ext GWT 勉強会 - 小堤氏資料
Yuki Naotori
Google Web Toolkit(GWT)入門
Google Web Toolkit(GWT)入門
Yuki Naotori
外部ライブラリのExt.Component化
外部ライブラリのExt.Component化
Yuki Naotori
株式会社テンダ Ext Js
株式会社テンダ Ext Js
Yuki Naotori
Ext Ncs 20081029
Ext Ncs 20081029
Yuki Naotori
080924 Ext Js入門者の最初の壁(第4回勉強会)
080924 Ext Js入門者の最初の壁(第4回勉強会)
Yuki Naotori
More from Yuki Naotori
(20)
Sencha touch とyubizo engineで作るネイティブアプリ
Sencha touch とyubizo engineで作るネイティブアプリ
Ext JS→Sencha
Ext JS→Sencha
Ext Designerについて
Ext Designerについて
Ext Direct 入門 II
Ext Direct 入門 II
Ext JS & HTML5
Ext JS & HTML5
Ext.util.Observableについて
Ext.util.Observableについて
Ext Jsで柔軟に開発仕事をこなす
Ext Jsで柔軟に開発仕事をこなす
ExtJS 事例 2ちゃんビューアー「Cromartie49」
ExtJS 事例 2ちゃんビューアー「Cromartie49」
090422 第10回勉強会(公開用)
090422 第10回勉強会(公開用)
Ext.ux.google
Ext.ux.google
Prototyping tool "Degino"
Prototyping tool "Degino"
第9回勉強会 開発の基本
第9回勉強会 開発の基本
第9回勉強会(Ext3.0について)
第9回勉強会(Ext3.0について)
第8回Ext勉強会プレゼン - 石丸
第8回Ext勉強会プレゼン - 石丸
第8回 Ext JS / Ext GWT 勉強会 - 小堤氏資料
第8回 Ext JS / Ext GWT 勉強会 - 小堤氏資料
Google Web Toolkit(GWT)入門
Google Web Toolkit(GWT)入門
外部ライブラリのExt.Component化
外部ライブラリのExt.Component化
株式会社テンダ Ext Js
株式会社テンダ Ext Js
Ext Ncs 20081029
Ext Ncs 20081029
080924 Ext Js入門者の最初の壁(第4回勉強会)
080924 Ext Js入門者の最初の壁(第4回勉強会)
Ext.Directについて
1.
Ext.Direct入門
2.
自己紹介 小堤 一弘(こつつみ かずひろ) 株式会社ゼノフィhttp://www.xenophy.com/
Ext Japanhttp://extjs.co.jp/ code:xhttp://code.xenophy.com/ xFrameworkPXhttp://www.xframeworkpx.com/
3.
本日のアジェンダ Ext.Directって何? Ext.Direct
Packの準備 基本的なRPCの使い方 Ext.tree.TreePanelとの連携 Ext.grid.GridPanelとの連携 Ext.form.FormPanelとの連携 http://extdirect.xenophy.net/directsample.zip
4.
Ext.Directって何? RPC(Remote Procedure
Call、リモートプロシージャコール)が行える便利な機能 サーバー通信は、Ext.Ajaxを利用するか、Ext.data.Store経由での通信のみで、サーバー処理との連動は以外とコストがかかる。 Ext.Directを使うとサーバーサイドの関数をJavaScriptの関数のように呼び出すことができて、可読性もよい。 Ext.Directを使うためには、Ext.Direct Packを使うかサーバーサイドを自分で実装する必要がある。
5.
Ext.Direct Packの準備 http://www.extjs.com/products/extjs/download.phpから【Ext.Direct
Pack】をダウンロードする。 利用したい言語のインタフェースを設置する。 いつもどおり、とりあえずExt JSを使用するためのHTMLとExt.onReadyを記述したJSコードを準備する。 APIを定義する これでだけで準備は完了!
6.
Ext.Direct Packの準備 -
HTML <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <!-- head --> <head> <!-- content-type --> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="content-script-Type" content="text/javascript" /> <meta http-equiv="content-style-type" content="text/css" /> <!-- /content-type --> <!-- Title --> <title>Ext.Direct</title> <!-- /Title --> <!-- Ext JS --> <link rel="stylesheet" type="text/css" href="./extjs/resources/css/ext-all.css" /> <!-- /Ext JS --> </head> <!-- /head --> <!-- body --> <body> <!-- Ext JS --> <script type="text/javascript" src="./extjs/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="./extjs/ext-all.js"></script> <script type="text/javascript" src="./extjs/src/locale/ext-lang-ja.js"></script> <!-- /Ext JS --> <!-- Application --> <script type="text/javascript" src="./sample1.js"></script> <!-- /Application --> </body> <!-- /body --> </html>
7.
Ext.Direct Packの準備 –
JSコード Ext.onReady(function(){ alert('Ext.Direct入門'); });
8.
基本的なRPCの使い方 APIを設定する 上記のapi.phpで何が行われているか?
Ext.Directプロバイダ追加 classes/Echo.phpのsendをJSから呼び出す。 <!-- Ext Direct API --> <script type="text/javascript" src="api.php"></script> <!-- /Ext Direct API --> Ext.ns('Ext.ss'); Ext.ss.APIDesc = {"url":"router.php","type":"remoting","actions":{"Echo":[{"name":"send","len":1}],"Exception":[{"name":"makeError","len":0}],"Time":[{"name":"get","len":0}],"File":[{"name":"list","len":1,"serverMethod":"listFiles"},{"name":"add","len":2,"formHandler":true}]},"namespace":"Ext.ss"}; Ext.Direct.addProvider(Ext.ss.APIDesc); // sendメソッドコール Ext.ss.Echo.send('Ext.Direct Sample2!');
9.
基本的なRPCの使い方 コールバックを利用する サーバーサイド側のメソッド引数をプロバイダ追加時に定義しているため、同様の引数で呼び出すことができる。
サーバーサイド側のメソッド引数以降は、コールバック関数を設定することができ、その次にスコープを設定できる。 コールバックの引数は、サーバーサイドが返した値になる、PHPの場合配列で返却すると、JS側でも配列になる。 // sendメソッドコール Ext.ss.Echo.send('Ext.Direct Sample3!', function(ret) { alert(ret); }, this);
10.
Ext.tree.TreePanelとの連携 ツリーローダーをExt.Directで通信させる。 サーバーサイド側で引数(node-id)に応じてツリー配列を返却すればOK!
api.phpにTreeクラスを追加する loader: new Ext.tree.TreeLoader({ directFn: TreePanel.getTree }), $api->add( array( 'Tree' => array('prefix' => 'Class_'), 'Echo' => array('prefix' => 'Class_'), 'Exception' => array('prefix' => 'Class_'), 'Time', 'File' ) );
11.
Ext.tree.TreePanelとの連携 Treeクラスを作る。 <?php
class Class_Tree { /** * @remotable */ public function get($id){ $ret = array(); if ($id==='root') { $ret[] = array( 'id' => 'node1', 'text' => 'ノード1' ); $ret[] = array( 'id' => 'node2', 'text' => 'ノード2' ); } else { $ret[] = array( 'id' => 'leaf1', 'text' => 'リーフ1', 'leaf' => true ); $ret[] = array( 'id' => 'leaf2', 'text' => 'リーフ2', 'leaf' => true ); } return $ret; } } ?>
12.
Ext.tree.TreePanelとの連携 Ext.tree.TreePanelを生成する。 var
tree = new Ext.tree.TreePanel({ autoScroll: true, root: { id: 'root', text: 'Root' }, width: 300, height: 500, loader: new Ext.tree.TreeLoader({ directFn: Ext.ss.Tree.get }), renderTo: Ext.getBody() });
13.
Ext.grid.GridPanelとの連携 Ext.data.DirectStoreを使ったグリッドを作成する。 api.phpに追加する
var grid = new Ext.grid.GridPanel({ title: 'Ext.Direct for Ext.grid.GridPanel', store: new Ext.data.DirectStore({ autoLoad: true, paramsAsHash: false, directFn: Ext.ss.Grid.getAll, root: 'users', fields: [ { name: 'id', mapping: 'id' }, { name: 'name', mapping: 'name' }, { name: 'email', mapping: 'email' } ] }), columns : [ { header: '名前', width: 160, sortable: true, dataIndex: 'name' }, { header: 'メールアドレス', width: 300, sortable: true, dataIndex: 'email' }, ], autoScroll: true, height: 300, renderTo: Ext.getBody() }); 'Grid' => array('prefix' => 'Class_'),
14.
Ext.grid.GridPanelとの連携 Grid.phpを作成する。 <?php
class Class_Grid { /** * @remotable */ public function getAll(){ $ret = array(); $users = array(); $users[] = array( 'id' => '1', 'name' => '小堤 一弘', 'email' => 'kotsutsumi@xenophy.com' ); $users[] = array( 'id' => '2', 'name' => '斎藤 貴樹', 'email' => 'saito@xenophy.com' ); $users[] = array( 'id' => '3', 'name' => '安永 一博', 'email' => 'yasunaga@xenophy.com' ); $ret['total'] = count($users); $ret['users'] = $users; return $ret; } } ?>
15.
Ext.form.FormPanelとの連携 apiを指定して、Ext.Directを利用する。 varbasicInfo
= new Ext.form.FormPanel({ title: 'ユーザー情報', padding: 10, buttons:[{ text: 'Submit', handler: function(){ basicInfo.getForm().submit({ params: { foo: 'bar', uid: 34 } }); } }], defaults: {anchor: '-20'}, defaultType: 'textfield', items: [{ fieldLabel: 'Name', name: 'name' },{ fieldLabel: 'Email', msgTarget: 'side', name: 'email' },{ fieldLabel: 'Company', name: 'company' }], api: { load: Ext.ss.Form.getBasicInfo, submit: Ext.ss.Form2.updateBasicInfo }, paramOrder: ['uid', 'foo'], width: 500, height: 180, renderTo: Ext.getBody() }); basicInfo.getForm().load({ params: { foo: 'bar', uid: 34 } });
16.
Ext.form.FormPanelとの連携 サーバーサイドのクラスを準備する。 <?php
class Class_Form { /** * @remotable */ function getBasicInfo($userId, $foo){ return array( 'success'=>true, 'data'=>array( 'name'=>'Kazuhiro Kotsutsumi', 'company'=>'Xenophy', 'email'=>'kotsutsumi@xenophy.com' ) ); } } ?> <?php class Class_Form2 { /** * @remotable */ function updateBasicInfo($formPacket){ $response = array(); $response['errors'] = array( 'email'=>'kotsutsumi@xenophy.comを入力してください。' ); $response['success'] = false; return $response; } } ?>
17.
まとめ サーバーサイドのやりとりが非常に便利になる。 感覚的にサーバーサイドへJSコードでアクセスできる。
だけど・・・ サンプルに入っているExt.Directの書き方が若干違ったり(api.phpとか)するし、APIの生成(JSON)がおかしかったりする・・・。 Symphonyなどのフレームワーク用のExt.Direct用のクラスも配布されている。 なんだかんだ、ちゃんと作る前にサーバーサイドのインタフェースの作りはちゃんと理解しておく必要がある。
18.
手前味噌ですが・・ xFrameworkPXにはxFrameworkPX_Controller_ExtDirectクラスが存在する。 モジュールを作成して、コントローラーに登録するだけでモジュール名でJS側からアクセスできる。
サーバーサイドのやりとり(api.phpとかrouter.phpの部分)は、ちゃんとオリジナルで実装して動作確認済。 MVCのModel部分をExt側から透過的に利用できるため、開発が高速。 なんていう宣伝。
19.
時間があまったら JSコードの隠蔽化 Googleクロージャーツール
http://closure-compiler.appspot.com/home Amateta SWF ENCRYPT http://www.amayeta.com/software/swfencrypt/ Motion Decompiler SWFのタイムラインにJSコードを埋め込んで、実行する。SWFが暗号化されているため、デコンパイルしてもJSコードを抽出できない
Download now