Історія створення та розвитку браузера Mozilla Firefox. Історія створення браузера Firefox Історія версій mozilla

Його називають «Огнеліс», «ФФ» та «Мозилла». Одні користувачі вважають браузер Mozilla Firefox Найгіршим з того, що коли-небудь було створено, наводячи як аргументи масу проломів у безпеці та любов програми до фатальних помилок. Протиборча сторона називає цей браузер ідеальним, ставлячи його в один ряд найкращими програмамидля та серфінгу в . Давно помічений психологічний ефект, що важко пояснити: варто людині якийсь час пропрацювати в Firefox, як він назавжди в нього закохується. Стаючи його прихильником, шанувальником та адептом.

Сьогодні інтернет-браузер Mozilla Firefox займає третє місце в світі за популярністю серед усіх і впевнене перше місце - в номінації «Вільне ПЗ».

Втім, є країни, де популярність Firefox вища за загальносвітову. Так, скажімо, у Росії Firefox – другий, а в Німеччині – і зовсім перший. Саме про те, що передувало такій славі цієї програми, ми сьогодні з вами і поговоримо.


Створення Firefox. початок

А історія Firefox почалася з того, що в компанії Netscape Communications дуже хотіли створити браузер, який відхопив би якийсь шмат пирога у неймовірно популярного Internet Explorer. Так-так, я не помилився, все вірно: браузер IE в кінці XX століття був вкрай, просто-таки фантастично, популярний.

Цілком природно, що інші компанії робили все, щоб повторити цей успіх. Так, скажімо відверто, браузер Netscape 5 сутичку з Internet Explorer в 1998 році провалив повністю, але все ж таки не зник безслідно - саме на його «останках» почалося створення нової програмидля серфінгу в Мелітопіль. Точніше, програма, по суті, писалася, що називається «з нуля», від Netscape 5 були взяті лише деякі ідеї та шматки відкритого програмного коду. В основі ж сучасного браузера Firefoxлежить вільно портований двигун Gecko.

До 2002 року розвиток нового браузера йшло ні хитко, ні валко. Як це часто буває, мотиваційним стусаном для посиленої роботи над проектом стала криза. У 2002 році корпорація AOL Time Warner, яка володіла Netscape Communications, вирішила закрити збитковий проект. Проте розробки нового браузера не згорнули, а виділили в окрему структуру Mozilla Foundation.

До речі, корпорація AOL Time Warner дуже допомогла новій компанії на початковому етапі. комп'ютерною технікою, Давши деякі початкові кошти і передавши права на інтелектуальну власність.


Створення Firefox. Продовження

Саме з моменту набуття самостійності розвиток проекту і став набирати серйозні обороти. Вже 23 вересня 2002 року було випущено першу версію 0.1. Відверто сказати, перший реліз не привернув увагу ні широкої публіки, ні фахівців. Мало того, програма була настільки «сирою», що багато змін вносилися розробниками буквально на повному ходу, в момент використання програми. Звичайно ж, це згодом спричинило деякі проблеми із сумісністю. І все ж таки початок було покладено: браузер побачив світло і почав активно розвиватися.

З датою в історії браузера Mozilla Firefox можна сміливо вважати 9 листопада 2004 року. Цього дня вийшла найперша стабільна версія 1.0. Вибачте за штампи, але поява цієї версії за своїм ефектом була схожа на ефект від бомби, що розірвалася. Новий браузернастільки полюбився користувачам, що за рік його встановило понад 100 000 000 чоловік. 25 мільйонів завантажень Firefox набрав за перші 100 днів після розміщення програми в Інтернеті. Великі цифри.

Потім були версії 1.5 (2005 рік); 2.0 (2006); 3.0 (2008); 4.0 (2011) і таке інше. Кожна з версій щось покращувала, оптимізувала, втягувала у свою орбіту нові ОС і додаткові функції. На березень 2014 року браузер Firefox налічує вже 27 стабільних версій, кожна з яких лише збільшувала армію шанувальників програми.

І цікаво, що назва Firefox була далеко не першою. Зараз уже мало хто знає, але спочатку браузер називався Phoenix («Фенікс»), потім - Firebird («Жар-птиця») і лише після того, як обидві ці назви були відкинуті через порушення авторських прав розробниками, і з'явилася відома всьому інтернет-спільноті мила вогненна лисиця. Яка, до речі, не лисиця, а мала панда. Принаймні, саме так вважають китайці, з яких дослівно і перекладено назву.

Творці Firefox

На сьогоднішній день над підтримкою функціональності та розширенням можливостей браузера працюють як співробітники Mozilla Foundation, так і волонтери з усього світу. І все ж у браузера є свої «батьки», яких прийнято вважати творцями Firefox. Їх лише двоє - Блейк Аарон Росс і Дейв Х'юїт. Думаю, вони заслуговують на кілька слів.

Ніж я спробував згадати цікаві факти, які стосуються браузера Firefox:

Firefox: прогнози на майбутнє

З сьогодні, коли в IT-сфері крутяться колосальні кошти, кожне успішне рішеннясхоже на відкриття справжньої золотої жили. І браузер Firefox у цьому випадку не виняток. Вже не перший рік ведеться посилена робота з його популяризації та інтеграції з мобільними пристроями. Поширюється обсяг спеціальних розширень, доступних для власників браузера. Активно ведеться медійний посів, завдяки якому зростання популярності Mozilla Firefox постійно збільшується.

Загалом, якщо стежити за статистикою завантажень, можна зробити висновок, що вже дуже скоро на нас чекає черговий «переділ сфер впливу». Враховуючи те, що власники Firefox вкрай рідко переходять на інші системи веб-серфінгу, можна очікувати значного стрибка популярності цього дійсно дуже незвичайного і самобутнього браузера.

  • Файли аудіо/відео.ogg, а також .pdf файли тепер обробляються Firefox, якщо для них не вказано жодну з програм (тільки для Windows);
  • На сторінку нової вкладки додано форму для пошуку в Інтернеті;
  • Реалізовано та включено WebVTT;
  • Підтримка змінних у блоках CSS. З'явилася можливість створення змінних із префіксом «--» (раніше пропонувався «var-») та можливість їх подальшого використання за допомогою інструкції var().;
  • CSP 1.1 nonce-source та hash-source включені за замовчуванням;
  • Діалоги, породжені подією напередпочатку, більше не блокують доступ до решти браузера;
  • Інструменти розробника: До палітри кольорів додано інструмент Піпетка;
  • Інструменти розробника: редагована Box Model;
  • Інструменти розробника: Покращено Редактор коду;
  • Інструменти розробника: Консольне трасування стека;
  • Інструменти розробника: Копіювання як cURL;
  • Інструменти розробника: - Стилізація логів консолі;
  • Інструменти розробника: Налагоджувач доповнень;
  • Інструменти розробника: Налагоджувач Canvas;
  • Виправлено пошук частково виділеного тексту посилання з контекстного меню.
  • Додано можливість оновлення сторінки синхронізованих вкладок потягуванням зверху донизу;
  • Додано підтримку перегрупування панелей на домашній сторінці(about: home);
  • Інтеграція збирача сміття Generational Garbage Collector, який дозволяє досягти більш високої продуктивності та зменшити споживання пам'яті у ситуації зберігання великої кількості об'єктів, що живуть короткий час;
  • В оптимізуючому модулі OdinMonkey для коду, що використовує стиль asm.js, задіяно новий додатковий рівень оптимізації (backtracking allocator), що дозволяє забезпечити якіснішу генерацію машинних інструкцій під час роботи JIT. Негативною стороною нового методу є підвищення часу компіляції і більш висока ресурсоємність через складніші методи пошуку оптимального рішення, тому даний метод не використовується за умовчанням для звичайного коду, але цілком застосовний для Asm.js. У тесті octane-zlib включення нового рівня оптимізації дозволило підняти продуктивність з 45000 до 50000 балів;
  • Задіяно нову бібліотеку mozilla::pkix для перевірки коректності цифрових сертифікатів. Нова бібліотека відрізняється вищою надійністю рахунок перевірки всіх доступних ланцюжків перевірки сертифікатів. Код бібліотеки написаний на C++ і становить лише 4167 рядків, що помітно спрощує її супровід (колишня бібліотека була надмірно ускладнена і складалася з 81865 рядків через те, що транслювалася з Java на C);
  • Частково реалізовано таблицю OpenType MATH (розділ 6.3.6), докладніше в документації про математичні шрифти та MathML Torture Test;
  • Додані переклади наступними мовами: асамська, бенгальська, гуджараті, хінді, каннада, майтхілі, малаялам, маратхі, орія, панджабі, тамільська, телугу;
  • Видалено інфраструктуру CAPS для визначення специфічних для сайтів дозволів (через параметри capability.policy.*). Зокрема спроби використовувати цю функціональність для надання доступу до буфера обміну більше не спрацюють. Єдиним винятком є ​​дозвіл checkloaduri, який все ще може бути використаний як і раніше, щоб дозволяти сайтам завантажувати URI типу file://;
  • Firefox Hub API;
  • Реалізовано та включено WebVTT;
  • Підтримка змінних у блоках CSS. З'явилася можливість створення змінних із префіксом «--» (раніше пропонувався «var-») та можливість їх подальшого використання за допомогою інструкції var();
  • За умовчанням включена підтримка інтерфейсу navigator.sendBeacon, для асинхронної передачі з браузера на сервер невеликих порцій даних;
  • Для масивів додано підтримку Array.prototype.fill(), призначеного для заповнення всього масиву або частини його елементів певним значенням;
  • Новий вбудований об'єкт Object.setPrototypeOf();
  • CSP 1.1 nonce-source та hash-source включені за замовчуванням.

