Sencha Touch - 概述


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

Sencha Touch 的历史

在发布 Sencha 的另一个产品 ExtJs(用于 Web 应用程序)之后,需要开发一个也可以在移动设备上运行的框架。

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

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 和 HTML、CSS、JS 等基本 Web 开发语言,使开发人员更容易理解 Sencha Touch。

Sencha Touch ─ 局限性

Sencha Touch API 不具有以下功能 -

  • 该应用程序无法访问设备的相机、联系人和加速计。

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

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

  • 它不适合硬核图形和动画应用程序,例如游戏应用程序。

Sencha Touch ─ 工具

Sencha SDK

这是 Sencha 开发套件,用于创建项目的框架。我们使用命令“sencha -sdk path/to/touchgenerate app appName”来创建一个具有命令中给出的名称的应用程序。

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

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

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

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

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

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

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

煎茶命令

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

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

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

煎茶检查员

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