和其他的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. PHP+MySQL 分页那点事

    分页技术随处可见,这可以算得上是最为基础的网站功能了.于是今天尝试着用PHP来实现一个分页的小例子. 准备工作 环境准备 Apache MySQL PHP 工作环境 数据库准备 建库 建表 预存数据 ...

  2. 详解EBS接口开发之供应商导入(补充)--错误信息处理

    check reject details on records of AP_SUPPLIER_INT SELECT s.parent_table,s.reject_lookup_code,S.LAST ...

  3. Android简易实战教程--第二十二话《自定义组合控件模拟qq登录下拉框和其中的一些”小技巧”》

    转载此文章请注明出处:点击打开链接   http://blog.csdn.net/qq_32059827/article/details/52313516 首先,很荣幸此专栏能被CSDN推荐到主页.荣 ...

  4. 菜鸟学习物联网---辨析基于Andriod 5.1,Linux,Windows10开发Dragon Board 410c板

    点击打开链接 诸位亲最近怎么样?刚过完年上班是不是很不情愿?自古做事者,不唯有坚韧不拔之志,亦或有超世之才.所以,诸位好好加油.今天小编想给大家系统性总结一下Dragon Board 410c板基于A ...

  5. Android中FrameAnimation动画的使用

    Frame Animation 表示帧动画,是顺序播放事先做好的图像,跟电影类似,Android SDK提供了另外一个类AnimationDrawable来定义使用Frame Animation. 下 ...

  6. iOS开发之音频播放AVAudioPlayer 类的介绍

    主要提供以下了几种播放音频的方法: 1. System Sound Services System Sound Services是最底层也是最简单的声音播放服务,调用 AudioServicesPla ...

  7. I/O操作之文件压缩与解压

    与文件压缩与解压相关的类在java.util.zip包下 实例 //文件压缩 import java.io.File; import java.io.FileInputStream; import j ...

  8. MySQL数据库内置函数

    mysql数据库中提供了很丰富的函数.mysql函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作. 简单介绍几类函数的 ...

  9. linux下JAVA开发的环境配置

    1.去http: //java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-ex ...

  10. python复杂网络库networkx:基础

    http://blog.csdn.net/pipisorry/article/details/49839251 其它复杂网络绘图库 [SNAP for python] [ArcGIS,Python,网 ...