AppleInsider.ru
X
О проекте Реклама
Чат
с читателями
Присоединяйтесь
в Телеграме

WebPositive, самый позитивный веб-браузер в мире

Путь к фирменному браузеру операционной системы Haiku был очень непростым. С 2001 по 2009, было предпринято несколько попыток заменить быстро устаревающий Net+ чем-то более современным. Только последняя из них была успешной.

NetPositive (Net+), штатный браузер BeOS, его разработчики считали временным решением, он не поддерживал ни Java, ни JavaScript, ни CSS. Системе срочно требовался браузер, с ресурсами было не слишком хорошо. Несмотря на его простоту, а может быть именно из-за неё, браузер получился неплохой. Надежный и неприхотливый.

Когда Microsoft, с пафосом и с ревом фанфар анонсировала ActiveDesktop (“живые” обои для своих операционных систем, на основе HTML), Be, Inc., немедленно добавила похожую функцию в свою операционную систему. Сообщив, что для её реализации потребовалось всего 9 строк кода, и 15 минут работы программиста. И небольшой фрагмент из Net+, о чем Жан-Луи мудро промолчал.

Microsoft, обратившаяся было в суд по поводу сворованного у неё функционала, предпочла отозвать иск.

История Net+ прервалась на официальной версии 2.2.2 (если верить википедии), или, если верить периодическим изданиям Be, на версии 2.2. Достоверно известно о версии Net+ для разработчиков с номером 3.0d.3, с несчетными исправлениями багов, выявленных в 2.х, с не менее несчетными собственными багами и поддержкой JavaScript – но у третьей версии судьба не сложилась.

В 2007 году авантюристы из Haiku, Inc. решили не включать Net+ в первую альфа версию, поскольку его недостатки, более или менее приемлемые в начале десятилетия, в конце нулевых делали древний браузер бесполезным. Вместо модернизации Net+, выбрали куда более непростой путь: было решено писать новый браузер, с нуля, на движке WebKit.

Мнения разделились, но победил именно этот вариант.

Это шестая часть серии про Haiku. Предыдущие части:

Битвы за браузер, проигранные

Скорее всего, самой первой попыткой создания нового браузера для BeOS, был проект NetOptimist, или, в лаконичном Be-стиле, NetO. У разработчиков был доступ к исходному коду Net+ 2.2, и оптимист был бы клоном этого браузера.

Если бы у его создателей не иссяк оптимизм, простите за каламбур. С добровольческими проектами такое случается очень часто. Творческий кризис, нехватка времени, что угодно. С 2002 года NetOptimist не подавал признаков жизни, скорее всего проект был прекращен. Хотя не факт. BlueEyedOS, клон BeOS и конкурент Haiku, практически не обнаруживая себя в публичном пространстве, успешно развивался до конца 2014 года. Об этом я узнал от Гийома Мэйара, возглавлявшего этот проект.

Второй попыткой стал проект Net++. А может быть, первым был именно Net++, но так как делить этим проектам нечего, разницы нет никакой.

Net++ разрабатывался для BeOS и её клонов. BlueEyedOS, Zeta, Haiku. Проект возглавлял Гийом Мэйар, он же разработал пользовательский интерфейс нового браузера, и написал почти половину его кода. Известен еще один участник проекта, Рожер-Андре Лассен.

Написать собственный веб-движок было нереально, времена самодеятельности в этой области уже прошли, а для переноса в клоны Be любого из существующих движков было нужно очень много времени и ресурсов.

Проект современного веб-браузера для BeOS, названного Themis, начавшийся при жизни BeOS, и продержался до января 2006. В Themis планировалась поддержка OpenSSL, CSS, JavaScript и Java, многопоточность и многое другое. Но в 2006 году проект остановился. В 2001 и 2002 в сообщениях о статусе проекта на SourceForge, чаще всего, сообщалось что проект еще жив.

В 2007 году, авантюристы из Haiku, Inc., обсудили и сформулировали проект браузера для Haiku, решив не бояться трудностей…

Битва за браузер, принесшая победу

Перенос WebKit в Be API был исключительно сложен. Во-первых, это массивный по объему и очень непростой исходный код. Во-вторых, внутреннему устройству Haiku отличается от других операционных систем. Наверное, больше ни в одной операционной системе в мире потоки не используются столь же творчески и повсюду.

А основа движка WebKit в этом вопросе очень консервативна. Потоки – опасная штука. Их применение, несмотря на сотни (а возможно, и тысячи) книг, написанных на эту тему, все еще очень опасный вид спорта. В некоторых из этих книг доказывается, убедительно и без вариантов, что потоки смертельно опасны, и их следует избегать.

Райан Ливенгуд и Максим Симон, стажер по программе GSoC-2009, справились с этой задачей. Кстати, Максим Симон получил стипендию, а его имя вписано в историю WebPositive.

Haiku, Inc можно было бы назвать кузницей кадров компьютерной индустрии, в 2009 году в проекте участвовало шесть стажеров GSoC-2009, пять из которых получили стипендию. В среднем, стипендию в том году получал один стажер из десяти.

Об одном из стажеров GSoC-2009 мы еще поговорим, с 2013 года он возглавляет проекты Web+ и HaikuWebKit.

HaikuWebKit был веткой проекта WebKit, но он настолько отличался от оригинала, что одно из преимуществ от применения быстро развивающегося движка с открытым исходным кодом было почти утрачено: изменения в коде основной ветки приходилось импортировать вручную.

Но это было внутренней проблемой группы HaikuWebKit.

Хуже было другое: даже после месяцев отладки и оптимизации, производительность HaikuWebKit оставляла желать лучшего. Виновник был найден, им оказалась отличная утилита cURL, используемая в WebKit. На других платформах, устроенных иначе, с cURL подобных проблем не было.

Вообще-то, своеобразное устройство Haiku (унаследованное от BeOS) – преимущество этих систем.

Было бы нелепостью откатывать операционную систему назад, и начинать все с начала, но замены для cURL пока не было.

Подумав, решили выпускать WebPositive таким, какой он есть.

Браузер был включен в состав R1/Alpha 2, или R1A2. Релизы Haiku разрешено обозначать любым из этих способов.

В сообщении об обновлении Web+ объявлялся с припиской о недостаточной “взрослости” браузера. На эту приписку журналисты и обозреватели внимание не обратили.

От первой альфа-версии WebPositive, в составе второй альфа-версии Haiku, они ожидали идеальной чистоты, производительности и заранее видели в нём убийцу если не Internet Explorer, то хотя бы Safari…

Не знаю, читали ли пресс-релиз пользователи, но их впечатления от браузера были скорее положительными. Кто-то из них назвал WebPositive самым позитивным браузером в мире. Я воспользовался этим сравнением.

История Web+ на этом не кончается, но в следующей части мы отвлечемся на подробное описание второй альфа-версии Haiku. Haiku R1A2.

Продолжение следует

Новости по теме
История о том, как всего 20 байт кода заставили Apple раздаривать фирменные чехлы для iPhone 4
Новости партнеров
Почему кошки застревают на деревьях, хотя забираются туда с лёгкостью?
Почему кошки застревают на деревьях, хотя забираются туда с лёгкостью?
Обычные инвесторы окончательно осознали риск обвала доллара. Что это значит для рынка криптовалют?
Обычные инвесторы окончательно осознали риск обвала доллара. Что это значит для рынка криптовалют?
Что можно взять на AliExpress за 100 рублей: подборка недорогих, но очень полезных товаров
Что можно взять на AliExpress за 100 рублей: подборка недорогих, но очень полезных товаров