Спочатку браузер називався "Phoenix" ("Фенікс"). Через деякий час браузер був перейменований на "Firebird" ("Жар-птиця") через конфлікт торгових знаків, але і ця назва пізніше була змінена на "Firefox" з аналогічної причини. Однак і Firefox виявилося торговим знаком The Charlton Company у Великобританії, що було відображено в діалозі Про програму.

Firefox ("вогненна лисиця") - дослівний переклад з кит, піньінь hǔo hú, яким китайці іноді називають руду лисицю та малу панду, на честь якої, за словами розробників, і названий браузер. Firefox краще скорочувати як "Fx" або "fx", а не "FF" або "FX".

Найчастіше в побуті браузер помилково називають "Мозілла".

Проект Firefox був започаткований Блейком Россом (англ. Blake Ross) і Дейвом Хайєтом (англ. Dave Hyatt), коли вони працювали в Netscape Communications, що була у складі AOL Time Warner. З моменту закриття Netscape Communications весь проект Mozilla управляється створеною тоді Mozilla Foundation, до якої належать торгові знаки Mozilla Firefox.

Firefox був виділений із Mozilla Application Suite, код якого був створений з нуля в Mozilla Organization замість коду Netscape Communicator 5, частина якого була випущена під вільною ліцензією Mozilla Public License після поразки у «війні браузерів».

У браузері використовується вільний движок Gecko, що портується, створений з урахуванням підтримки відкритих стандартів. Розробка Firefox ведеться співробітниками її дочірньої компанії Mozilla Corporation та добровольцями по всьому світу.

Історія версій:

Firefox 1.0

Firefox 1.0 (кодова назва «Phoenix») був прямим спадкоємцем Mozilla Suite 1.7 (працював на движку Gecko 1.7) і мав досить багато спільного з ним в інтерфейсі користувача - наприклад у вікні налаштувань кнопки були розташовані не горизонтально (як зараз), а вертикально, у традиції Mozilla. Серед покращень – менеджер розширень, можливість автоматичного оновлення шляхом завантаження інсталятора нової версії.

Гілка 1.0.х була єдиною (на даний момент), в якій розробники вносили серйозні зміни в API прямо на ходу, під час активного використання, що призвело до часткової несумісності розширень для Fx 1.0.3 з версіями 1.0.4-1.0.8

На даний момент більше не підтримується, має значну кількість невиправлених дірок безпеки та морально застаріла.

Firefox 1.5

Firefox 1.5 (кодова назва Deer Park) був випущений 29 листопада (за іншими даними 30 листопада) 2005, регулярно виходили оновлення протягом півтора року.

Поліпшення у версії 1.5:

Вбудована система автоматичного поновлення.
Прискорена та покращена навігація.
Сортування вкладок за допомогою механізму Drag and drop.
Покращено блокувальник спливаючих вікон.
Функція Clear Private Data видаляє персональної інформації.

31 травня, стали доступними широкому загалу Firefox 1.5.0.12 і Firefox 2.0.0.4 через систему автоматичних оновлень. Це стандартні оновленнябезпеки та стабільності. Також 1.5.0.12 є останньою версією гілки 1.5. Firefox 1.5.0.12 вже містить у собі покращений механізм оновлень, який дозволить користувачам «мігрувати» на Firefox 2 установкою спеціального патчу. Оновлення до гілки 2.x було запропоновано користувачам 28 червня 2007 року.

Firefox 2

25 жовтня 2006 р. вийшов Firefox 2.0 (кодова назва - Bon Echo). За першу добу, що минула з моменту офіційного випуску браузера, його завантажили понад 2 мільйони разів. Він побудований на базі вдосконаленого двигуна Firefox 1.5 – Gecko 1.8.1. У ньому покращено підтримку JavaScript, SVG, XML, трохи змінено дизайн браузера, введено систему захисту від фішингу, розроблену компанією Google. Спочатку планувалося додати сучасну систему закладок під назвою Places, але через труднощі її налагодження вона була включена тільки в Firefox 3.0 (червень 2008). Додано перевірку орфографії тексту у веб-формах.

