开始Sencha Touch 2之旅 -- Sencha Touch 官方指南系列

sencha-touch sencha-touch手机平板开发 立即下载

Sencha Touch是什么?

Sencha Touch (以下简称ST)能够帮助你快速地构造出基于HTML5的手机应用。通过ST构造出来的程序有着与原生应用一致的用户体验,目前已全面支持Android、IOS、黑莓这些主流平台。

准备工作

您不需要太多的准备。只需要:

  • 一个免费的Sencha Touch SDK。
  • 一个本机的web服务器。
  • 一个支持HTML5的浏览器(推荐使用Chrome和Safari)。

首先,下载最新的Sencha Touch SDK并解压至您的Web服务器根目录。如果您没有Web服务器,或者您不确定是否有,我们建议您安装一个简单的,如:WAMP和MAMP。

完成上述工作后,只需要用浏览器打开http://localhost/sencha-touch-folder,你就能看到ST的欢迎界面了。一切OK的话,我们就可以用ST来打造第一个应用程序了。

第一个程序

想让ST应用最高效地运行,请参照我们的示例进行开发。这是个约定,帮助我们写出易维护的程序,这在团队开发时尤其重要。

第一步,创建一个文件夹来存放您的应用程序。这里面你至少需要包含以下文件:

  • index.html - 一个简单的HTML文件,在里面引入ST框架以及您的应用程序文件。
  • app.js - 您的应用程序文件。定义您的主屏幕的图标和程序启动时所需要做的事情。
  • touch - ST框架文件的副本。

让我们先从index.html文件下手

复制代码
<!DOCTYPE html>
<html>
<head>
    <title>Getting Started</title>
    <link rel="stylesheet" href="touch/resources/css/sencha-touch.css" type="text/css">
    <script type="text/javascript" src="touch/sencha-touch-all.js"></script>
    <script type="text/javascript" src="app.js"></script>
</head>
<body></body>
</html>
复制代码

这大概是您这辈子所写过的最简单的HTML页面了。它仅仅引入了ST(框架的js文件和css文件)和您自己的app.js。注意,body标签的内容为空 - ST将会自动帮我们渲染它。接下来,让我们来看看app.js文件中的内容。我们仍然从最简单的例子入手,只是弹出一个警告对话框:

复制代码
Ext.application({
    name: 'Sencha',

    launch: function() {
        alert('launched');
    }
});
复制代码

怎么样,简单吧。接下来让我们启动Safari(或者Chrome),看看他是否如我们预期的一样。(或者点击代码左侧的眼睛图标来查看运行的效果)。

到目前为止,这个程序什么也干不了。但警报消息的弹出意味着ST已经正确地被加载并运行了。我们开始着手构建界面:一个TabPanel。TabPanel是一个标签式的界面,他允许你在多个页面之间浏览。在这里,我们只生成一个页面 - 主页(Home page):

复制代码
Ext.application({
    name: 'Sencha',

    launch: function() {
        Ext.create("Ext.TabPanel", {
            fullscreen: true,
            items: [
                {
                    title: 'Home',
                    iconCls: 'home',
                    html: 'Welcome'
                }
            ]
        });
    }
});
复制代码

现在,TabPanel已经显示在屏幕上了,但是我们的主页,内容可以更丰富一些。把标签放在顶部有点不大好看,主页按钮似乎也有些单调。让我们动手吧,修改tabBarPosition配置项并添加一些HTML内容:

复制代码
Ext.application({
    name: 'Sencha',

    launch: function() {
        Ext.create("Ext.TabPanel", {
            fullscreen: true,
            tabBarPosition: 'bottom',

            items: [
                {
                    title: 'Home',
                    iconCls: 'home',
                    html: [
                        '<img src="http://staging.sencha.com/img/sencha.png" />',
                        '<h1>Welcome to Sencha Touch</h1>',
                        "<p>You're creating the Getting Started app. This demonstrates how ",
                        "to use tabs, lists and forms to create a simple app</p>",
                        '<h2>Sencha Touch (2.0.0pr1)</h2>'
                    ].join("")
                }
            ]
        });
    }
});
复制代码

到目前为止,我们已经有了一些HTML内容了,但不大好看(点击预览按钮查看代码示例)。为了使它更好看,我们只要给panel添加cls配置项即可。只是增加了一个CSS类,就搞定了。这里CSS是定义在examples/getting_started/app.css文件中的。添加了CSS之后,我们的主页就变成了这个样子:

