著書• Sencha Touch 2 実践開発ガイド • HTML5/JavaScriptモバイル アプリケーション フレーム
ワークであるSencha Touchは、 iOS、Androidを始めとす
る多くのプラットフォーム上で、ネィティブに負けないアプ
リをスピーディに開発できる唯一のフレームワークであるこ
とで、世界中のデベロッパーの関心を集めています。
• 本書では、Sencha Touchを使ってのモバイル アプリケー
ション作成を手助けする、実践的な内容を盛り込みました。
どこから始める?• sencha generate app です
• このコマンドで、アプリの雛形を作ってくれますので、そこから始めます。
• 作ってくれるのはアプリの枠組みです。必要なところを書き加えていきます。
index.html
1 <!DOCTYPE HTML>! 2 <html manifest="">! 3 <head>! 4 <meta http-equiv="X-UA-Compatible" content="IE=edge">! 5 <meta charset="UTF-8">! 6 ! 7 <title>MyList</title>! 8 ! 9 <!-- The line below must be kept intact for Sencha Cmd to build your application -->!10 <script id="microloader" type="text/javascript" src="bootstrap.js"></script>!11 !12 </head>!13 <body></body>!14 </html>!
クラスシステム• JavaScript には「クラス」は存在しない。 • そのため、Alter JS では「クラス」が追加されている • Sencha のフレームワークでは、素の JavaScript 上にクラスシステムを構築している
• 継承、オーバーライド、スタティックメソッド、ミックスインなどの一通りの機能を備える
クラスシステム 1 // クラスの定義! 2 Ext.define('MyApp.mypackage.MyClass', {! 3 extend: 'MyApp.SuperClass',! 4 config: {! 5 myConfig: true! 6 }! 7 });! 8 ! 9 // インスタンス化!10 var instance = Ext.create('MyApp.mypackage.MyClass', {!11 myConfig: false!12 });!
1 // コンポーネントを使う! 2 Ext.define('MyApp.view.MyPanel', {! 3 extend: 'Ext.form.Panel',! 4 config: {! 5 title: '俺聞け11',! 6 items: [{! 7 xtype: 'textfield',! 8 fieldLabel: 'お名前',! 9 name: 'name'!10 },{!11 xtype: 'datefield',!12 fieldLabel: 'お誕生日',!13 name: 'birthday'!14 }]!15 }!16 });
1 // コンポーネントを使う! 2 Ext.define('MyApp.view.MyPanel', {! 3 extend: 'Ext.form.Panel',! 4 config: {! 5 title: '俺聞け11',! 6 items: [{! 7 xtype: 'textfield',! 8 fieldLabel: 'お名前',! 9 name: 'name'!10 },{!11 xtype: 'datefield',!12 fieldLabel: 'お誕生日',!13 name: 'birthday'!14 }]!15 }!16 });
MVC - MVVM
Application
View
ViewModel
ViewController
Model
Store
Proxy
Controllerコンポーネント
イベント処理
バインドするデータ
あまり使わない
スタートポイント
データ構造の定義 レコードの保持
レコードの集合
サーバーなどとの通信
Sencha UG
• 定期的に Sencha の勉強会とかやっています
• http://www.meetup.com/Japan-Sencha-User-Group/
• https://atnd.org/users/160956