Подтвердить что ты не робот

Как работает FireFox? Прохождение исходного кода?

Я хотел бы узнать, как FireFox работает за кулисами. Я хотел бы понять исходный код и различные компоненты, но база кода довольно большая, и я не уверен, с чего начать.

Мне интересно, есть ли какая-то прогулка, написанная кем-либо из команды firefox или вне сообщества.

Я немного посмотрел на: https://developer.mozilla.org/En, но я не вижу ничего, что кричит "Начни здесь". Я просто пытаюсь пересмотреть свою кодовую базу для [самостоятельных] образовательных целей.

4b9b3361

Ответ 1

В колледже Seneca в Торонто есть программа, ориентированная именно на это - начинающих разработчиков Mozilla.

Ознакомьтесь с некоторыми из этих ссылок:

Real World Mozilla

Недельное расписание за 2008 год

Некоторые лаборатории, если вы хотите погрузиться прямо в:

Лаборатория: Обучение совместному развитию (осень 2008)

Лаборатория: создание проектов с открытым исходным кодом (осень 2008)

Лаборатория: Real World Mozilla - чтение исходного кода

Лаборатория: работа с патчами

Лаборатория: погружение в Mozilla - отладка Mozilla

Лаборатория: исправление ошибок Thunderbird

Лаборатория: изменение браузера

Лаборатория: изменение Firefox с помощью расширения

Лаборатория: Real World Mozilla - Первый компонент XPCOM

Лаборатория: Real World Mozilla - добавление хром к первому компоненту XPCOM

Если вам нужна помощь, используйте IRC: #seneca на irc.mozilla.org. Не беспокойтесь, если вы не студент (Seneca), много людей по всему миру (люди из Сенеки, люди из Mozilla и другие) находятся на этом канале, цель состоит в том, чтобы обучить разработчиков об открытом источнике в целом и проект Mozilla.

Удачи!

Ответ 2

Здесь приведен верхний ответ (большинство других - снизу вверх):

Firefox - это приложение XUL (см. также: XUL); XUL - это вариант XML, используемый для описания GUI, который интерпретируется средством визуализации, подобно тому, как HTML отображается в браузере, но XUL включает в себя меню браузера, кнопки, строку состояния, сочетания клавиш и т.д. Это довольно аккуратно; Я смог собрать несколько простых графических приложений гораздо быстрее в XUL, чем в других средах (и он независим от платформы!).

Если вы посмотрите в каталоге приложений Firefox (где бы вы его не установили в своей системе), вы увидите каталог "chrome" с кучей файлов .jar. Это только .zip файлы с определенной структурой (включая манифест), и вы можете сами просмотреть их.

Большая часть браузера Firefox на самом деле XUL + Javascript. Он использует множество библиотек более низкого уровня, написанных на С++ и доступных для Javascript через XPCOM, но если вы хотите понять (и изменить) поведение более высокого уровня, вероятно, место для запуска XUL + Javascript./p >

edit: p.s. вот несколько руководств/ссылок для XUL: 1 2 и также O'Reilly book

edit: документы XUL очень похожи на документы HTML (только больше!) в том, как они взаимодействуют с событиями пользователя+. Там модель документа для динамически изменяет XUL, и есть модели событий, которые имеют прослушиватели событий. Оба действуют так же, как HTML + DOM +, его модель событий, но с более богатым набором встроенных объектов/интерфейсов/событий/и т.д. Обработчики событий являются интерфейсами определенного типа и могут быть реализованы объектами Javascript (объявленными в XUL с помощью onclick="blah()" или динамически добавленными вызовами Javascript на addEventListener()) - оба являются точно такими же синтаксисом, как HTML-события в Firefox ) или С++ или другими языками, которые могут реализовать объекты XPCOM с соответствующими интерфейсами.

Ответ 3

Один из способов начать - посмотреть на некоторые исправленные ошибки в Firefox (см. Bugzilla) и посмотреть, как они были исправлены.

Это сказало. Кодовая база Firefox очень большая, и, вероятно, никто ее не понимает, поэтому было бы неплохо начать с небольшого раздела (например, избранное) и попробовать найти код для него и посмотреть, как это делается работает. Опять же, исправленные ошибки и файлы, на которые они влияют, будут хорошим способом для идентификации некоторого соответствующего кода для начала.

Ответ 4

Я работал с кодом mozilla (точно mozilla/nss/security). насколько мое понимание мозиллы идет:

Он следует за многоуровневой архитектурой с уровнем NSPR (Netscape Portable Runtime) внизу, который взаимодействует с операционными системами.

получить исходный код с сайта https://developer.mozilla.org/En/Download_Mozilla_Source_Code и создать его в рабочей среде (насколько я знаю, он поддерживает большое количество платформ/архитектур)

присоединиться к сообществу разработчиков Mozilla/попытаться помочь в тестировании некоторых компонентов.

для кода для mozilla, пройдите: http://www.mozilla.org/hacking/ (стандарты совместимости С++ являются обязательными, если вы программист на С++).

надеюсь, что некоторые из вышеперечисленных могут помочь вам начать работу.

Ответ 5

Недавно был выпущен набор видеороликов (начиная с начала 2015 года), который просматривает некоторые из компонентов Mozilla Firefox. Может быть, вы были бы заинтересованы в них.

https://air.mozilla.org/search/?q=tag%3A+TorontoBootcamp

Они не очень новичок, но все же могут быть полезны, я думаю.