跨平台的app开发看起来很美好的样子,原来做过JQM以及JQ MOBI还有一些ISCROLL之类的框架,不过做在一般的手机上略微有些卡卡的感觉。但是随着手机硬件的一直进步,相信以后跨平台将会是一种趋势。HTML5和CSS3的美好的效果,如果能够加上流畅的运行,那一定能给和native app瓜分天下的。最近和别人一起做一个创业的项目,原来开发了android和ios的版本,不过由于native会有各种问题所以想要推导了重新来做。这次是用sencha touch这个跨平台的框架。而且时间上也比较急迫一些。虽然原来也做过一些这样的东西,但是毕竟是新框架还要先熟悉上手,所以希望夜以继日早日完成v1.0版本。
下面是Sencha官方给出的几点特性
1.基于最新的WEB标准 – HTML5,CSS3,JavaScript。整个库在压缩和gzip后大约80KB,通过禁用一些组件还会使它更小;
2.支持世界上最好的设备。Beta版兼容Android和iOS,Android上的开发人员还可以使用一些专为Android定制的主题;
3.增强的触摸事件。在touchstart、touchend等标准事件基础上,增加了一组自定义事件数据集成,如tap、swipe、pinch、rotate等;
4.数据集成。提供了强大的数据包,通过Ajax、JSONp、YQL等方式绑定到组件模板,写入本地离线存储,貌似sencha框架的前端部分上手会比较容易,与后台的数据交互值得深入的去研究一下。
当然这只是官方给的特性,性能好坏要真正使用的时候才能知道。官方的开发工具是sencha architect,可视化,最好的地方是可以一键分别打包原生应用到安卓和ios。正版的时收费的,但是伟大的程序员们已经把它破解掉,可以无限期试用;同样编写用其他IDE也ok,牛逼的可以打开记事本去编写。sencha在网上的教程鱼龙混杂,还是阅读它提供的doc教程吧,虽然是英文的,但是比网上杂七杂八的教程好很多。它的官网,www.sencha.com,推荐不要看中文的网站,看了几眼就觉得翻译的烂的一比。
需要进行的环境配置:
1.测试用的浏览器,基本的浏览器都可以的,除非你奇葩的用IE6呢;
2.Sencha Cmd可以在它的官网上下载,不过这个的安装需要有java的环境,关于sencha cmd:它是一个代码生成器,是一个JS编译器,是一个本地的web服务器,是一个本地的打包器,可以把sencha Touch打包成.apk或者.app。它还有很多的功能貌似,目前用到的就以上几个而已,后面应该还会碰到更多的它的功能。总之很屌很强大,感觉就像是一个没有界面的IDE一样;
3.还需要有ruby的环境;
sencha运行的时候需要有服务器的环境,一种是在比如xampp上面或者IIS,只需要把压缩包解压到根目录下即可运行其中的例子;另一种是用它提供的sencha cmd工具,cd到你解压sencha包的目录,输入"sencha web start",即可开启服务器,路径为“http://localhost:1841/xxx/xxx”,默认的端口是1841。
下面就开始创建新的app了,方法先用cmd的方式,cd到SDK的路径:
sencha generate app MyApp ../MyApp
后面的最后一个参数一定要给的,因为指定了新app的路径。执行后会自动生成一个app的框架出来,也就是sencha cmd代码生成器的功能。
有必要截张生成app框架文件的图上来,sencha touch是以MVC的逻辑方式来组织的。其中app文件夹里面就是M,V,C三层的代码,app.json是app的配置文件,而packager.json是当打包成native时候的配置文件;resources文件夹包含资源文件,其中CSS也作为资源文件在里面。而app.js就是整个的app的入口文件,控制着接下来的逻辑展现。Ps:因为sencha的代码有大部分是ExtJS的语法格式,和javascript的还有些区别,所以在真正编写代码之前还是最好去预习一下Extjs的基本语法格式囖。