专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » thunderbird:浅谈基于Mozilla ThunderBird的扩展开发 »正文

thunderbird:浅谈基于Mozilla ThunderBird的扩展开发

来源: 发布时间:星期四, 2009年1月15日 浏览:34次 评论:0
  我目前主要从事基于Mozilla ThunderBird邮件客户端扩展开发可惜国内对于基于Mozilla平台扩展开发关注度很小而且其中大部分都是做基于firefox下扩展当然不可否认其实两者区别不是很大毕竟是基于同样Mozilla内核构建起来

  以前虽然对firefox扩展性有所耳闻但也只是听说而已没有任何研究这几天对于ThunderBird些研究让我对Mozilla这个平台肃然起敬其UI和逻辑分离高度可扩展性思想确实很棒但由于资料稀少研究人也不多造成像我新手望而却步开始为了编译成功其源代码为了实现个最简单“hello world”扩展都耗费了大量时间和精力(我读各种各样文档就花了时间了累死了)更有甚者得不到资料方面支持放弃了对这个平台研究

  本文就是希望能为像我这样希望进入这个平台新手们提供个”敲门砖“

  对于Mozilla平台下thunderbird和firefox源代码编译问题请参考我这篇文章:

  Window下编译ThunderBird源代码 

  Thunderbird和firefox编译思路方法都是只是参数区别而已请记住对我们来说最重要是Mozilla平台

  此外再介绍个优秀基于Thunderbird扩展--Enigmail对于我们新手来说阅读前辈代码不失为个好思路方法编译思路方法见我这篇文章:

  Windows下编译Enigmail源代码

  好了现在开始进入正题如何基于Mozilla平台开发个简单扩展呢?先来谈谈涉及到技术:

  1)XUL:它是“XML化用户界面语言(XML User Interface Language)”缩写这是种以平台无关性为目标用来描述用户界面语言现在被广泛地应用于 Mozilla 平台再有Mozilla 本身界面就是用 XUL 进行描述

  2)CSS:它是“层叠样式表(Cascading Style Sheets)”缩写这是种可以通过规则来控制 HTML/XUL/XML 等显示外观语言

  上述两种技术是用来负责控制界面个是用来描述界面个用来在被描述界面上加入些界面效果(如:字体颜色是否透明边框大小等)

  3)DOM:它是“文档对象模型(Document Object Model)”缩写这是个允许通过脚本来动态访问和更新 HTML/XML 文档内容结构和样式接口

  DOM 主要用来为 JavaScritp 提供个 HTML/XML 文档操作接口并且它也可以用来操作 CSS由于扩展界面是由 XUL 定义而 XUL 只是 XML 个特殊应用所以我们也可以通过 DOM 来对扩展界面进行“动态”操作(如:按钮禁止和否动态装载数据等)同时又有许多文件和数据会采用 XML 进行存储和传输所以创建和分析 XML 文档又显得尤为重要通过 DOM 接口我们可以将逻辑处理部分和界面表现部分有机结合起来

  4)XPCOM:它是“跨平台组件对象模型(Cross -platform Component Object Model)”缩写它很像微软提出组件模型技术但它是跨平台即其运行环境可以不依赖于某种特定操作系统平台

  由于 JavaScript 语言只内置了几个和本地访问无关对象而对于桌面开发来说显然不能满足要求而 XPCOM 为面向桌面开发提供了这种可能并且它使开发出扩展可以跨平台运行而不用依赖于某个特殊操作系统只有使用 XPCOM我们扩展才可以做出实用功能没有 XPCOM本地和远程资源整合可以说是不可能虽然扩展开发是用 JavaScript 来做但每个封装对象或可能都要 XPCOM 对象来完成特定功能

  5)XPConnect:种将 XPCOM 和 JavaScript 连接起来技术该技术允许组件被脚本化而且能够用 JavaScript 来进行组件开发

  6)XBL:它是“可扩展绑定语言 (Extensible Binding Language)”缩写

  7)RDF:它是“资源定义框架(Resource Definition Framework)”缩写Mozilla 使用这种文件格式来保存扩展注册信息和描述信息等

  8)JavaScript:使用 JavaScript 开发扩展是编程语言首选JavaScipt 是扩展开发核心部分它主要用来实现业务逻辑描述起着粘合剂功能可以说从网页下 JavaScript 开发到扩展下 JavaScript 开发种由轻量级到重量级转变

  其中很多东西想必大家都熟悉可有点区别值得注意在Mozilla平台下不是用这些东西来做网页的类而是进行桌面开发!确切地说开发扩展都是面向桌面应用

  对于更为详细介绍请参阅基于 Mozilla 扩展开发可以说这篇文章是目前国内对Mozilla平台最为出色技术文章了值得我们好好研究我这里也是大部分结合他这篇文章在thunderbird上完成开发

  作者篇文章却帮助了无数像我这样新手在这里特别向作者Lewis Lv致敬!

  好了现在我们开始进入”Hello World”世界!先看看我们要实现效果图就是在thunderbird菜单中插入我们自定义菜单项.



  最后当然是安装了点击thunderbird“工具“—”附加软件Software“就可以从本地xpi文件安装这个”hello world”插件了.



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: