[recovery mode] Зачем Opera WebKit

Недавно мне мой коллега прислал ссылку на видео где «какой-то сотрудник из Опера, почти час, рассказывает Зачем Опере Вебкит»: www.youtube.com/watch? v=Y70JypQCy08 Само видео повергло меня в бурю эмоций, если кому интересны мои мысли по поводу — прошу под кат. В самом начале рассказа речь идет о Blink. О том, что его форкнули от Webkit и сейчас он используется в Opera. Т.е., что не сам Webkit, а его ответвление — Blink (из некоторых источников я знаю что Opera 14 работает на Chromium и кто врет не знаю). Одной из его прелестей — способность работать на старых версиях Android. Чего не может Chromium (могла ли это Opera не упоминается). Еще несколько «крутых» фич Blink это возможность сжимать трафик.  — На счет сказанного я думаю, что Opera все же умела работать на старых Android-ах, хотя меня это не совсем волнует. Но вот возможность сжимать трафик сомнительный плюс, т.к. это должен уметь и сервер тоже или же гнать трафик через сжимающий прокси. Как-то не впечатляющие костыли. Дальше говориться о том что Netscape проиграл Internet Explorer-у.  — Я начал понимать к чему клонит рассказчик — мол с Opera происходит та же картина. Но там совсем другая история. Microsoft встроила Internet Explorer в Windows, так же как и Netscape, он был бесплатен. Я не думаю, что кому-то была какая-то разница чем пользоваться в то время. Лучше было пользоваться тем, что уже есть, нежели качать еще что-то, о котором мало кто знал. Интернет трафик был дорогой и такие решения были оправданы. Потом было сказано что Netscape написали движок Gecko.  — Я подумал. Так написали, а не форкнули. Далее было сказано, что Apple форкнула KHTML и сделала Webkit. Было сказано, что KHTML был разработан разработчиками KDE, и что он был хорош тем, что был составлен из малого количества кода, в сравнении с другими движками.  — Честно говоря, это не показатель, тем более, что с доработками (а он очень глюкавый) он может догнать все остальные, а дорабатываться он будет в любом случае. И часть моих мыслей была подтверждена. Рассказчик сказал, что, что бы удовлетворить требования дизайнеров, Web-разработчикам приходилось не сладко, т.к. в их дизайнеров был зачастую Macbook. На котором стоял Safari браузер (время на видео ~ 9:50), который работал на очень глюкавом Webkit-е.  — Здесь я не удавился чаем, который пил, во время просмотра. Так какого черта??? — подумал я. Какого черта Opera переходит на этот долбаный Webkit??? Дальше было сказано, что в 2007 году Webkit исправился.  — Ага — подумал я, вспоминая недавний (больше чем полгода назад, но идет речь о 2007 г.) запуск своего проекта под Safari браузер. А мой проект не работал только под Internet Explorer, на который я забил. После долгих мучений под Safari, я забил и на него — никаких закономерностей глюков я не нашел. В отличии от Internet Explorer, под который я б мог все исправить, но было одобрено заказчиком не делать этого — проект для внутреннего пользования, а там все и так сидели на Mozilla. К тому же команда, от начальства, перейти на Mozilla всем поголовно была, так что я вздохнул с облегчением. Рассказчик добавил, что 2007 г. Webkit был портирован для Windows (если не ошибаюсь, самим Apple).  — Все просто жить без него не могли — подумал я. Google в 2008 г. взяла Webkit и сделала на нем Google Chrome. Webkit бажил и никого не интересовал.  — А как же «в 2007 году Webkit исправился»? Google Chrome, Safari имеют общие корни, но не один и тот же движок. Webkit был одним движком, который использовался обоими браузерами, но со временем он расслоился на две ветки: Chromium (Google) и Webkit (Apple).  — А я ж то думал почему мне Google Chrome почти настолько же противен, как и Safari. Хотя, к Google Chrome у меня больше претензий к плохому интерфейсу и шпионству (о котором я знаю не понаслышке), чем к самому движку. Осмелюсь признать, Google хорошо над ним поработал, но и он все равно не стал намного лучше, чем хотелось бы. Было сказано, что написать браузер на данный момент очень сложно, в связи с усложненными стандартами и только у Webkit есть наибольшая часть рынка. Т.е. больше браузеров, которым можно «скормить» свой адски сложный сайт. В то время упоминая, что у Opera mini и Opera desktop 30% рынка.  — Я был в недоумении. Было названо 5 браузеров (Internet Explorer, Opera, Mozilla, Chrome, Safari) и 30% рынка занимает Opera mini и Opera desktop. Так в чем, черт возьми проблема??? Что вы еще будете мне втирать дальше??? Дальше идет рассказ о том, что такое Opera mini, что этот браузер рендерит сайт на сервере Opera, а потом уже его отображает, с тонким намеком, что это халтура. А все серьезные браузеры работают на Webkit на мобильных устройствах.  — Ну и что? А где Opera mobile? Почему о ней не вспоминается? Она ведь открывает сайт своими силами и она меня полностью удовлетворяла. В рассказе все время акцентировалось на слове монокультура с тонкими намеками, что нужно вливаться в общий поток браузеров на Webkit.  — Я был в недоумении. Как можно променять свою собственну разработку на глюконатный Webkit. Дальше шлось о Internet Explorer 6-й версии, который не развивался, который занимал 95% рынка, а параллельно существовал Webkit и Presto.  — Я не понимаю к чему он клонил — ведь тогда мало кого волновал сам браузер. Мало кто понимал разницу между браузерами. Тем более Internet Explorer был встроен в систему и кому здалось что-то качать еще, если и так Интернет работает. Я до сих пор помню как я сидел на нем и как кривил лицо, когда мне кто-то предлагал поставить другой браузер. Причин было полно — от нежелания тратить дорогой трафик и до захаращивания дискового пространства, где каждый мегабайт на счету был. Вконце концов, я не понимал зачем это делать. Что у меня Интернет не работал? Работал и все открывалось без проблем. Я был школьником и не думаю, что чем-то отличался от среднестатистического пользователя. Потом рассказывается, что Presto был очень удобен для портирования на разные устройства. Он был портирован под мобильные устройства, телевизоры и т.д.  — Здесь я не мог понять, почему он не был портирован под Linux. А, хотя, меня это не сильно волновало, просто мысль проскочила. Далее говорилось, о так называемых «догонялках». Webkit кидал новые решения, а Presto постоянно «догонял» его. Что доходило до того что разработчики писали: If (browser == «Opera») { return false; }  — Я был в недоумении. Что такого могло добавляться в Webkit, что так усложняло жизнь разработчикам Presto? Уж извините мне за мою необразованность. Но мне и возможностей Netscape хватает настолько, что мог бы под него написать такое, чего нет ни в одном сайте даже сейчас. Это уже просто фанатизм наращивания ненужного функционала просто, который отбирает у системы производительность уж просто не оправдано. Я не могу понять, почему сайты используют Flash? Почему JS не добавит в себя немного фич? Это бы с лихвой оправдало себя и исключило бы потребность во Flash, как таковую (фактически этим и занялся HTML5, но это, как бы немного не его парафия). Хотя, это уже другой вопрос, не в тему. К тому же выше идет речь об 30% рынка, а здесь такой поворот. Как-то это не клеится к общей картине (на мой взгляд, где-то немного заврались). Совместимость сайтов с Opera постоянно падала, из-за чего был внедрен костыль в виде файла browser.js, который исправлял вопросы несовместимости сайтов с Opera.  — Честно говоря я как-то понимаю разработчиков сайтов. Opera понемногу начинала терять свой «дух». Лично я неохотно перелазил с 9-й версии на 10-ую, хотя 10-ая версия мне очень понравилась. Нарастания глюков началось с 10.52 (может и раньше), что заставляло меня сидеть на 10.00 и 10.10. А на 11-й версии я вообще не мог усидеть. Были глюки с перетаскиванием ссылок особенно в быстрый запуск, потом все пропатчили, но я сидел на 10.00 до того момента, пока сайты не начали материться на мою устаревшую версию. В 12 версии глюков было просто кошмар сколько (непредсказуемые вылеты, утечки память и т.д.). После очередного даунгрейда с 12-й на более старую версию — у меня вообще Интернет пропал (долго исправлял, потом переставил ОС). Но все же замечал, что это исправлялось, я уже было подумывал соскочить на другой браузер, но ничего, что бы мне нравилось больше, я не нашел. Наверное, много кому надоело играться с глюками в Opera и она начала терять пользователей. Самое главное, что бы я хотел упомянуть — это то, что я подумал об Open Source. Ведь потому, что Opera не раскрыла исходников Presto, она его потеряла. Его могли бы дорабатывать энтузиасты, ничего бы такого не случилось, что происходит сейчас. Она и не раскроет исходников, т.к. энтузиасты сольют вниз рейтинги Webkit, дорабатывая Presto, и Opera, перешедшая на Webkit совсем сядет в лужу. Потом рассказывалось что Webkit не является сам, по себе движком, это всего лишь надстройка над KHTML и KJS (прослойка от браузера к ним). Позже Apple создала Nitro вместо KJS и Webkit2. Google же использует Chromium. Он такая же прослойка, как и Webkit, но вместо KHTML используют Blink (написанного на основе того же KHTML).  — Так вот оно что — подумал я. Вот почему, все же, Chromium лучше чем Safari — он не на KHTML. Новая Opera построена из компонентов V8, Blink, Chromium. Сам Chromium планируют переписать и вернуть в Opera прежние возможности, так же понемногу переносить фичи из Presto в Blink. Так же добавили, что пока нет причин сливать Presto в Open Source. Этот движок еще несколько лет будет поддерживаться на телевизорах, с фирмами которых заключены долгосрочные контракты.  — На мой взгляд ни пока ни в будущем не отдадут Presto в Open Source. Почему? Выше я уже написал. Так же было упомянуто, что Google отказывается от префиксов, а Apple нет.  — Думаю, от префиксов нужно было давно отказаться. В Интернете — всеобщей «паутине» недолжно существовать дестандартизация, которая всем усложняет жизнь, наоборот — должны быть четкие стандарты. В рассказе был упомянут Netscape, что он «сгнил в луже» и никто его не подобрал.  — Это уже не совсем, правда. Сам Netscape, хотя бы, открыл исходники и продолжает существовать в виде разных браузеров (например, Mozilla). В Netscape написали очень хороший движок — Gecko, который многие оценили по достоинству. Мои выводы: «жадность фраера сгубила» (утрирую, конечно). Opera, как и Netscape, не смогла тягаться с Open Source в скорости разработки. Играя в «догонялки» она просто не успевала за прогрессом, что и привело в данную ситуацию. С другой стороны она бы не смогла продавать (юридически) движок под телевизоры будь Presto в Open Source. Так что исход был очевиден. У них совершенно нет причин отдавать Presto в Open Source. Но вопрос: на что будет существовать компания, если все будет в Open Source? А V8, Blink, Chromium таковыми и есть. Возможно, они будут продолжать зарабатывать на Presto. Я думаю, так и будет, но это не может продолжаться вечно. И перекрёстный вопрос: На что тогда живет Mozilla? И самое главное: Выходя из всего Opera не перешла на сам Webkit, она перешла на V8, Blink и Chromium. Chromium является его «заменителем», если влезать во смысл слова Webkit. Лично мне от этого не легче. Я немного недоумевал почему не Gecko. Да потому, что он не портирован на мобильные устройства (Mozilla Foundation портировала, но там еще работы и работы), а Webkit — уже. Возможно я что-то недопонял. Приглашаю к дискуссии в комментариях.

© Habrahabr.ru