和其他的Sencha开发人员一样,我会花费大约半天的时间在我喜欢的IDE工具上编写JavaScript,而另一半时间则是在浏览器上测试和调试我的应用程序。

在过去几年,每一个主要的浏览器都已大为改善。现在,HTML 5已跨越所有浏览器获得了持续的支持,JavaScript的性能也很好,而且开发人员工具也比以往任何时候都好。

Google Chrome往往是许多开发人员的首选(这个译者有保留),这没有什么奇怪的,原因是他们在思考他们的开发工具已经有相当的一段时间了。Chrome开发人员工具在展示DOM元素、CSS规则、JavaScript源代码及其他方面做了相当出色的工作(译者注:整体感觉不如firebug)——不过,直到近期,Sencha开发人员才真正在应用程序运行时去剖析他们这方面获得小小的帮助。

几个月前,Sencha的专业服务团队开始探索一些更智能的用来调试客户应用程序的想法,而这促成了应用程序监测(App Inspector)的诞生。

我们的团队决定将这工具作为非营利基金会、Sencha实验室的一部分分享给大家,这样,任何人都可以为他贡献自己的力量。针对Sencha的应用程序监测 2.0既支持Ext JS(4.x)的应用程序,也支持Sencha Touch(2.x)的应用程序,而且现在已经可以使用了。

译者注:在Chrome应用市场搜索App Inspector可找到这扩展

功能

调试Sencha应用程序最困难的地方就是浏览器的开发人员工具理解不了高层次的抽象的对象,如组件、布局、数据和观察者事件。

尽管存在Sencha生态系统的其他调试工具,如Illuminations for DevelopersExt JS Page AnalyzeSencha Fiddle这些,但这些都不能填补专业服务器团队的迫切需求。针对Sencha的应用程序监测的目的不是去取代这些工具,因为这些工具各有特色,具体不同的功能和使用场景,它的主要目的是通过易于使用的工具去协助你去分析和了解任何Ext JS和Touch应用程序。

作为一个免费的Chrome扩展,Sencha应用程序监测有助于你通过以下方式去调试应用程序:

  • 组件监测:快速、轻松地导航组件树,在DOM中高亮显示组件,且可以查看他们的属性。
  • 存储(Store)监测:在应用程序中查看数据存储并能展示单个记录。
  • 布局配置:对应用程序的布局进行智能分析,以便确定潜在的性能问题和现实问题。
  • 事件监控:记录观察者事件。

Sencha应用程序监测还能检测在应用程序使用的框架或包的版本,这样就可以很容易识别个别应用程序的规范。

由Sencha构建的Sencha

虽然Sencha应用程序监测是Chrome开发者工具的一个扩展,但很重要的一点是,它是使用Sencha技术构建的。

Chrome开发者工具的扩展的架构包含两个部分:背景页和DevTools页。除了这两部分可以相互交互,他们也可以以不同方式与监测窗口交互。

在背景页,包含了用来初始化扩展和监视监测窗口事件的持久性代码(例如页面刷新)。背景页会通过postMessage API将监测窗口相关的信息传达到DevTools页。

在DevTools页,包含了Chrome开发者工具的各个实例所需的代码(即每个浏览器选项卡)。Sencha应用程序监测的整个界面是使用Sencha架构和Ext JS构建的,包含了许多主题的修改。一些功能类(特定于Ext JS或Touch)为了能通过inspectedWindow API使监测的应用程序与DevTools页进行通信也被重新编写。

最后,但并非不重要的是,我们使用了Sencha Cmd结合Node.js和Grunt去实现生成处理的自动化。我们的代码必须先通过JSHint验证,然后应用层恒旭运行一个生产生成,最后与所有额外的资源一起打包为Chrome Web Store部署包。我们甚至使用JSDuck生成了一些内部文档。

该项目主要的目的是展示Sencha技术,使用它们可以轻松的来创建强大的应用程序,因此,有可能就来看看我们的代码并查看我们的截屏视频。我们希望你能提供一些反馈,并做出贡献。

原文:App Inspector for Sencha Touch and Ext JS Developers

作者:Arthur Kay
Arthur Kay has been working with the Web since the late 1990s, when GeoCities and scrolling marquees were all the rage. Since those early days, Arthur graduated from Loyola University Chicago (where he studied Music and Computer Science) and has worked in a variety of professional roles throughout the Internet industry. Arthur currently lives in the Chicago suburbs and works as a Solutions Architect for Sencha, Inc.

