当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > Opera 蜻蜓(Dragonfly)的总体架构

建站经验
建站经验分享:安装PHP环境的集合套件
CNNIC面向个人站长展开域名和网站情况调查
电子商务B2C网站与用户行为有关的2个公式
国内著名婚恋网站个人服务功能对比
做好分类信息网站必须要考虑的问题
提高商业网站用户回访率的7个运营策略
当前CN域名政策下个人站长生存空间狭窄
.htaccess文件:子目录绑定二级域名
恶意抢注知名企业域名是违法行为
建站经验:常见的国外主机提供商
CNNIC:抽检和重新审核新注册的CN域名
广告商赞助淫秽网站投广告超20条构成犯罪
地方社区电子商务化的模式和运营策略
MoFuse为你的博客创建免费的博客WAP版
网站建设知识:建设网站需要的成本构成
绿人网CEO:关于懂不懂互联网的问题
国内摄影分享网站POCO的利弊分析
大学毕业生创业办成人网站 等来13年牢狱之灾
GODADDY优惠:无最低金额直接优惠15%
新手入门:美国十大臭名昭著的主机提供商

建站经验 中的 Opera 蜻蜓(Dragonfly)的总体架构


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-26   浏览: 57 ::
收藏到网摘: n/a

简介

本文详细解释了 Opera 蜻蜓(Dragonfly)的总体架构,其中各个组件的作用和联系。

  • 架构概览
  • 调试方法
  • 本机
  • 远程
  • 组件
  • 运行时
  • 调试主机
  • Scope 模块
  • Scope 协议
  • 代理
  • 调试客户端

架构概览

Opera 蜻蜓(Dragonfly)是 Opera 软件公司提供的开发工具,它的架构使它既可以在平面电脑运行,也可以在手机等移动设备上运行。

一个 Scope 模块将传递出运行时的信息, 比如被调试 Opera 实例中的网页和应用。 这个实例作为调试的主机,为客户端提供信息。主机和客户端之间数据相互传输使用 Scope 协议规范和定义。

为了解决潜在的防火墙问题,一个代理会用来协调处理浏览器和调试器间的信息传递沟通。一个具体的应用实例是使用普通桌面电脑调试一个运行在手机上网页或者应用。

而客户端,如调试器,可以将信息视觉化并允许用户操作运行时环境。

主机和客户端可以运行在不同的设备上,而代理可以运行在任何两者中任一实例,也可以在单独服务器运行。


 调试方法

主要有两种调试方法:
本机:Scope,代理和调试器运行在同一个 Opera 实例中。
远程:Scope 和调试器运行在两个不同的 Opera 实例上,比如,两个不同的设备上。而代理可以运行在两实例之一,也可以在另外的独立计算机上运行。

本机

这是最常用和最典型的方法。开发者们正在开发网络应用,它可以正常运行于 Opera 浏览器。该调试器运行于相同实例中,显示在一个独立窗口或面板。

在这种情况下,调试主机,代理和客户端运行于同一个浏览器实例。Opera 选择一个随机端口运行代理,Scope 模块和调试器会自动连接它。

远程

这个方法的一种应用是可以调试手机上的网页或应用。手机一般屏幕很小,开发也很受限制,因此用桌面电脑来调试是一种方便的做法。

另一种可能性是在同一个设备上的一个 Opera 实例调试另一个 Opera 实例,这在调试实例濒临崩溃的时候非常有用。

远程调试方法可以分解为两种用法:
代理在两实例之一运行。
代理独立于实例运行,比如运行在公共服务器上。

第二种方法可以运用在,被调试实例和调试器隔防火墙运行的情况。

组件

此架构由下列组件构成:

  • 运行时
  • 调试主机
  • Scope 模块
  • Scope 协议
  • 代理
  • 调试客户端

每个 ECMAScript 环境都是一个单独的运行时。每个 HTML 文档也都关联一个独立的运行时。框架和 iframe 中的文档也有自己的运行时。

调试主机

调试主机可以是任何启用了 Scope 模块并且连接到代理的 Opera 实例。它可能包含多个运行时。

Scope 模块

Scope 模块是 Opera 程序的一部分。一旦启用,模块将向代理 URL 建立一个 socket 连接并检测调试主机上的任何运行时。之后它会将信息发送给调试器。它也会对调试器的特定命令作出响应,比如从选定节点下载 DOM。

Scope 协议

Scope 协议是一套用来在主机和客户端之间交换关于运行时信息的规则和格式。实例包括从运行时得到 DOM 文档结构,或者计算得到的样式集合。

Scope 协议仍在开发之中。一旦完成,它将被完全公开。之后其它厂商或开发者可以创建自己的调试客户端并将它们整合到程序中,如 IDE (例如 Aptana 或 Eclipse)。使用此 scope 协议,此类客户端可以收集到一个 Opera 浏览器的运行时信息。

代理

代理负责在浏览器和调试器之间中转信息。在远程调试方法中它非常重要,即调试主机和客户端不在同一个计算机上。

Opera 运行调试器的实例会提供一个内置的代理,但代理也可以运行在一个公共服务器上。这样,被调试实例和调试器可以均在防火墙之后。

怎样将主机和客户端连接到代理,请参见《Opera 蜻蜓简介》。

调试客户端

调试器即为客户端,它通过代理连接到调试主机的 scope 模块。它会接收到该实例的运行时信息。调试器将运行时信息可视化,允许用户修改。它通过 Scope 协议向 Scope 模块回送请求以实现其功能。

目前调试器的实现完全基于网络技术:HTML/XML,CSS 以及 JavaScript。