Инструкция
1
Браузер Firefox состоит из компонентов, написанных на языках C и C++. Главный же компонент программного пакета - «движок» Gecko - состоит целиком из кода, написанного на втором из этих языков. Большая часть исходных текстов как «движка», так и браузера в целом, подлежит так называемому тройному лицензированию. Это означает, что лицо, желающее использовать наработки программистов, имеет право самостоятельно выбрать наиболее удобную для него лицензию: MPL, GPL или LGPL. Но одно дело - программный код, а другое - товарные знаки. Условия их использования устраивают не всех разработчиков, поэтому некоторым из них приходится переименовывать браузер. Например, в Debian он носит название IceWeasel - «ледяной хорек».
2
Компонент Gecko поддерживает не только классический язык разметки HTML4, но и множество новых открытых веб-стандартов. Среди них - XHTML, HTML5 (частично), CSS, JavaScript, XML. Благодаря этому браузер Firefox третьим после Opera и Chrome прошел тест Acid3 с оценкой 100. Правда, случилось это после отмены проверки правильности отрисовки шрифтов в SVG-файлах.
3
Но «движок» занимается лишь расшифровкой кода страницы и преобразованием его в изображение, которое видит на экране пользователь. Программа, будь то браузер или узкоспециализированное приложение, взаимодействует, с одной стороны, с пользователем, обеспечивая диалог с ним через систему меню, а с другой - с «движком», передавая ему команды через интерфейс, называемый API (application programming interface), и через него же получая в ответ информацию, которую требуется отобразить. Благодаря этому, на основе Gecko выполнено не только несколько других браузеров, но и, например, приложение для обработки фотографий Picasa.
4
Firefox не был бы самим собой, если бы не поддерживал плагины. Это касается не только Java и Flash, но и небольших дополнений, разработанных специально для этого браузера и предназначенных для осуществления самых различных действий - от показа прогноза погоды до синтеза речи. Взаимодействие с ними осуществляется также на уровне API. Программисты пишут плагины на различных языках, включая JavaScript и XUL (разновидность XML). Встроенный в браузер менеджер дополнений позволяет быстро добавлять и удалять плагины.
5
Благодаря тому что Firefox полностью написан на языках C и C++, он является кроссплатформенным. Это означает, что он может быть скомпилирован для работы на различных операционных системах. Среди них - не только Linux, BSD, Mac OS X и Windows, но и такие экзотические программные платформы, как RISC OS или HP-UX.