Firefox 3

2 квітня 2008 року випущено цілком стабільну версія Firefox 3.0 Beta 5, яка була включена в ОС Ubuntu 8.04 та Fedora 9.

У бета-версіях змінено формат випадаючого списку автодоповнення адрес за замовчуванням, і покращено алгоритм автодоповнення. До beta 4 реалізовано залежність позиції результату від того, що вибирає користувач, ввівши певний пошуковий рядок.

Додана можливість використовувати системні налаштуваннядоступу через проксі-сервер (змінне середовище $http_proxy) на платформі Linux, і радіо-кнопка для її вибору у відповідному діалозі, що відображається тільки якщо встановлена ​​змінна.

Розширення «DOM Inspector» прибрано зі стандартного постачання. Тепер воно доступне у додатках.

16 травня був випущений перший кандидат у релізи - Firefox 3.0 RC1, який вже завантажили понад 1,5 млн осіб. У ньому було виявлено 10 серйозних помилок (зокрема три критичні помилки). Фінальна версія мала вийти тільки після виправлення всіх помилок.

Одна з цих помилок насправді є поєднанням особливостей реалізації fsync в Linux, використання fsync в SQLite версії 3.5.8, і наслідків вимоги цієї версії SQlite декількома збірками Firefox незадовго до 3.0 RC1.

«У цій збірці зменшено обсяг пам'яті, який займає під час роботи, і значно підвищено продуктивність», - сказав віце-президент Mozilla Майк Белцнер. У RC2 були додані автоматичні лічильники циклів пам'яті, системи дефрагментації пам'яті, і навіть змінено близько сотні фрагментів коду (через які відбувалися витоку пам'яті). Також браузер отримав додаткові механізми безпеки під час роботи із захищеними веб-сторінками. Закладки, історія веб-активності, куки та паролі тепер зберігаються у захищеному форматі. Перегляду піддався движок JavaScript.

Було випущено реліз-кандидат 3. У цій версії виправлено помилку зависання браузера в операційній системі Mac OS X 10.5.3, версії для Windows та Linux залишилися незмінними.

17 червня 2008 вийшов Firefox 3, заснований на платформі Gecko 1.9, яка розроблялася протягом останніх 34-х місяців. Нова платформа включає більше 15000 змін, що покращують продуктивність, підвищують стабільність і точність відображення вмісту, що спрощують і покращують код. Використання нової платформи зробило Firefox 3 більш безпечним, простим у використанні та легко настроюваним продуктом з безліччю різноманітних можливостей для розробників веб-сайтів та додатків до Firefox.

Firefox 3.5

Firefox 3.5 – наступний стабільний випуск, який вийшов 30 червня 2009 року. Кодова назва – Shiretoko. Версія Gecko – 1.9.1.

Цей реліз Firefox вийшов під версією 3.5, а не 3.1, як заплановано спочатку.

Таке рішення було ухвалено з метою точніше підкреслити численні зміни, внесені з моменту виходу Firefox 3.0 влітку минулого року. Сюди відноситься ряд змін в управлінні вкладками, виправлення в сумісності з веб-стандартами, сильно перероблений JavaScript движок, а також покращення конфіденційності, що включають новий приватний режим, що дозволяє користувачам видалити всі особисті дані наприкінці сесії.

Крім того, у фінальній версії браузера змінився логотип на новий. Зображення в цілому залишилося незмінним, за винятком хвоста лисиці, що символізує вогонь, що охоплює планету Mozilla.

Firefox 3.6

Firefox 3.6 – наступний стабільний випуск, який вийшов 21 січня 2010 року. Кодова назва – Namoroka. Версія Gecko – 1.9.2.

На стадії тестування реліз згадувався під версією 3.2.

Основними особливостями Firefox 3.6 є:

Поліпшення продуктивності: зменшення часу запуску браузера та відкриття вкладок, збільшення чуйності під час виконання команд користувача.

Підтримка легковажних тем, що не вимагають перезапуску браузера (Personas), тісніша інтеграція з Windows 7 і Mac OS 10.6, виправлення в розумному рядку адреси і формі автозаповнення.

Firefox 4.0

Версія наступна за Firefox 3.6. Її вирішено було випустити під версією 4.0, а чи не 3.7, як планувалося на стадії альфа-тестування. Вийде Firefox 4.0 на початку 2011 року.

