Mozilla/developer

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(编译)
(链接)
 
(未显示1个用户的33个中间版本)
第4行: 第4行:
 
[[Image:Animated-Firefox-Snow-Globe-125x125.png|right]]
 
[[Image:Animated-Firefox-Snow-Globe-125x125.png|right]]
  
==Mozilla 2==
+
==平台==
 +
[[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]]
  
 
==编译==
 
==编译==
Requirements
+
需要安装的
 
* Microsoft Visual C++ Tools // VC7.1 (Visual Studio 2003), VC8 (Visual Studio 2005), VC9 (Visual Studio 2008)
 
* Microsoft Visual C++ Tools // VC7.1 (Visual Studio 2003), VC8 (Visual Studio 2005), VC9 (Visual Studio 2008)
* Microsoft Windows SDK(s) // Microsoft Windows Server 2003 R2 Platform SDK
+
* Microsoft Windows SDK(s)  
 
* MozillaBuild
 
* MozillaBuild
 
https://developer.mozilla.org/en/Windows_Build_Prerequisites
 
https://developer.mozilla.org/en/Windows_Build_Prerequisites
第24行: 第58行:
 
配置Build选项
 
配置Build选项
 
*[https://developer.mozilla.org/en/Configuring_Build_Options Configuring Build Options]
 
*[https://developer.mozilla.org/en/Configuring_Build_Options Configuring Build Options]
在 firefox-4.0.source/mozilla-2.0目录下创建:.mozconfig
+
在 firefox-4.0.source/mozilla-2.0目录下创建:.mozconfig 文件,内容如下:
内容如下:
+
 
  mk_add_options MOZ_CO_PROJECT=browser
 
  mk_add_options MOZ_CO_PROJECT=browser
 
  mk_add_options MOZ_MAKE_FLAGS="-j5"
 
  mk_add_options MOZ_MAKE_FLAGS="-j5"
第40行: 第73行:
 
  dist\bin
 
  dist\bin
 
  dist\host\bin  
 
  dist\host\bin  
  在dist\bin目录下建立
+
  在dist\bin目录下创建 xpidl.exe.manifest、xpt_link.exe.manifest
xpidl.exe.manifest
+
在dist\host\bin目录下创建 mkdepend.exe.manifest,内容如下:
xpt_link.exe.manifest
+
在dist\host\bin目录下建立mkdepend.exe.manifest,内容全部如下:
+
 
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 
   <dependency>
 
   <dependency>
第63行: 第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.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
  
 
==图集==
 
==图集==
 
<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流程
第74行: 第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应用包组件
第85行: 第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>
  
第91行: 第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]
第98行: 第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:Mozilla]]
+
[[category:developer]]
[[Category:Firefox]]
+
[[category:mozilla]]
 +
[[category:firefox]]

2013年2月21日 (四) 14:27的最后版本

MDN.png

MozillaFirefox 开发者相关

Animated-Firefox-Snow-Globe-125x125.png

目录

[编辑] 平台

Firefox4 源码的目录是 firefox-4.0.source/mozilla-2.0

[编辑] 移动

[编辑] 扩展

Mozilla/Firefox 扩展开发

[编辑] 安全

Mozilla/Firefox 安全

[编辑] 核心

[编辑] 编译

需要安装的

  • 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

安装好需要的软件后,进入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

[编辑] 图集

[编辑] 链接

Comment-32x32.png

<discussion>characters_max=300</discussion>

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