Web+, WebKit и Qt4

Полезность операционной системы определяется полезностью и количеством написанных для неё программ. В сентябре 2009 (когда вышла Haiku R1A1) их остро не хватало. К маю 2010 (Haiku R1A2) с острой нехваткой было покончено.

Web+, WebKit и Qt4. Фото.

Haiku отлично справлялась с большинством программ, написанных еще для BeOS, которые пролежали “в нафталине” почти десять лет. Они пробуждали воспоминания, ностальгию об ушедших временах, некоторыми из них даже можно было пользоваться, но подтвердить на примере доисторических программ для BeOS свою любимую ворчалку про “раньше писали лучше” я бы не смог.

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

Haiku, как воздух, были нужны современные программы. Пользователи, возвращающиеся из других платформ (Windows, macOS, Linux’ы), привыкли к другому уровню обслуживания.

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

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

Qt4, русский вклад в Haiku

Буквально через месяц после выхода Haiku R1A1, команда в составе трех человек, Евгения Абдураимова, Герасима Троеглазова и Антона Соколова объявила о завершении переноса в Haiku Qt4. Это кросс-платформенный фреймворк, облегчающий написание программного обеспечения сразу для нескольких платформ.

Web+, WebKit и Qt4. Qt4, русский вклад в Haiku. Фото.

Как и у всего в нашем мире, у Qt есть недостатки. Mac’овские программы, написанные на Qt, заметно отличаются от “родных”, написанных в Cocoa.

Даже в самых лучших Qt-приложениях, разработчики которых хотя бы пытались соблюсти требования Apple’овских HIG (Human Interface Guidelines), эти правила нарушаются сплошь и рядом. Но им это прощают.

Иначе VLC просто не было бы в macOS, а это одна из лучших программ для просмотра видео. QuickTime Player намного хуже – и если бы не несколько функций, не относящихся к просмотру видео, его бы даже не стоило упоминать.

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

Встретили Qt в Haiku… по разному – к чему происхождение авторов переноса отношения не имело. У Qt слава сомнительная, но на нем написана чуть ли не половина программного обеспечения на самых разных платформах (знаком с очень неглупыми людьми, всерьез собиравшимися писать программы для iOS, тогда еще iPhoneOS, в Qt – так как программу, с минимальными усилиями, можно было бы перенести в Android).

Но подавляющее большинство аборигенов страны Haiku восприняли это известие более чем положительно.

Перенос Qt4 в Haiku Евгений Абдураимов начал в апреле 2008. Герасим Троеглазов и Антон Соколов присоединились к нему через пару месяцев. Эта троица оставила много следов в репозитории Haiku.

Несколько слов о Qt: понимание как надо делать кросс-платформенную среду разработки пришло в голову двум норвежским инженерам, Ховарду Норду и Эйрику Шамбе-Энг еще в 1995 году. На скамейке в парке в городе Осло. Во второй половине 90-х они завершили разработку Qt, и отдали права на его продажу норвежской компании Trolltech.

В 2006 году компания прошла процедуру IPO (начального размещения акций) на бирже в Осло, и почти сразу её стали преследовать неудачи, от которых её спасла Nokia, поглотив Trollteсh в 2008 году.

Если вы уже забыли, в 2008 году наглый и самоуверенный тип по имени Стив сделал одну совершенно невозможную вещь, над которой все смеялись (в том числе и на Nokia), iPhone, даже без поддержки 3G, и с множеством очевидных недостатков, захватил 1% мирового рынка смартфонов. Предсказанное фиаско Apple не состоялось. Как минимум, оно было отложено: с продажами и долей рынка у Nokia все еще было безоблачно, но уже тревожно.

В 2011 компания Digia прибрела у Nokia бизнес-подразделение Qt, а через год – и все остальное. Зря Nokia не побежала вдогонку за iPhone в 2008…

В 2014 Qt Company стала автономным филиалом Digia, а в 2016 Qt Group Plc обрела независимость, и прошла IPO (начальное размещение акций) на бирже NASDAQ в Хельсинки (код пакета акций QTCOM).

WebPositive, он же Web+

Web+, WebKit и Qt4. WebPositive, он же Web+. Фото.

Исторический и широко известный веб браузер BeOS, NetPositive (Net+) был очень неплох для своего времени, и даже, в меру, эксцентричен. Сообщения об ошибках в Net+ были составлены в виде хайку. Правила жанра требуют туманности и неопределенности, так что идея была очень смелая. Net+ повлиял на выбор имени для новой операционной системы.

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

В Haiku R1A1 было несколько браузеров, самым лучшим был Links (создан в 1999 году чехом по имени Микулаш Паточка, в Haiku перенесли версию 2007 года). Кроме него, предлагались NetSurf, BeOS FireFox 2 (BeZillaBrowser) и Net+.

Для системы с претензиями на превосходство над другими системами этот момент был неприятен, но написание настоящего браузера, в стиле хайку решили перенести на “после релиза”. Новый фирменный браузер был уже придуман и продуман, но для его реализации требовались время и серьезные усилия.

Было решено строить браузер на движке WebKit (от Apple), который надо было переносить. За это взялся Райан Ливенгуд, в 2008 году.

В 2009 году, в рамках программы Google Summer of Code (GSoC), к работе по переносу WebKit подключился Максим Симон. Райан и Максим проделали огромный объем работы, можно было начинать разработку браузера – но портированный WebKit остро нуждался в оптимизации.

Google Summer of Code (GSoC) – программа, предоставляющая способным студентам заработать право на годовую стипендию. Студент должен был показать свои способности в проекте (или проектах, не более трех) по разработке программного обеспечения с открытым исходным кодом. Проекты, участие в которых засчитывается, должны были зарегистрироваться на Google и предоставить потенциальному стипендиату “ментора”, то есть, учителя и наставника.

Программу придумали Сергей Брин и Ларри Пейдж.

Получил ли Максим Симон стипендию – неизвестно, но в конце 2009 года WebKit был готов к боевому применению процентов на 70, и требовал оптимизации.

Разработка WebPositive (Web+) началась.

С переводом в формат хайку всех диагностических сообщений решили не заморачиваться, оставив это на потом. Насколько я в курсе, это “на потом” еще не наступило. Во всяком случае, в 2016.

Продолжение следует, Web+ в нем (а) будет дописан и (б) позволит еще нескольким студентам заработать себе стипендию.

История AppleКомпьютеры AppleОперационные системы Apple