📜  Sencha Touch-概述

📅  最后修改于: 2020-10-19 03:00:11             🧑  作者: Mango


Sencha Touch是Sencha的流行框架,用于为移动应用程序创建用户界面。它可以帮助开发人员使用简单的HTML,CSS,JS创建移动应用程序,该应用程序支持许多移动设备,例如android,IOS,BlackBerry和Windows。它基于MVC架构。 Sencha Touch的最新版本是2.4。

Sencha Touch的历史

在发布了用于Web应用程序的Sencha的其他产品ExtJs之后,有必要开发一种在移动设备上也可以使用的框架。

Sencha Touch的第一个版本是0.9 beta版,它支持Android和IOS设备。后来,Sencha Touch 1.0的第一个主要发行版本于2010年11月发布,它是第一个稳定版本并也支持Blackberry设备。

Sencha Touch的最新版本是2015年6月发布的2.4版,它支持许多设备,例如Windows,Tizen以及Android,IOS,BlackBerry OS 10,适用于Android的Google Chrome和移动Safari等。

Sencha Touch的功能

以下是Sencha Touch最突出的功能-

  • 可定制的50多种内置UI窗口小部件,其中包含专门针对移动平台构建的丰富UI集合,例如列表,轮播,表单,菜单和工具栏。

  • 新版本与旧版本的代码兼容性。

  • 灵活的布局管理器,可帮助在具有不同操作系统的多个移动设备之间组织数据和内容的显示。

  • 该框架包括一个健壮的数据包,可以使用来自任何后端数据源的数据。

  • 自适应布局,动画和平滑滚动,以提供更好的移动Web应用程序使用体验。

  • 适用于每个主要平台的即用型,本机外观主题可以使Web和混合应用程序匹配目标平台的外观。

Sencha Touch─好处

Sencha Touch是企业级Web应用程序开发的领先标准。它提供了为大多数移动设备构建健壮的应用程序所需的工具,并为开发应用程序提供了一个平台。以下是一些好处-

  • 提供响应式触摸功能,因此用户可以在使用移动应用程序时轻松导航。

  • 提供与所有最新版本的IOS,Android和Blackberry以及Windows的兼容性。

  • 提供任何移动应用所需的最快速度。

  • 提供跨平台兼容性的高性价比解决方案。

  • 基于本地API和基本的Web开发语言(例如HTML,CSS,JS),使开发人员更容易理解Sencha Touch。

Sencha Touch─局限性

Sencha Touch API没有以下功能-

  • 该应用无权访问设备的摄像头,通讯录和加速度计。

  • 它不提供推送通知功能。为此,我们必须使用websockets或长时间轮询。

  • 根据一般公共许可证政策,对于开源应用程序是免费的,但是对于商业应用程序则是付费的。

  • 这对于硬核图形和动画应用程序(例如游戏应用程序)不是很好。

Sencha Touch─工具

Sencha SDK

这是Sencha开发工具包,用于创建项目的框架。我们使用命令“ sencha -sdk path / to / touch生成应用程序appName”创建具有命令中给定名称的应用程序。

创建应用程序后,您可以在应用程序中看到以下文件-

  • app-此文件夹包含该应用程序的模型,视图,控制器和存储文件。

  • app.js-这是您的应用程序的主要JS文件。从该文件开始,Sencha代码流。

  • app.json-这是应用程序的配置文件,所有配置详细信息都在此处显示。

  • index.html-这是主要的html文件,其中包含app.js和其他与Sencha相关的文件。

  • package.json-该文件具有与应用程序相关的所有依赖关系和其他信息。

  • 资源-此文件夹包含应用程序所需的所有CSS文件和图像。

Sencha CMD

Sencha CMD是一个命令行工具,它提供Sencha Touch代码的缩小,脚手架,生成生成的功能以及其他用于生产目的的有用功能。

我们在命令提示符下使用命令“ Sencha app build package”来为此构建应用程序。在命令提示符下转到应用程序目录,然后键入以上命令。一旦构建成功,我们将看到基本上用于生产目的的应用程序的缩小版本。

可以从以下位置下载https://www.sencha.com/products/extjs/cmd-download/

Sencha检查器

Sencha Inspector是一个调试工具,用于在开发过程中调试Sencha代码中的任何问题。