欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Mozilla/developer
来自开放百科 - 灰狐
(版本间的差异)
小 (→编译) |
小 (→链接) |
||
(未显示1个用户的30个中间版本) | |||
第4行: | 第4行: | ||
[[Image:Animated-Firefox-Snow-Globe-125x125.png|right]] | [[Image:Animated-Firefox-Snow-Globe-125x125.png|right]] | ||
− | == | + | ==平台== |
+ | [[Firefox/4|Firefox4]] 源码的目录是 firefox-4.0.source/mozilla-2.0 | ||
*[https://wiki.mozilla.org/Mozilla_2 Mozilla 2] | *[https://wiki.mozilla.org/Mozilla_2 Mozilla 2] | ||
+ | *[https://wiki.mozilla.org/Platform Mozilla Platform] | ||
+ | *[https://wiki.mozilla.org/Roadmaps Mozilla 产品路线图] | ||
+ | |||
+ | ==移动== | ||
+ | *[[Firefox/mobile|Firefox Mobile]] 开发者相关 | ||
+ | *[[Boot to Gecko]] | ||
+ | |||
+ | ==扩展== | ||
+ | [[Mozilla/extensions|Mozilla/Firefox 扩展开发]] | ||
+ | |||
+ | ==安全== | ||
+ | [[mozilla/security|Mozilla/Firefox 安全]] | ||
+ | |||
+ | ==核心== | ||
+ | *DocShell | ||
+ | *[[DOM]] | ||
+ | *[[Gecko]] | ||
+ | *[[JavaScript]] | ||
+ | *Localization | ||
+ | *Mac OS X Development | ||
+ | *[[MathML]] | ||
+ | *Networking ([[Necko]]) | ||
+ | *Binary Plugins (including NPAPI) | ||
+ | *MailNews | ||
+ | *Quality Assurance | ||
+ | *[[RDF]] | ||
+ | *Security | ||
+ | *[[SVG]] | ||
+ | *Toolkit | ||
+ | *[[XPCOM]] | ||
+ | *[[XBL]] | ||
+ | *[[XUL]] | ||
+ | *[[XULRunner]] | ||
==编译== | ==编译== | ||
第60行: | 第94行: | ||
*运行 start-msvc9.bat 并进入 mozilla-2.0 目录 | *运行 start-msvc9.bat 并进入 mozilla-2.0 目录 | ||
*make -f client.mk build | *make -f client.mk build | ||
− | *编译成功后 mozilla-2.0\dist\bin 目录下会有firefox. | + | *编译成功后 mozilla-2.0\obj-i686-pc-mingw32\dist\bin 目录下会有firefox.exe生成,编译成功 :) |
*参考:[https://developer.mozilla.org/en/Build_and_Install Build and Install] | *参考:[https://developer.mozilla.org/en/Build_and_Install Build and Install] | ||
+ | |||
+ | ==技巧== | ||
+ | *在地址栏输入:chrome://browser/content/browser.xul | ||
+ | *在Firefox中使用远程的Socks代理的DNS,在地址 about:config 搜索dns,把remote dns改为True | ||
==图集== | ==图集== | ||
<gallery widths=100px heights=100px perrow=6> | <gallery widths=100px heights=100px perrow=6> | ||
Image:mozilla-platform.png|Mozilla Platform | Image:mozilla-platform.png|Mozilla Platform | ||
+ | Image:mozilla-architecture-and-concepts.png|Mozilla架构和概念 | ||
Image:mozilla-app-architecture-diagram.png|Mozilla应用架构 | Image:mozilla-app-architecture-diagram.png|Mozilla应用架构 | ||
Image:mozilla-submitting-patch-workflow.png|Patch流程 | Image:mozilla-submitting-patch-workflow.png|Patch流程 | ||
第71行: | 第110行: | ||
Image:scripting-in-mozilla.png|Mozilla的脚本 | Image:scripting-in-mozilla.png|Mozilla的脚本 | ||
Image:event-capturing-in-xul.png|XUL中的事件捕获 | Image:event-capturing-in-xul.png|XUL中的事件捕获 | ||
+ | Image:XUL-MVC.png|MVC in XUL | ||
Image:xpconnect-javascript-xul-app.png|XPConnect绑定JS和XUL到应用中 | Image:xpconnect-javascript-xul-app.png|XPConnect绑定JS和XUL到应用中 | ||
Image:mozilla-packaging-components.png|Mozilla应用包组件 | Image:mozilla-packaging-components.png|Mozilla应用包组件 | ||
第82行: | 第122行: | ||
Image:mozilla-signed-remote-applications.png|签名远程应用 | Image:mozilla-signed-remote-applications.png|签名远程应用 | ||
Image:Firefox-Main-Repositories.png|Main Repositories | Image:Firefox-Main-Repositories.png|Main Repositories | ||
+ | Image:Necko-Architecture.jpg|Necko架构 | ||
+ | Image:renderer-plugin-architecture.png|渲染插件体系 | ||
+ | Image:Gecko-SVG-Architecture.png|Gecko SVG | ||
+ | Image:Mozilla-and-Java.png|Mozilla和Java | ||
+ | Image:mozilla-build-system.png|Mozilla构建系统 | ||
+ | Image:Mozilla-Build-Run-Life-Cycle.png|Mozilla构建生命周期 | ||
+ | Image:mozilla-build-system-mac-minis.jpg|Mac Minis | ||
</gallery> | </gallery> | ||
第88行: | 第135行: | ||
*[https://hacks.mozilla.org/ Mozilla Hacks] | *[https://hacks.mozilla.org/ Mozilla Hacks] | ||
*[https://developer.mozilla.org/En/Developer_Guide Mozilla Developer Guide] | *[https://developer.mozilla.org/En/Developer_Guide Mozilla Developer Guide] | ||
+ | *[https://github.com/mozilla Mozilla @ GitHub] | ||
+ | *[http://www.mozdev.org/ mozdev.org] | ||
*[http://book.huihoo.com/creating-applications-with-mozilla/ Creating Applications with Mozilla] | *[http://book.huihoo.com/creating-applications-with-mozilla/ Creating Applications with Mozilla] | ||
+ | *[http://mb.eschew.org/intro Welcome to Software Development the Mozilla Way] | ||
*[http://docs.huihoo.com/mozilla/xul/xultu/index.html XUL Tutorial] | *[http://docs.huihoo.com/mozilla/xul/xultu/index.html XUL Tutorial] | ||
*[http://docs.huihoo.com/mozilla/xul/elemref/index.html XUL Element Reference] | *[http://docs.huihoo.com/mozilla/xul/elemref/index.html XUL Element Reference] | ||
第95行: | 第145行: | ||
*[http://mozilla.github.com/process-releases/draft/development_specifics/ Mozilla Firefox: Development Specifics] | *[http://mozilla.github.com/process-releases/draft/development_specifics/ Mozilla Firefox: Development Specifics] | ||
*[https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure Mozilla Source Code Directory Structure] | *[https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure Mozilla Source Code Directory Structure] | ||
+ | *[https://developer.mozilla.org/en/Mozilla_Coding_Style_Guide Mozilla Coding Style] | ||
+ | *[http://mozilla.com.cn/blog/2011/7/28/156/ 详解Firefox快速发布周期和模式] | ||
{{comment}} | {{comment}} | ||
− | [[ | + | [[category:developer]] |
− | [[ | + | [[category:mozilla]] |
+ | [[category:firefox]] |
2013年2月21日 (四) 14:27的最后版本
目录 |
[编辑] 平台
Firefox4 源码的目录是 firefox-4.0.source/mozilla-2.0
[编辑] 移动
- Firefox Mobile 开发者相关
- Boot to Gecko
[编辑] 扩展
[编辑] 安全
[编辑] 核心
- DocShell
- DOM
- Gecko
- JavaScript
- Localization
- Mac OS X Development
- MathML
- Networking (Necko)
- Binary Plugins (including NPAPI)
- MailNews
- Quality Assurance
- RDF
- Security
- SVG
- Toolkit
- XPCOM
- XBL
- XUL
- XULRunner
[编辑] 编译
需要安装的
- Microsoft Visual C++ Tools // VC7.1 (Visual Studio 2003), VC8 (Visual Studio 2005), VC9 (Visual Studio 2008)
- Microsoft Windows SDK(s)
- MozillaBuild
https://developer.mozilla.org/en/Windows_Build_Prerequisites
- http://developer.mozilla.org/en/docs/Build_Documentation
- http://developer.mozilla.org/en/docs/Creating_a_patch
安装好需要的软件后,进入c:\mozilla-build 目录:
- start-msvc8.bat or start-msvc8-x64.bat (VS 2005)
- start-msvc9.bat or start-msvc9-x64.bat (VS 2008)
- start-msvc10.bat or start-msvc10-x64.bat (VS 2010)
获得源码
配置Build选项
在 firefox-4.0.source/mozilla-2.0目录下创建:.mozconfig 文件,内容如下:
mk_add_options MOZ_CO_PROJECT=browser mk_add_options MOZ_MAKE_FLAGS="-j5" mk_add_options MOZ_CO_MODULE="mozilla/tools/update-packaging" mk_add_options MOZ_PACKAGE_NSIS=1 ac_add_options --enable-application=browser ac_add_options --enable-update-channel=nightly ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --disable-tests ac_add_options --enable-update-packaging --with-windows-version=600 // Windows SDK 版本为 6.0A
创建目录
dist\bin dist\host\bin 在dist\bin目录下创建 xpidl.exe.manifest、xpt_link.exe.manifest
在dist\host\bin目录下创建 mkdepend.exe.manifest,内容如下:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> </assembly>
或
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> </assembly>
编译和安装
- 运行 start-msvc9.bat 并进入 mozilla-2.0 目录
- make -f client.mk build
- 编译成功后 mozilla-2.0\obj-i686-pc-mingw32\dist\bin 目录下会有firefox.exe生成,编译成功 :)
- 参考:Build and Install
[编辑] 技巧
- 在地址栏输入:chrome://browser/content/browser.xul
- 在Firefox中使用远程的Socks代理的DNS,在地址 about:config 搜索dns,把remote dns改为True
[编辑] 图集
[编辑] 链接
- Mozilla开发者网络
- Mozilla Hacks
- Mozilla Developer Guide
- Mozilla @ GitHub
- mozdev.org
- Creating Applications with Mozilla
- Welcome to Software Development the Mozilla Way
- XUL Tutorial
- XUL Element Reference
- http://developer.mozilla.org/en/docs/Developing_Mozilla
- Hacking Firefox - http://developer.mozilla.org/en/docs/Hacking_Firefox
- Mozilla Firefox: Development Specifics
- Mozilla Source Code Directory Structure
- Mozilla Coding Style
- 详解Firefox快速发布周期和模式
<discussion>characters_max=300</discussion>
分享您的观点