从零开始学习Sencha Touch MVC应用之二
来源:互联网 发布:无人机编程开发 教程 编辑:程序博客网 时间:2024/05/20 14:18
现在开始最有趣的部分-编码:
首先,我们需要在index.html中增加如下内容:
<!DOCTYPE html>
<html>
<head>
<title>MvcTouch</title>
<!-- Sencha Touch work -->
<link rel="stylesheet" type="text/css" href="lib/sencha-touch-1.1.0/sencha-touch.css" />
< type="text/java" src="lib/sencha-touch-1.1.0/sencha-touch.js"></>
< type="text/java" src="/app/app.js"></>
</head>
<body></body>
</html>
这步很简单,我们仅仅增加了Sencha Touch所需的文件(包括js文件和css文件),同时也包括我们自己建立的app.js文件。
接着让我们来写些javascrpt代码:
打开app.js,让我们来添加如下内容。
Ext.regApplication({
name: 'App',
launch: ()
{
alert("Yay, it's working!");
}
});
太好了,但这些code能做什么?!好,它们创建了我们应用。
我们通过传递被我们命名的应用的配置对象来调用Ext.regApplication功能(ext是Sencha touch使用的命名空间),并且功能的执行是在所有的东西都被加载完后,应用可以完成它所该完成的职责,这里我们只添加了消息提示框的功能,来验证是否程序加载运行正常。
请注意,应用名称是非常重要的,因为在我们的命名空间上,将要附加我们常用的视图、控制器等,下面就是sencha touch文档中一段节选。
“Instantiating a new application automatically creates a global variable using the configured name property and sets up namespaces for views, stores, models and controllers within the app.”
//this code is run internally automatically when creating the app
Ext.ns('MyApp', 'MyApp.views', 'MyApp.stores', 'MyApp.models', 'MyApp.controllers');
所以,在我们的后续例子代码中,将要有像App.views.HomeMainView.等类似东西出现。
好,那么为何我们的项目工程名称是App而不是MvcTouch?
App更简短并且因为一贯性是名称更有意义,如果我们命名像MvcTouch这样的工程名称,我们就必须也会有MvcTouch.views.HomeMainView等类似的名称,再以后,当我们需要写另外的App,你将不得不像工程名称一样再命名另外的应用实例,如:AnotherApp.views.HomeView.无论如何,如果我们在我们的项目中总是用App命名应用实例,我们将发现实行变得更快;视图将总是以App.views.*,控制器总是以App.controllers.*等面貌出现。
现在,我们用Safari 或Google Chrome打开index.html ,看提示的消息框是否出现。
为什么是Safari 或Google Chrome,而不是Firefox?
Sencha touch的作用是建立在移动设备上建立web apps应用,而不是桌面的浏览器。至于Safari 或Google Chrome为何能够处理Sencha Touch app应用的原因,是因为这些浏览器是像其他移动设备上的浏览器一样建立在webkit的引擎基础上。
首先,我们需要在index.html中增加如下内容:
<!DOCTYPE html>
<html>
<head>
<title>MvcTouch</title>
<!-- Sencha Touch work -->
<link rel="stylesheet" type="text/css" href="lib/sencha-touch-1.1.0/sencha-touch.css" />
< type="text/java" src="lib/sencha-touch-1.1.0/sencha-touch.js"></>
< type="text/java" src="/app/app.js"></>
</head>
<body></body>
</html>
这步很简单,我们仅仅增加了Sencha Touch所需的文件(包括js文件和css文件),同时也包括我们自己建立的app.js文件。
接着让我们来写些javascrpt代码:
打开app.js,让我们来添加如下内容。
Ext.regApplication({
name: 'App',
launch: ()
{
alert("Yay, it's working!");
}
});
太好了,但这些code能做什么?!好,它们创建了我们应用。
我们通过传递被我们命名的应用的配置对象来调用Ext.regApplication功能(ext是Sencha touch使用的命名空间),并且功能的执行是在所有的东西都被加载完后,应用可以完成它所该完成的职责,这里我们只添加了消息提示框的功能,来验证是否程序加载运行正常。
请注意,应用名称是非常重要的,因为在我们的命名空间上,将要附加我们常用的视图、控制器等,下面就是sencha touch文档中一段节选。
“Instantiating a new application automatically creates a global variable using the configured name property and sets up namespaces for views, stores, models and controllers within the app.”
//this code is run internally automatically when creating the app
Ext.ns('MyApp', 'MyApp.views', 'MyApp.stores', 'MyApp.models', 'MyApp.controllers');
所以,在我们的后续例子代码中,将要有像App.views.HomeMainView.等类似东西出现。
好,那么为何我们的项目工程名称是App而不是MvcTouch?
App更简短并且因为一贯性是名称更有意义,如果我们命名像MvcTouch这样的工程名称,我们就必须也会有MvcTouch.views.HomeMainView等类似的名称,再以后,当我们需要写另外的App,你将不得不像工程名称一样再命名另外的应用实例,如:AnotherApp.views.HomeView.无论如何,如果我们在我们的项目中总是用App命名应用实例,我们将发现实行变得更快;视图将总是以App.views.*,控制器总是以App.controllers.*等面貌出现。
现在,我们用Safari 或Google Chrome打开index.html ,看提示的消息框是否出现。
为什么是Safari 或Google Chrome,而不是Firefox?
Sencha touch的作用是建立在移动设备上建立web apps应用,而不是桌面的浏览器。至于Safari 或Google Chrome为何能够处理Sencha Touch app应用的原因,是因为这些浏览器是像其他移动设备上的浏览器一样建立在webkit的引擎基础上。
- 从零开始学习Sencha Touch MVC应用之二
- 从零开始学习Sencha Touch MVC应用之二
- 从零开始学习Sencha Touch MVC应用之三
- 从零开始学习Sencha Touch MVC应用之三
- 从零开始学习Sencha Touch MVC应用之四
- 从零开始学习Sencha Touch MVC应用之五
- 从零开始学习Sencha Touch MVC应用之六
- 从零开始学习Sencha Touch MVC应用之七
- 从零开始学习Sencha Touch MVC应用之八
- 从零开始学习Sencha Touch MVC应用之九
- 从零开始学习Sencha Touch MVC应用之十
- 从零开始学习Sencha Touch MVC应用之十一
- 从零开始学习Sencha Touch MVC应用之十二
- 从零开始学习Sencha Touch MVC应用之十三
- 从零开始学习Sencha Touch MVC应用之十四
- 从零开始学习Sencha Touch MVC应用之十五
- 从零开始学习Sencha Touch MVC应用之十六
- 从零开始学习Sencha Touch MVC应用之十七
- iOS屏幕变换的处理(2)
- VI/VIM快捷键
- hdu 1872 稳定排序
- 如何使用eclipse创建Maven版本的hsf工程及其子模块
- Ubuntu上搭建Java SE开发环境
- 从零开始学习Sencha Touch MVC应用之二
- GWT开发框架Trufun WebRCP V1.0发布!
- linux下的C语言开发(makefile编写)
- 使用NSKeyedArchiver保存数据
- java中对IO的操作
- 编译时,可加入的选项
- 移植2440遇到的错误
- Sql2005以上重建事务日志文件
- 当一个线程进入一个对象的一个synchronized( )方法后,其它线程是否可进入此对象的其它方法