Зачем 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 — уже.
Возможно я что-то недопонял. Приглашаю к дискуссии в комментариях.

ссылка на оригинал статьи http://habrahabr.ru/post/195702/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *