欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Mozilla/developer
来自开放百科 - 灰狐
(版本间的差异)
小 (→Mozilla 2) |
小 (→链接) |
||
(未显示1个用户的11个中间版本) | |||
第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 | [[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/Platform Mozilla Platform] | ||
+ | *[https://wiki.mozilla.org/Roadmaps Mozilla 产品路线图] | ||
==移动== | ==移动== | ||
− | [[Firefox/mobile|Firefox Mobile]] 开发者相关 | + | *[[Firefox/mobile|Firefox Mobile]] 开发者相关 |
+ | *[[Boot to Gecko]] | ||
==扩展== | ==扩展== | ||
第94行: | 第96行: | ||
*编译成功后 mozilla-2.0\obj-i686-pc-mingw32\dist\bin 目录下会有firefox.exe生成,编译成功 :) | *编译成功后 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 | ||
==图集== | ==图集== | ||
第104行: | 第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应用包组件 | ||
第119行: | 第126行: | ||
Image:Gecko-SVG-Architecture.png|Gecko SVG | Image:Gecko-SVG-Architecture.png|Gecko SVG | ||
Image:Mozilla-and-Java.png|Mozilla和Java | 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> | ||
第135行: | 第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>
分享您的观点