【翻译】为Ext JS和Sencha Touch开发人员准备的应用程序监测(App Inspector)的更多相关文章

  1. 【翻译】在Ext JS和Sencha Touch中创建自定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  2. 【翻译】在Ext JS和Sencha Touch中创建自己定义布局

    原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置 ...

  3. 初探 Ext JS 6 (sencha touch/ext升级版)

    Sencha Touch 现在已全面升级至Ext Js 6,那么我们如何使用他们呢? 首先去官网下载最新的sdk和帮助文档 sdk下载地址:https://www.sencha.com/product ...

  4. 再探 Ext JS 6 (sencha touch/ext升级版) 变化篇 (编译命令、滚动条、控制层、模型层、路由)

    从sencha touch 2.4.2升级到ext js 6,cmd版本升级到6.0之后发生了很多变化 首先从cmd说起,cmd 6 中sencha app build package不能使用了,se ...

  5. 【翻译】Ext JS 6 Beta发布

    原文:Ext JS 6 Beta is Now Available 概述 Ext JS 6的好处 新的Ext JS功能和工具 需要你的反馈意见 概述 很高兴,Ext JS 6 beta版本现在发布了. ...

  6. 【翻译】Ext JS 6早期访问版本发布

    早期访问版本是什么 如何参与 都包括什么 Sencha Ext JS 6 Sencha Pivot Grid Sencha Cmd 6 JetBrains IDE插件 反馈 原文:Announcing ...

  7. 【翻译】Ext JS 5的平板支持

    原文:Ext JS 5 Tablet Support Ext JS已被公认为桌面Web应用程序的领先框架.自从平板开始在全球挑战PC的销售,无论是个人还是企业,电脑横向的应用已经产生急剧的变化.Sen ...

  8. 【翻译】Ext JS最新技巧——2014-8-13

    原文:Top Support Tips Greg Barry:新的框架. 新的文档类型(Doctype) 在Ext JS 5,只支持IE8+,因此不再古力用户使用严格的HTML文档类型.现在,推荐使用 ...

  9. 【翻译】Ext JS 6有什么新东西?

    工具包ToolKits 发布 包的命名 Fashion 图表 ItemEdit插件 网格 电子表格 可操作模式Actionable Mode和可访问性 LazyItems插件 屏幕阅读器支持可访问性 ...

随机推荐

  1. 从Dynamics CRM2011到Dynamics CRM2016的升级之路

    CRM的产品更新特别快,特别是最近的几个版本,很多客户依旧停留在2011甚至是4.0,也经常会听到有人问2011能不能升级至最新版,2013能不能升级至最新版,本文将简单演示下从2011升级到2016 ...

  2. Programming In Scala笔记-第十九章、类型参数,协变逆变,上界下界

    本章主要讲Scala中的类型参数化.本章主要分成三个部分,第一部分实现一个函数式队列的数据结构,第二部分实现该结构的内部细节,最后一个部分解释其中的关键知识点.接下来的实例中将该函数式队列命名为Que ...

  3. Appium移动自动化框架初探

    作者:cryanimal QQ:164166060 本文简要介绍了appnium自动化框架的架构.加载流程.支持语言.相关配置,以及元素定位工具等. 官方网站: http://appium.io Ap ...

  4. Android快速关联V4包的方式

    很多时候需要管理v4包,当然有很多种办法去关联.本人觉得最快速的方式,是通过添加配置文件的方式.只需要ctrl+c和ctrll+v就能解决了 方法如下: 1.新建一个android-support-v ...

  5. FFmpeg的HEVC解码器源代码简单分析:解码器主干部分

    ===================================================== HEVC源代码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpe ...

  6. UNIX环境高级编程——初始化一个守护进程

    #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h&g ...

  7. 发现----Android Demo

    时间悄悄的走,转眼来实习已经三个月了,三个月的时间,小编慢慢的成长着,从刚开始的电商项目到现在的车段子项目,小编在走过一个又一个项目的同时,走过了一个又一个战胜自己的奇迹,每次遇到一个新的技术点,小编 ...

  8. Tomcat内核之ASCII解码的表驱动模式

    我们知道Tomcat通信是建立在Socket的基础上,而套接字在服务器端和客户端传递的报文都是未经过编码的字节流,每8位组成1个字节,计算机以二进制为基础,这是由于使用晶体管的开合状态表示1和0,这样 ...

  9. 05 Activity 回传数据

    当从一个Activity跳转到第二个Activity后然 让其处理完业务逻辑回传数据给第一个Activity: 回传调用方法顺序: onActivityResult--->>onResta ...

  10. 07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存

     事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出mul ...