Пользователь
0,0
рейтинг
4 апреля 2013 в 01:20

Разработка → Google поздравляет всех с днём веб-мастера новым движком рендеринга

Конечно, в США ещё день веб-мастера не наступил, но к празднику в интернет-гиганте подготовились на отлично, со свойственным циничным чувством юмора (весть о закрытии YT на первое апреля это наглядно демонстрирует). Итак, встречайте: Google Blink — принципиально новый движок рендеринга для Google Chrome.

Так как сарказма на сегодня хватит, то к делу:
  • Blink — движок с открытым исходным кодом, мейнтейнером которого становится, конечно, Google
  • Blink по сути тот же форкнутый WebKit. Google уже заменила львиную часть внутреннестей Apple WebKit из апстрима (тот же V8, Skia, сетевой стек в апстриме отсутствуют), поэтому заменить и сам движок — ожидаемый ход
  • Для веб-разработчиков обещают, что они даже перехода толком поначалу не заметят

Можно, конечно, считать причиной перехода, что у WebKit есть основной дефект — он сделан не в Google, но Адам Барт, знакомый многим по многочисленным коммитам в WebKit, сообщает, что дело в том, что модель многопроцессности в Chromium стала слишком сложной, чтобы тянуть легаси-код из основного WebKit, поэтому было принято решение об окончательном форке движка. В процессе избавления от легаси, было выброшено 4.5 миллиона строк кода.

Ключевые положения, интересные разработчикам:
  • Google не будет использовать проприетарные префиксы для разрабатываемых спецификаций. Спека будет использоваться разработчиками Blink без префикса, но спрятанная. Для активации придется либо в экспериментальных параметрах включать спеку, либо через командную строку
  • Введение новых спецификаций HTML/CSS/JS будет проводиться в соответствии с панелью функций Chromium
  • Новый движок позволит безболезненно гуглерам ввести фичу, позволяющую запускать части одной страницы в разных процессах
  • Перенос DOM в JavaScript. По идее работа DOM должна стать намного быстрее, чем в самом WebKit
  • Разберутся наконец с утечками памяти путём удаления абстракций ScriptValue/ScriptState, которые были нужны в WebKit для двух разных движков выполнения JS

Подробности в записи разработчиков Chromium.
Баг-трекер остаётся стандартным от Chromium.
Ковырять-компилять тут.
Если вы загорелись использовать Blink в своих проектах, то тут небольшое разочарование, потому что движок слишком плотно привязан к кодовой базе Chromium, поэтому без неё Blink фактически бесполезен. Тем не менее, можно будет использовать наиболее лёгкий Chromium Embedded Framework.

P. S. Линус Апсон, известный в первую очередь по Google V8, сообщил, что название движка тоже не просто так выбрано.
Тег blink был одним из самых ужасных тегов, внедрённых в HTML, поэтому мы назвали движок по имени тега, который движком не поддерживается. Так, например, наш флагманский Chromebook мы назвали Pixel, потому что стремились сделать пиксель невидимым. Так что многие ветераны веб-разработки вспомнят былое и посмеются над тем, что, наконец, ушло.
Anzhel Bozhinov @Mairon
карма
26,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (77)

  • –1
    Что-ж, молодцы!
  • НЛО прилетело и опубликовало эту надпись здесь
    • +22
      Да.
      • +3
        Если где-то что-то убудет, то где-то что-то прибудет.
        В смысле без Presto разнообразие движков браузеров должно было уменьшиться, но в связи с «отпочкованием» Blink от WebKit баланс будет восстановлен :)
        • +5
          «отпочкованием» Blink от WebKit баланс будет восстановлен :)

          Это если WebKit продолжит развиваться.
          • 0
            Эээ, а с чего бы ему перестать?
            • +2
              На вебките, насколько знаю, сидят в основе сафари и хромиум-проекты. И как-то не думаю, что вся масса хромиум-проектов (не только хром и опера, но и яндекс, макстон, еще несколько китайских и японских браузеров) останутся на хроме. Остается сафари. Во что может превратиться разработка движка одной компанией, может нам напомнить майкрософт.
              для новых разработчиков опять же блинк будет приятней: меньшая кодовая база -> быстрее можно вникнуть в тему, меньше вероятности совершать ошибки из-за неучтенных зависимостей
              • 0
                До хромиума очень многие использовали вебкит, и после будут.
                • 0
                  в основном, линуксовые браузеры. Что-то принципиально нового в них я не видел. И не знаю, как посмотреть статистику, а добавили ли они чего в этот веб-кит
              • 0
                На вебките сидят браузеры iPhone/iPad плюс море их клонов. Там его явно никто заменять не будет, а значит смерти вебкита можно точно не ждать в обозримом будущем.
                • –3
                  в обозримом — нет. Процесс загнивания долгий. Так ИЕ6 когда-то был революционным
                  • –3
                    В ие6 не добавляли новизны, а вебкит в принципе не плохо развивается, по крайней мере он не стоит на месте, поэтому истории с ие6 не повторится.
  • +3
    Интересно также почитать вопросы и ответы для разработчиков.

    Кроме многопроцессорности говорят, что хотят поэкспериментировать с ускорением, в частности анимаций, DOM. Вообще провести общий рефакторинг, исправить старые баги.

    Обещают оставить открытый исходный код и не поставлять префиксы в стабильные выпуски, а делать как Firefox: включать экспериментальные части через опции.
  • +32
    Итак, как только все массово перешли на Webkit (остались лишь Firefox и IE) — Chrome/Chromium решили снова добавить головняка верстальщикам :(
    • +5
      Все, кто перешел на хромиум (Opera, Яндекс.Браузер и т.п.) будут использовать этот же Blink, так что большой головной боли не будет.

      В добавок к этому, Blink это форк WebKit, а не полноценно новый движен, что дает уверенность в меньшем количестве багов, чем могло бы быть.
      • +2
        А Safari — и, главное, Safari Mobile — не будет, как я понимаю.
      • –5
        Откуда информация про Яндекс.Браузер?
        • +9
          Это логично. Яндекс.Браузер построен на Chromium. Так что, грубо говоря, во время обновления зависимостей, подтянется и Blink.
  • +4
  • НЛО прилетело и опубликовало эту надпись здесь
    • +8
      Ага, поздравили, блин.
  • +28
    «у WebKit есть основной дефект»
    Это скорее фатальный недостаток.
  • +4
    Сначаал Mozilla заявила о новом движке, теперь вот и Google подоспел. Из крупных игроков остался только Microsoft, но они и так последнее время активно переписывают все что связано с IE, вплоть до маскирование браузера под FireFox.
    • +2
      Что там, про Газель ничего не слышно?
      • +6
        Да съели уже Газель, даже костей не осталось.
  • +3
    Первое апреля уже же кончилось давно.
    • +7
      Да, как бы, и не смешно.
  • +1
    Хром будет на Блинке, Хромиум будет на Блинке, Отечественные Браузеры будут на Блинке вместе с Хромиумом, Опера будет на Блинке, а где же собственно останется Вебкит? Похоже, только в Сафари и встраиваемых решениях.
    • +44
      Прошла любовь, завяли помидоры…
      Забыли люди про такой движок WebKit.
      И только Блинк нам весело мигает с монитора,
      В нем мультитреадрендеринг немножечко сбоит.
    • 0
      Андроид будет на Блинке, Хром будет на Блинке, Опера Мобайл будет на Блинке…
      • 0
        Десктопную «Оперу» забыли.
        • +14
          182 будет на Блинке
          • 0
            Well I guess this is growing up
      • 0
        И даже ChromeOS будет на блинке.
        • +5
          И даже небо!
      • 0
        Опера вообще будет на блинке. Версии «мобайл» не будет, будет комбайн мобильный и «мини», когда включён Турбо.
    • +1
      А пустят ли барузеры на Блинке в iOS?
      • +5
        Нет. Apple сейчас надо пилить сафари под винды и линуксы, иначе браузер сдохнет. Хотя они скорее всего не будут, и браузер скорее всего сдохнет.
        • +3
          С чего бы? До появления хрома замечательно жил, а сейчас возьмет и сдохнет. Свежо предание.

          Mac OS же, iOS. Не гуглом единым.
          • +6
            До хрома сафари был под винды (а до этого его было <1%), сейчас он пришёл к тому же: движок останется только под макось. Если его снова будет <1%, верстать под него перестанут. Но вообще да, есть же iOS, которого много, поэтому выживет скорей всего, да и % макоси сейчас уже больше, чем раньше (:
        • +3
          Зачем? Пока iPad и iPhone чуть более чем дофига — все будут с ними считаться. А сам по себе браузер денег не генерирует.
  • 0
    Finally we'd like to explore even larger ideas like moving the entire Document Object Model (DOM) into JavaScript. This has the potential to make JavaScript DOM access dramatically faster...

    Это, конечно, супер, но что-то мне подсказывает, что это будет немерянным рассадником уязвимостей. Потенциально это решение будет еще больше жрать память и являться причиной утечек. Но не факт

    Хотелось бы посмотреть на бенчмарки…
  • 0
    Интересно, как у Blink обстоят дела с округлением относительных величин при расчёте их пиксельных эквивалентов. У прежнего Chromium с этим были хронические проблемы (то рамка ячейки таблицы пропадёт, то блок с padding, заданным в em, на один пиксел выпадет из габаритов блока-родителя, вынуждая использовать единицы px там, где более уместны em).
    • 0
      Блин, да это пока все тот же webkit. Не будет разницы.
  • НЛО прилетело и опубликовало эту надпись здесь
    • +3
      Гугл использовал только 1/3 часть WebKit'a и то не всю.
      • НЛО прилетело и опубликовало эту надпись здесь
      • НЛО прилетело и опубликовало эту надпись здесь
  • –5
    Как? Какая командная строка? Какие экспериментальные параметры? Дайте нам префиксы, мать вашу.
    • +8
      Честно говоря, не понимаю, почему меня заминусовали. С удалением префиксов мы получим очень медленную реализацию новых браузерных фич, которые могли бы использоваться при наличии префиксов даже на стадии черновика.

      Многие помнят, как долго дописывали спеку, например, по border-radius. Но именно благодаря всяким некрасивым -moz- -webkit- мы могли юзать это свойство просто зная, что оно работает.
  • 0
    Странно, пишите что выкинули V8, а в FAQ наоборот описаны завязки на него.
    — Multi-process, security-focused, and faster low-overhead DOM bindings to V8
    — Snapshotting in V8. This could allow us to have no parse-time overhead and near-instant startup of previously loaded pages.
    • 0
      нигде не написано, что выкинули V8. Google наооборот его добавили в апстрим.
      • 0
        Черт, не так прочитал. Написано, что они отсутствуют, а не будут удалены.
  • +5
    Честно говоря, меня несколько интересует в этой ситуации node-webkit, который базируется на Хромиуме… Надо бы у разработчиков спросить.
    • 0
      Поставил бы плюс… да не важно.

      Самому node-webkit очень нравится, даже проект по работе на нем пишу. Хотя, я думаю просто переименуют проект в node-blink.
    • 0
      Спросили?
      • 0
        Молчат чего-то по этому вопросу…
  • +3
    blink… как много в этом слове от html 90-х
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Судя по тому, что
      Если вы загорелись использовать Blink в своих проектах, то тут небольшое разочарование, потому что движок слишком плотно привязан к кодовой базе Chromium
      вряд ли они будут использовать Blink.

      Для того, чтобы использовать Chromium Embedded, им придется переписать все биндинги. К тому же он не собирается mingw, во всяком случае официально.
  • +7
    Don't blink. Blink and you're dead.

    А по теме — что теперь будет с Webkit? Не загниёт ли? И я не совсем понял когда Blink будет «влит» в хромиум? Или теперь все новые билды будут маркироваться как Blink и гугл будет потихоньку выкидывать из него всё что можно?
    • 0
      Меня тоже заинтересовал этот вопрос, вот нашел линк:
      Blink appears to be brand new and it will take some time before Chrome switches over to the new rendering engine.

      Насколько я понимаю, пока ещё точно неизвестно, когда blink вольётся в Chrome. Возможно, Google уже портирует Chrome на Blink, но так как Blink это форк Webkit, то эта разница пока не очевидна. Хотя если выбросили 4.5 LOC, то результат должен быть заметен.
  • +1
    А можете на пальцах пояснить весь смысл таких танцев? Верно ли я понимаю, что ВебКит опен сурс и разрабатывается какой-то сторонней командой, в которую в результате включились Гугл, Эппл и т.д. Так же эту команду спонсируют компании типа Гугла и т.д. Т.е. интеграция в разработку достаточно глубокая… Но вдруг Гуглу необходимо взять и сделать полный форк, добавив свой покер с девушками… Вопрос — зачем? Неужели он не может влиять на направление разработки ВебКит с такой глубиной, что необходимо создавать новые ветки?
    • +4
      Хороший вопрос. Попробую угадать.

      Во-первых гугл хочет изменений связанных с архитектурой хроминиума: многопроцессность, v8. Эти изменения просто не нужны всем остальным потребителям вебкита и гуглу приходится создавать много обвязок как на стороне вебкита, так и на стороне хромиума. Наступил критический момент, когда проще форкнуться.

      Во-вторых, большие изменения, не связанные с хромиумом (какой-нибудь параллельный парсинг html, скажем), могут не находить сторонников среди прочих потребителей вебкита: многие просто хотят получать патчи и новые css3 свойства и не готовы тратить время на доработку своих обвязок над вебкитом.
  • +2
    Как это без тэга blink?
    • –1
      Все таки есть минус в разработке движка одной компанией. Вот завтра им не понравится тег <b>, например, а послезавтра <br />. А так как на Blink, по всей вероятности, займет большую долю рынка, может возникнуть неприятная ситуация. С другой стороны, возможно у меня просто паранойя.
  • –4
    А новый Gmail (если когда-нибудь будет создан) по логике будет называться free for all?
  • НЛО прилетело и опубликовало эту надпись здесь
  • +3
    я просто оставлю это здесь prng.net/blink-faq.html (english!)
    • 0
      Пфф, это фенбоизм чистой воды. «Англичанка гадит» и вселенский заговор просто Эппл. Смешно.
      • 0
        Ясно, что перегнули в сторону заговоров, но Гугл как бы комерческая организация и мир во всем мире там только за деньги, так что Blink не одними чистыми помыслами шит.
  • 0
    https://vimeo.com/21216091
    Очень символично
  • +4
    Новый движок позволит безболезненно гуглерам ввести фичу, позволяющую запускать части одной страницы в разных процессах

    Мать вашу за ногу. Что ж мелочиться, отчего не по процессу на каждый тег?!
  • +1
    Логичный следующий шаг для Google — форкнуть ядро Linux

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.