Sencha Touch - 架构

任何移动应用程序的底层都是操作系统,操作系统之上构建了一切。然后我们有浏览器,我们将在其上运行应用程序。它可以是 Chrome、Safari、IE 等。上层是 W3 标准,对所有浏览器都通用。Sencha Touch 是建立在 W3 标准之上的,W3 标准就是 HTML5,它使单个应用程序与不同设备的不同浏览器兼容。

Sencha Touch 是三个框架的组合 − ExtJs、JqTouch 和 Raphael(矢量绘图)。它遵循 MVC 架构。MVC 将代码分成更易于管理的块。

尽管架构对于程序来说不是强制性的,但遵循此结构是最佳实践,可使您的代码高度可维护且井井有条。

带有 Sencha Touch 应用程序的项目结构

----------src
----------resources
-------------------CSS files
-------------------Images
----------JavaScript
--------------------App Folder
-------------------------------Controller
------------------------------------Contoller.js
-------------------------------Model
------------------------------------Model.js
-------------------------------Store
------------------------------------Store.js
-------------------------------View
------------------------------------View.js
-------------------------------Utils
------------------------------------Utils.js
--------------------------------app.js
-----------HTML files

Sencha Touch 应用程序文件夹将驻留在项目的 JavaScript 文件夹中。

应用程序将包含控制器、视图、模型、存储和带有 app.js 的实用程序文件。

app.js − 程序流程将从其中开始的主文件。它应使用 <script> 标签包含在主 HTML 文件中。应用程序调用应用程序的控制器来实现其余功能。

Controller.js − 它是 Sencha Touch MVC 架构的控制器文件。它包含应用程序的所有控件、事件侦听器以及代码的大部分功能。它执行以下任务:路由、视图和模型之间的中介以及执行事件。

View.js − 它包含应用程序的界面部分,显示给用户。 Sencha Touch 使用各种丰富的 UI 视图,可以根据需求进行扩展和定制。

Store.js − 它包含本地缓存的数据,这些数据将在模型对象的帮助下呈现在视图上。Store 使用代理获取数据,代理定义了服务获取后端数据的路径。

Model.js − 它包含将存储数据绑定到视图的对象。它是现实世界对象的表示,主要处理数据库。

Utils.js − 它不包含在 MVC 架构中,但使用它是一种最佳实践,以使代码干净、更简单、更易读。我们可以在这个文件中编写方法,并在需要时在控制器或视图渲染器中调用它们。这对代码可重用性也有帮助。