我想学习FireFox的内部工作原理,想要了解源代码和不同的组件,但是代码库非常庞大,不知道从哪里开始。
我想知道是否有任何来自Firefox团队或社区外部的指南。
我已经稍微看了一下:https://developer.mozilla.org/En,但我没有找到什么明确的“从这里开始”的东西。我只是试图因[自我]教育的目的而查看他们的代码库。
我想学习FireFox的内部工作原理,想要了解源代码和不同的组件,但是代码库非常庞大,不知道从哪里开始。
我想知道是否有任何来自Firefox团队或社区外部的指南。
我已经稍微看了一下:https://developer.mozilla.org/En,但我没有找到什么明确的“从这里开始”的东西。我只是试图因[自我]教育的目的而查看他们的代码库。
多伦多的塞内卡学院开设了一个针对初学者的Mozilla开发项目。
以下是一些相关链接:
如果你想要深入学习,可以尝试以下实验室:
实验室:现实世界的Mozilla - 将Chrome添加到第一个XPCOM组件中
如果需要帮助,请使用IRC:irc.mozilla.org上的#seneca频道。不要担心您不是(Seneca)学生,世界各地的许多人(来自Seneca、Mozilla和其他机构的人)都在这个频道里,目的是教育开发人员有关开源的知识,特别是Mozilla项目。
祝你好运!
编辑:XUL文档与HTML文档非常相似(只是更加如此!)在与用户交互和事件方面。有一个文档模型用于动态修改 XUL,还有事件模型具有事件侦听器。两者的行为都像HTML + DOM +其事件模型一样,但具有更丰富的内置对象/接口/事件等。事件处理程序是特定类型的接口,并且可以由Javascript对象实现(在XUL中声明为onclick="blah()"
或通过Javascript调用addEventListener()
动态添加 - 在Firefox中与HTML事件完全相同的语法),也可以由C++或其他可以实现具有适当接口的XPCOM对象的语言实现。
一种开始的方法是查看Firefox中最近修复的一些错误(请参见Bugzilla),并查看它们是如何被修复的。
话虽如此,Firefox的代码库非常庞大,可能没有一个人能够完全理解它,因此最好从一个小部分(比如收藏夹)开始,尝试找到相关代码并查看其工作原理。同样,解决的错误和它们影响的文件将是识别一些相关代码的好方法。
https://air.mozilla.org/search/?q=tag%3A+TorontoBootcamp
他们不是很新手,但我认为他们仍然可以提供帮助。