我不想构建Thunderbird功能。我只是想构建一个具有插件功能,跨平台,易于安装的项目。是否有任何文件指向Firefox或Thunderbird的开发?
我知道Thunderbird是用C ++构建的,那么我怎样才能获得这些图形和所有其他功能。
请帮帮我。
答案 0 :(得分:4)
您可以在此处浏览Firefox的源代码:
http://mxr.mozilla.org/firefox/source/。
和雷鸟:
http://mxr.mozilla.org/seamonkey/source/。
无论如何,如果您想构建一个带插件的便携式应用程序,我建议您忘记尝试复制Mozilla并学习Qt或wxWidgets。
答案 1 :(得分:4)
本着其他答案的精神,我不得不指出Mozilla提供了用于构建应用程序的平台,包括Firefox和Thunderbird, - 请参阅XULRunner。
使用XULRunner
以下是在XULRunner之上构建的部分应用程序列表:XULRunner Hall of Fame。
为了回答您的原始问题,Mozilla平台通过指定一组跨平台API(例如(过度简化)XUL用于接口定义)并在每个平台上实现每个API,在许多平台上提供丰富的功能。
从头开始实现这样一个跨平台层是很多的工作,所以你应该选择一个在答案中提到的跨平台解决方案,而不是试图查看和复制Thunderbird的实现。这里(Mozilla,Eclipse,QT,wxWidgets等)
每个人都有自己的优点和缺点,在不了解您当前的专业知识和要求的情况下,不可能为您挑选一个。
答案 2 :(得分:2)
Eclipse RCP可以很好地构建具有插件功能的丰富的跨平台客户端应用程序。 Eclipse RCP基于 Java 和SWT技术。
Here是使用Eclipse RCP构建的应用程序列表。还可以使用RCP构建演示邮件客户端here。另一个使用RCP构建的优秀软件是RSSOwl,一个提要阅读器。
答案 3 :(得分:1)
在选择开发的语言/平台时,我认为需要考虑以下几点:
C ++只是一种很棒的语言。其余的(利用丰富的图形等)是学习......
答案 4 :(得分:0)
许多选择和其他人已经提出了好主意。 Java将使您的生活(合理)变得简单,但C / C ++以牺牲需要抽象API为代价为您提供更多功能。
我应该小心 - 一旦你致力于一套技术并在没有重写的情况下做了一些认真的开发,你可能很难对你的应用进行更改。例如,如果您选择C和Apache Portable Runtime,则可能很难转换为其他内容。同样,如果您在swing中编写UI,转换为SWT / Eclipse将意味着重写UI。我不想劝阻你,只是添加一个警告,我认为x-platform应用程序需要非常仔细的计划。
一些注意事项r.e. Mozilla树也是。 Thunderbird / Firefox等基本上是使用不同的组件从同一个源代码树构建的。 Mozilla构建系统非常复杂,在我看来比Linux内核更加复杂。因此,曼努埃尔关于忘记Mozilla的建议很好,除非他们的路线能够获得一些东西。
答案 5 :(得分:0)
Mozilla的类别管理员可以很容易地为您的应用程序添加插件支持,但就像其他海报所说的那样,在到达目的地之前,您将有一个可以爬山的公平山。