复制代码
Ext.application({
    name: 'Sencha',

    launch: function() {
        Ext.create("Ext.TabPanel", {
            fullscreen: true,
            tabBarPosition: 'bottom',

            items: [
                {
                    title: 'Home',
                    iconCls: 'home',
                    cls: 'home',

                    html: [
                        '<img src="http://staging.sencha.com/img/sencha.png" />',
                        '<h1>Welcome to Sencha Touch</h1>',
                        "<p>You're creating the Getting Started app. This demonstrates how ",
                        "to use tabs, lists and forms to create a simple app</p>",
                        '<h2>Sencha Touch (2.0.0pr1)</h2>'
                    ].join("")
                }
            ]
        });
    }
});
复制代码

现在我们已经有了一个体面的主页,接下来我们稍微做一些扩展。我们希望在一个单独的选项卡显示我们的最新博客文章列表。我们先用虚拟的数据 - 在这里我选取了几个我最喜欢的来自http://sencha.com/blog的职位。关于List的代码我们写在"Home"选项卡下方。(点击预览按钮运行代码示例)

复制代码
Ext.application({
    name: 'Sencha',

    launch: function() {
        Ext.create("Ext.TabPanel", {
            fullscreen: true,
            tabBarPosition: 'bottom',

            items: [
                {
                    title: 'Home',
                    iconCls: 'home',
                    cls: 'home',
                    html: [
                        '<img width="65%" src="http://staging.sencha.com/img/sencha.png" />',
                        '<h1>Welcome to Sencha Touch</h1>',
                        "<p>You're creating the Getting Started app. This demonstrates how ",
                        "to use tabs, lists and forms to create a simple app</p>",
                        '<h2>Sencha Touch (2.0.0pr1)</h2>'
                    ].join("")
                },
                {
                    xtype: 'list',
                    title: 'Blog',
                    iconCls: 'star',

                    itemTpl: '{title}',
                    store: {
                        fields: ['title', 'url'],
                        data: [
                            {title: 'Ext Scheduler 2.0', url: 'ext-scheduler-2-0-upgrading-to-ext-js-4'},
                            {title: 'Previewing Sencha Touch 2', url: 'sencha-touch-2-what-to-expect'},
                            {title: 'Sencha Con 2011', url: 'senchacon-2011-now-packed-with-more-goodness'},
                            {title: 'Documentation in Ext JS 4', url: 'new-ext-js-4-documentation-center'}
                        ]
                    }
                }
            ]
        }).setActiveItem(1);
    }
});
复制代码

 

我们回头再来添加点击这些List项的逻辑。文章的最后,我们再来添加一个联系表格。我们的最后一个tab,包含的是一个FromPanel和一个FieldSet:

复制代码
//We've added a third and final item to our tab panel - scroll down to see it
Ext.application({
    name: 'Sencha',

    launch: function() {
        Ext.create("Ext.TabPanel", {
            fullscreen: true,
            tabBarPosition: 'bottom',

            items: [
                {
                    title: 'Home',
                    iconCls: 'home',
                    cls: 'home',
                    html: [
                        '<img width="65%" src="http://staging.sencha.com/img/sencha.png" />',
                        '<h1>Welcome to Sencha Touch</h1>',
                        "<p>You're creating the Getting Started app. This demonstrates how ",
                        "to use tabs, lists and forms to create a simple app</p>",
                        '<h2>Sencha Touch (2.0.0pr1)</h2>'
                    ].join("")
                },
                {
                    xtype: 'list',
                    title: 'Blog',
                    iconCls: 'star',

                    itemTpl: '{title}',
                    store: {
                        fields: ['title', 'url'],
                        data: [
                            {title: 'Ext Scheduler 2.0', url: 'ext-scheduler-2-0-upgrading-to-ext-js-4'},
                            {title: 'Previewing Sencha Touch 2', url: 'sencha-touch-2-what-to-expect'},
                            {title: 'Sencha Con 2011', url: 'senchacon-2011-now-packed-with-more-goodness'},
                            {title: 'Documentation in Ext JS 4', url: 'new-ext-js-4-documentation-center'}
                        ]
                    }
                },
                //this is the new item
                {
                    title: 'Contact',
                    iconCls: 'user',
                    xtype: 'formpanel',
                    url: 'contact.php',
                    layout: 'vbox',

                    items: [
                        {
                            xtype: 'fieldset',
                            title: 'Contact Us',
                            instructions: '(email address is optional)',
                            items: [
                                {
                                    xtype: 'textfield',
                                    label: 'Name'
                                },
                                {
                                    xtype: 'emailfield',
                                    label: 'Email'
                                },
                                {
                                    xtype: 'textareafield',
                                    label: 'Message'
                                }
                            ]
                        },
                        {
                            xtype: 'button',
                            text: 'Send',
                            ui: 'confirm',
                            handler: function() {
                                this.up('formpanel').submit();
                            }
                        }
                    ]
                }
            ]
        }).setActiveItem(2);
    }
});
复制代码

 

