Firefox的扩展能成为新的客户端开发和部署的平台?

Tech @ 23 January 2007, “5 Comments”

应该说Mozilla 产品线(包括Firefox,Thunderbird,Sunbird/Lightning等)能否成为客户端开发的平台?

想到这个问题是因为正好工作上的项目有可能要开发一个客户端,首先想到的几个可能的选择:

  1. Win32应用,在福州倒是不难找到熟练的Delphi工程师,开发应该也很快。但感觉有点落后,另外团队里没有熟练的Delphi/VB程序员,也未必有兴趣去学,开发上的经验和代码也不大可能能在将来的项目上用到,为这个客户端专门招聘一个工程师也说不过去;
  2. Java Swing,优点是工程师们已经熟悉Java了,而且跨平台(okay,就算是了)。缺点是团队除了我自己在上个世纪的经验(几乎忘光)之外没有多少Swing实战经验,其次Swing应用未必是那么容易开发而且慢和占内存(据说Java6进步很大,还没时间研究),然后还有个部署(首先就是得在客户机器上装JRE)的问题;
  3. .NET Windows Forms,.NET framework现在在很多电脑上都有了(吧?),开发上C#与Java很接近,中文资料文档网络上下也很丰富,开发速度(考虑prototyping等过程)也不会慢,虽然开发过程中积累的经验和代码在将来“或许”还有用,但还是要程序员去把.NET捡起来。

然后突然想起,这个客户端是否可以考虑用Firefox的扩展来做呢?想到的优点有:

  • 工程师熟悉Javascript, CSS,实际工作中其它项目里天天在用;
  • 界面开发上XUL不难,也不算难看;
  • 绝对的跨平台(从Unix/Linux,Windows,到Mac);
  • 成熟的安装,更新机制(这点很重要);
  • 数字签名机制;
  • Firefox的一些扩展(Firebug,Console2,Extension Developer,Javascript Debugger等)结合起来提供了足够好的开发环境;
  • 对程序员来说,应该更有趣味性和挑战性,而且没有浪费(见第一点);
  • 扩展很轻小;

当然,这个项目是否能用Firefox要看最终用户能否接受(也许最终还是选择前面说的三个选择之一)。重点是对我来说,项目开发里客户端的开发和部署方案又多了一个值得考虑的选择,虽然这个方案解决的问题有限,不能满足或者适合所有客户端的需求(比如需要连接本地关系型数据库,哦,等等,改用XML+XPath+XQuery?… )。

对了,还有一个好处:推广Firefox!:D

5 Responses to “Firefox的扩展能成为新的客户端开发和部署的平台?”

  1. shunz Says:

    恩,一个比较有创意的想法。

  2. number5 Says:

    The Venice Project(现在改名叫Joost)就是基于Mozilla平台开发的,效果很棒。

    不过XUL的memory leak也是很出名的,调试不会很轻松的

    如果实在要用Java的话就用SWT吧,从Eclipse的实际效果来看,比Swing好不止一点点。

  3. Yining Says:

    Bruce,

    我想到的还只是依赖Firefox作为开发和部署的平台,因此memory leak也不是太大问题。独立的基于Mozilla平台的应用开发还是太难了,首先是资料和工具太少。

    SWT是不错,我居然没想到,看来是离Java越来越远了 :D

    BTW, FF有个Leak Monitor扩展。

  4. danzhu Says:

    呀,这个事情,我们公司在6年前就做过,做了一个GUI界面配置Apache的客户端。

    从技术上来说肯定是可行的, 可以跨平台,也不难看,技术也不算很难。确实就是没有IDE,特别是javascript的很好的IDE环境,也没有太多资料,入手可能慢些。但前途就不好说了,至少我们那个时候是放弃了,对当时那个项目来说,没有找到很好的商业前景吧。

  5. Yining Says:

    Hi Danzhu,

    哇噻,六年前,就是2000年,真的是非常超前。那时候Pheonix都还没或者刚刚出来,我接触Javascript还得等好几年。

    你们做的应该是跟Bruce说的一样,用Mozilla的平台开发的独立的桌面应用吧。GUI客户端配置Apache难度很大的说,强啊!

Leave a Reply