Одним із ключових напрямів у розробці стали численні виправлення в інтерфейсі. Наприклад, планується помістити панель вкладок у рамку вікна, позбутися рядка стану, буде перероблено менеджер доповнень. Також буде додано можливість угруповання відкритих вкладок.

У базове постачання браузера буде включено розширення Firefox Sync, який дозволить користувачам синхронізувати свої закладки, список відкритих вкладок, історію та збережені паролі між кількома комп'ютерами та мобільними телефонами.

Крім того, Firefox 4.0 буде включений новий движок JavaScript Jägermonkey, який підвищить швидкість виконання JavaScript-коду в кілька разів.

  • Файли аудіо/відео.ogg, а також .pdf файли тепер обробляються Firefox, якщо для них не вказано жодну з програм (тільки для Windows);
  • На сторінку нової вкладки додано форму для пошуку в Інтернеті;
  • Реалізовано та включено WebVTT;
  • Підтримка змінних у блоках CSS. З'явилася можливість створення змінних із префіксом «--» (раніше пропонувався «var-») та можливість їх подальшого використання за допомогою інструкції var().;
  • CSP 1.1 nonce-source та hash-source включені за замовчуванням;
  • Діалоги, породжені подією напередпочатку, більше не блокують доступ до решти браузера;
  • Інструменти розробника: До палітри кольорів додано інструмент Піпетка;
  • Інструменти розробника: редагована Box Model;
  • Інструменти розробника: Покращено Редактор коду;
  • Інструменти розробника: Консольне трасування стека;
  • Інструменти розробника: Копіювання як cURL;
  • Інструменти розробника: - Стилізація логів консолі;
  • Інструменти розробника: Налагоджувач доповнень;
  • Інструменти розробника: Налагоджувач Canvas;
  • Виправлено пошук частково виділеного тексту посилання з контекстного меню.
  • Додано можливість оновлення сторінки синхронізованих вкладок потягуванням зверху донизу;
  • Додано підтримку перегрупування панелей на домашній сторінці (about: home);
  • Інтеграція збирача сміття Generational Garbage Collector, який дозволяє досягти більш високої продуктивності та зменшити споживання пам'яті у ситуації зберігання великої кількості об'єктів, що живуть короткий час;
  • В оптимізуючому модулі OdinMonkey для коду, що використовує стиль asm.js, задіяно новий додатковий рівень оптимізації (backtracking allocator), що дозволяє забезпечити якіснішу генерацію машинних інструкцій під час роботи JIT. Негативною стороною нового методу є підвищення часу компіляції і більш висока ресурсоємність через складніші методи пошуку оптимального рішення, тому даний метод не використовується за умовчанням для звичайного коду, але цілком застосовний для Asm.js. У тесті octane-zlib включення нового рівня оптимізації дозволило підняти продуктивність з 45000 до 50000 балів;
  • Задіяно нову бібліотеку mozilla::pkix для перевірки коректності цифрових сертифікатів. Нова бібліотека відрізняється вищою надійністю рахунок перевірки всіх доступних ланцюжків перевірки сертифікатів. Код бібліотеки написаний на C++ і становить лише 4167 рядків, що помітно спрощує її супровід (колишня бібліотека була надмірно ускладнена і складалася з 81865 рядків через те, що транслювалася з Java на C);
  • Частково реалізовано таблицю OpenType MATH (розділ 6.3.6), докладніше в документації про математичні шрифти та MathML Torture Test;
  • Додані переклади наступними мовами: асамська, бенгальська, гуджараті, хінді, каннада, майтхілі, малаялам, маратхі, орія, панджабі, тамільська, телугу;
  • Видалено інфраструктуру CAPS для визначення специфічних для сайтів дозволів (через параметри capability.policy.*). Зокрема спроби використовувати цю функціональність для надання доступу до буфера обміну більше не спрацюють. Єдиним винятком є ​​дозвіл checkloaduri, який все ще може бути використаний як і раніше, щоб дозволяти сайтам завантажувати URI типу file://;
  • Firefox Hub API;
  • Реалізовано та включено WebVTT;
  • Підтримка змінних у блоках CSS. З'явилася можливість створення змінних із префіксом «--» (раніше пропонувався «var-») та можливість їх подальшого використання за допомогою інструкції var();
  • За умовчанням включена підтримка інтерфейсу navigator.sendBeacon, для асинхронної передачі з браузера на сервер невеликих порцій даних;
  • Для масивів додано підтримку Array.prototype.fill(), призначеного для заповнення всього масиву або частини його елементів певним значенням;
  • Новий вбудований об'єкт Object.setPrototypeOf();
  • CSP 1.1 nonce-source та hash-source включені за замовчуванням.