在第三个tab中,我们添加了一个表格,其中包含三个字段和一个提交按钮。我们使用了VBOX布局 布局来定位下方的提交按钮。fieldset本身配置了一个title 和一些 instructions(提示)。提示。最后,我们用了一个 textfield,一个emailfield 还有一个 textareafield.

你可以在examples/getting_started文件夹下找到本示例的文章代码。

更多内容

现在,我们已经搞定了一个非常基本的应用程序,是时候探索框架的其他内容了。在这里,我们提供一些开发指南和组件的实例供大家学习。并且随着Beta版的发展,我们也将会推出更多的指南用以构建较大规模的应用程序。

本文译自Sencha Touch 2 的官方指南。

翻译者:威老。

鉴于本人英语水平所限,难免会有些纰漏,欢迎大家指出。

转载请注明作者及原文地址,谢谢。


更多内容请关注 移动WEB开发社区

Sencha Touch 2 官方指南翻译帖 导航

转载请注明原文地址
作者: 威老
博客地址: http://www.cnblogs.com/weilao
sencha touch2学习笔记(一)---环境搭建和开发工具配置 NULL 博文链接:https://chennaigong.iteye.com/blog/1542268 立即下载

相关推荐

sencha touch 2 实例

sencha touch 2 实现的贪吃蛇 希望对大家有所帮助

Sencha touch

Sencha简介:   前不久基于JavaScript编写的Ajax框架ExtJS,将现有的ExtJS整合JQTouch、Rapha&euml;l库,推出适用于最前沿Touch Web的Sencha Touch框架,该框架是世界上第一个基于HTML5的Mobile App框架。同时,ExtJS更名为Sencha,JQTouch的创始人David Kaneda,以及Rapha&euml;l的创...

lqy_2019 144

AD4030-24BBCZ详细资料 Analog Devices 模数转换器 - ADC 24-Bit, 2 MSPS, SAR ADC

AD4030-24BBCZ详细资料  Analog Devices 模数转换器 - ADC 24-Bit, 2 MSPS, SAR ADC

Chen_YYan的博客 794

Sencha touch 开发指南

Sencha touch 开发指南   本文主要介绍如何使用Sencha Touch为手持设备进行应用开发,主要是针对iPhone这样的高端手机,我们会通过一个详细的例子来介绍整个开发的流程。 Sencha Touch简介...

weixin_30596023的博客 373

BK7238(XH-WB3S)固件烧录实战:从AT固件选择到稳定下载全解析

本文详细解析了BK7238(XH-WB3S)模组固件烧录的全过程,从AT固件版本选择到稳定下载的实战技巧。重点介绍了烧录前的准备工作、硬件连接的正确姿势、烧录软件的实战技巧以及疑难问题排查指南,帮助开发者高效完成BK7238模组的固件烧录。

weixin_29159441的博客 246

NXP KW47蓝牙MCU低功耗实测:从8μA睡眠到5年续航的优化实战

在物联网和嵌入式系统开发中,低功耗设计是决定电池供电设备续航能力的关键技术。其核心原理在于通过事件驱动、状态机管理和精细的电源域控制,使设备在空闲时进入深度睡眠,仅在需要时快速唤醒工作,从而将平均电流从毫安级降至微安级。这项技术的工程价值在于能够实现纽扣电池供电设备长达数年的使用寿命,广泛应用于智能家居传感器、可穿戴设备、资产追踪和工业监测等领域。以NXP KW47系列无线MCU为例,其集成的Arm Cortex-M33双核与专用射频单元,配合多级睡眠模式和高效DC-DC转换器,为超低功耗蓝牙应用提供了硬件

weixin_30162121的博客 255

简单的分析一下sencha touch2

最近,sencha touch2.0发布。较之前两个版本,此次做了不小的改动。因为从机器运行的速度就可以体现出来。之前的sencha touch版本在android客户端运行速度缓慢,最新的2.0版的,可以说实现了质的飞跃。对于新版的特性,我作出了简单的总结。   首先看一下官网给出的解释吧: 提供原生打包(native packaging)功能。只需一条命令,就可以将应用打包为供iO

编程小菜菜的专栏 2777

为什么你的PROFINET IRT同步性能不达标?等时模式常见配置误区盘点

