sencha touch 入门 基础教程 介绍及用法
Sencha Touch,1.X 2.0,介绍及用法,赵宇,手机应用的分类,Native appNative app + Web appWeb app,适配,web技术手机应用框架,为什么要用框架?,framework 的优势:,强大的用户界面组件适应各种分辨率手机界面美观 易用像native app更多,jQuery插件声明的HTML支持浏览器 iOS (iPhone/iPod) Android BlackBerry v6 绝大多数webkit浏览器http:/jQTouch.com,jQTouch,TIPS,jQuery手机版声明的HTML支持浏览器 iOS (iPhone/iPod) Android BlackBerry v6 绝大多数webkit浏览器http:/jquerymobile.com,jQuery Mobile,Android Webkit Browser,自包含库Javascript语言独立的MVC应用支持浏览器 iOS (iPhone/iPad) Android BlackBerry v6 & QNX Bada, MeeGo & other WebKit Windows Phone 7*http:/sencha.com/touch,Sencha Touch,Android Webkit Browser,支持的主要技术特性:HTML5:localStorage (Android 2.1)Geolocation (Android 2.1)CanvasVideo/AudioForms(Android 2.0 incomplete),http:/www.quirksmode.org/webkit.htmlhttp:/html5test.com/,Android Webkit Browser,支持的主要技术特性:CSS3:SelectorBorderBackgroundText effectsTransition/Transform/AnimationMedia queries,http:/www.quirksmode.org/webkit.html,介绍,Sencha Touch介绍,是世界上第一个HTML5 Mobile Web App Framework。Sencha Touch能够让你开发移动Web应用,并且开发出来的移动应用的界面看起来与iPhone, Android, 和BlackBerry等触摸设备上的原生应用的效果相同。概括来说是ExtJs手机版,但是有很大改动,完全独立,并不依赖ExtJs。,Get started,Hello World,new Ext.Application(name:helloWorld,launch:funtion()alert(“Hello World”););,layouts,布局,FitLayout:尽可能争取空间,布满屏幕HboxLayout:水平布局VboxLayout:垂直布局CardLayout:卡片式布局*,fitLayout,vboxLayout,cardLayout,hboxLayout,xTemplates,xTemplates,是一种模板语言,类似于freemarker-使用模板和子模板自动填充数组-基本比较运算符的条件处理-自定义成员函数-if/for/switch等循环的支持-.,xTemplates使用,定义通过new Ext.XTemplate()来定义,例如:var tpl = new Ext.XTemplate( / 字符串 );常用控制语句 -if/if elseif: -for: name -switch :xxyy,Components,组件,列表(List/nestedlist)表单(Forms)面板(Panel/tabPanel)工具条(Tabs/toolbars)数据视图(Dataview).,Models and Stores,数据模型(Model),模型:应用程序管理的对象,与表类似,可以包含一些字段任意的方法及一些属性-fields: 该模型包含的字段,如一个用户有姓名,年龄等-validations: 验证,字段需要符合的条件-Associations 关系模型 hasMany belongTo等-Proxy 通过代理获取数据,使用Proxy的优点一是用同样的模型加载数据,避免每个Store 代理定义 二是可以修改数据而不通过Store,数据存储(Store),Store:是一个模型实例的集合,并且可以进行排序、分组、过滤及一些事件-model:指明该Store所使用模型-data:数据集合(json)-proxy:通过代理加载远程数据,Sencha touch1.x+Adapter2,实现,手机客户端*.html,*.js,中间件,目标服务器,JSONP跨域请求,JSONP: JSON with padding,是一种跨域请求的解决方案,使页面在不同域中的服务器请求数据用法模式的一种补充示例: 服务器parseResponse("Name": "Foo", "Id" : 1234, "Rank": 7),MVC,MVC in Sencha Touch,Models:-管理应用程序的数据-提供数据Views:-用户交互界面Controllers:-接收输入,指示model和view,MVC,Ext.Application,实例化一个新的应用程序时,会使用配置中的name属性自动创建一个全局变量,并为views、stores、controllers、models建立命名空间,Model,Store,View,Controller,Sencha Touch2.0 相关,ST2.0 VS ST1.x,更小,更快的布局引擎更强,更聪明的核心更快的启动时间更好的支持AndroidAPI的大幅修改及完善.,畅想,谢谢!,