本文深入剖析了PROFINET IRT等时模式同步性能不达标的常见原因。文章直击痛点,系统盘点了从硬件兼容性、拓扑组态、过程映像分区分配,到同步OB配置、时序参数调校及带宽管理等关键环节的配置误区,并提供了实用的诊断思路与性能优化清单,帮助工程师精准定位并解决同步抖动、时序混乱等难题。

ujm5678901的博客 457

Sencha Touch(Extjs)

Sencha官方学习文档:http://docs.sencha.com/touch/2.3.1/ Sencha2.3正式版下载:http://www.sencha.com/products/touch/download/sencha-touch-2.3.0/2920 Sencha中文学习站:http://www.extjs.org.cn/ Sencha示例:http://dev.sencha...

453

西门子S7-200 SMART与施耐德ATV变频器Modbus通讯实战:从接线到稳定运行的完整指南

本文详细介绍了西门子S7-200 SMART PLC与施耐德ATV变频器之间实现稳定Modbus通讯的完整实战指南。内容涵盖从硬件接线、参数配置、PLC程序编写到触摸屏设计的全流程,并分享了提升通讯稳定性的关键技巧和常见故障排查方法,助力工业自动化系统可靠运行。

kkk56的博客 1104

基于Arduino 的 FM 调频收音机

这是一个基于 Arduino 的开源的收音机项目,它具备一台标准收音机的全部功能,从控制部分到外壳都可以自己 DIY。在项目中,我们将介绍让 FM 收音机调谐器的 RDA5807 模块与 I2C 协议进行通信的方法,整个过程只需要两根线就可以与 IC 通信,接线非常简单。3D 打印的外壳也非常简洁。总之,是个非常简单和实用的项目,来试试吧!

ByteBox的博客 1641

Sencha Touch 2 快速入门系列(一)-- 建立第一个Sencha Touch应用

本文已添加至Sencha Touch 2快速入门系列索引:http://blog.youkuaiyun.com/ardy_c/article/details/7544470 转载请注明出处:http://blog.youkuaiyun.com/ardy_c/article/details/7419434 为了帮助大家了解Sencha Touch 2,特意写这系列的博文。文章可能写得不好,希望能与大家多

Ardy's 1万+

python怎样按某一列值拆分Excel表格

pd.ExcelWriter@python #用python按某一列拆分Excel工作表,将内容写入一个工作簿 本次以“按照表中的某一列,将一张表格拆分为多张表”的需求为例,简单介绍这个过程中用到的pd.ExcelWriter,及每一句的作用。 如上表《学生.xlsx》,假设有14万行28列,请按照学校名,拆分表格(不想用复制粘贴)。 ##代码及解释如下 import pandas as pd from time import time#用来计算时间,展示进度,减少焦虑 in_ws='学生.xlsx'#

learn_get的博客 6783

AI工程化编程实战:从CRUD到智能开发工作流设计

在软件工程领域,AI工程化正成为提升开发效率与质量的关键趋势。其核心原理是将人工智能能力系统化地融入软件开发生命周期,通过自动化与智能化工具链重塑传统工作模式。这一技术的核心价值在于,它不仅能自动化生成代码,更能构建可复用、可协作、可进化的智能开发流程,从而将开发者从重复劳动中解放出来,专注于架构设计与复杂问题解决。在应用场景上,AI工程化特别适用于企业级应用开发中模式固定的模块,如数据对象生成、基础CRUD服务、单元测试编写等。通过结合Claude Code这类智能编码助手与Harness AI这样的工程

weixin_34205826的博客 2809

【OpenClaw企业级智能体实战】第09篇:OpenClaw金融投研实战:17个场景+完整代码,打造专属数字研究员

金融投研面临信息过载、流程重复、数据安全合规三大核心痛点,OpenClaw作为本地部署的新一代AI智能体,凭借“长期记忆+主动执行+数据不出域”的优势,成为券商分析师集体追捧的效率工具。本文基于8家头部券商公开研报,拆解OpenClaw在金融投研的17个核心应用场景(信息处理、研报撰写、量化策略、流程自动化),详解原理、技术选型、实操流程,并提供可直接运行的完整代码与执行结果。文章兼顾新手入门与进阶提升,强调安全隔离部署与幻觉防范,读者可按步骤搭建专属投研智能体,将信息处理、数据整理等重复工作效率提升80%

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 673

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何用Sencha Touch打包Android的APK

什么是Sencha Touch前不久基于JavaScript编写的Ajax框架ExtJS,将现有的ExtJS整合JQTouch、Raphaël库,推出适用于最前沿Touch Web的Sencha Touch框架,该框架是世界上第一个基于HTML5的Mobile App框架。同时,ExtJS更名为Sencha,JQTouch的创始人David Kaneda,以及Raphaël的创始人也已加盟Sench

nomasp 4176

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Sencha Touch 2 快速入门系列--索引

Sencha Touch 2 快速入门系列(一)-- 建立第一个Sencha Touch应用 Sencha Touch 2 快速入门系列(二)-- 组件(Components) Sencha Touch 2 快速入门系列(三)-- 组件之表格(Forms) Sencha Touch 2 快速入门系列(四)-- 组件之标签面板(TabPanel) Sencha

Ardy's 9444

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

开始Sencha Touch 2

这里,我主要是说一下Sencha Touch 2的开发环境的搭建以及基础的开发知识,很多内容也是看了官方文档学习的,目前国内没有讲解Sencha Touch 2开发的书籍,但最好的书籍就是官方提供的文档! 1、环境的搭建 以下内容是所需要的: (1)Sencha Touch 2.0 SDK, 目前处于开发者预览版本,可免费获得 (2)运行于自己电脑的WEB服务器 (3)比较新的浏览器,推

chenlong12580的专栏 2455

Sencha Touch 2 快速入门系列(七) -- 视图(View)

本文已添加至Sencha Touch 2快速入门系列索引:http://blog.youkuaiyun.com/ardy_c/article/details/7544470 转载请注明出处:http://blog.youkuaiyun.com/ardy_c/article/details/7929099 Application的架构 之前一直没有介绍Sencha Touch 2 Applicat

Ardy's 4653

Sencha Touch快速入门2.0之Sencha Touch App开发

Sencha Touch快速入门2.0之Sencha TouchApp开发是本文要介绍的内容,主要是来了解Sencha Touch的应用和使用方法,接触Sencha Touch已有近一个月的时间,在探索它的同时,走了不少的弯路。也有了不少的发现和体会。在此分享给各位,希望不管新手还是老鸟,都能在这篇文章里有所收获。 Sencha Touch简介 Sencha Touch可以让你的W...

angchanghui2104的博客 225

sencha touch安装使用

Sencha被翻译成“煎茶”,Sencha下有很多优秀的项目比如Complete 、Extjs、Touch、Animator、GXT 、Architect等其它相关产品。 Sencha Touch 2 作为一种高性能的 HTML5 移动应用程序框架,是 Sencha HTML5 平台的基础。 这里将简要介绍如何使用 Sencha Cmd创建Touch项目。 安装各种浏览器,有IE、firef

小新新的专栏 1366

Sencha Touch 2 快速入门系列(三)-- 组件之表格(Forms)

本文已添加至Sencha Touch 2快速入门系列索引:http://blog.youkuaiyun.com/ardy_c/article/details/7544470 转载请注明出处:http://blog.youkuaiyun.com/ardy_c/article/details/7497330 在应用中,很多时候需要和用户进行一些交互。表单(Forms)这个东西给我们提供了一个很好的接口。相

Ardy's 7752

Sencha Touch 2.3 中的坑

email : gm4linus at gmail dot com 近些日子由于工作原因接触了Sencha Touch,版本是2.1和2.3,相比于之前用过的1.1版本有了相当大的改变。公司的产品是用2.1版本开发的,现在要升级为2.3的Sencha Touch。本篇文章主要记载Sencha Touch2.3.0中一些有意思的陷阱,具体记录多少个要看我能遇到多少了。至于如何对待这些陷阱,我建

小姜哥的技术博客 2178

Sencha Touch 2.4实现自定图标指南

通过研究官方文档和时间总结得出,网上很多不是版本不对就是环境不正确。 阅读本文你需要了解一些基础知识:字体图标、Data Uri schema、sass 环境      sencha touch sdk:touch-2.4.1      Sencha Cmd:v4.0.5.87 前言(来自官方手册):         Adding Your Own Icons to Your

jiangtongcn的专栏 1157

Sencha Touch 2 快速入门系列(六)-- 数据(Data)

本文已添加至Sencha Touch 2快速入门系列索引:http://blog.youkuaiyun.com/ardy_c/article/details/7544470 转载请注明出处:http://blog.youkuaiyun.com/ardy_c/article/details/7631641 在开发一个应用的时候,很多情况下前端页面需要与后台进行数据交互,包括数据的读取和持久化。Sen

Ardy's 6951
上一篇: 国外hash(MD5、NTLM、LM、SHA)密码在线破解网站
下一篇: AJAX跨域请求-JSONP获取JSON数据
R先森
博客等级 码龄12年 193粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值