Альфа-версия браузера на движке Mozilla Servo выйдет в июне

    Экспериментальный движок Mozilla Servo близок к выпуску альфа-версии. На днях разработчики сообщили, что планируют первый релиз Servo+Browser.html на июнь 2016 года.

    Servo – движок, написанный с нуля на языке программирования Rust. Он отличается лучшей безопасностью, модульностью, а также исключительно высокой производительностью за счёт алгоритма параллельной компоновки страниц и новых парсеров CSS3 и HTML5 на Rust. Два важных компонента используют существующие модули на C++ от Mozilla: это движок SpiderMonkey для обработки JavaScript и библиотека 2D-графики Azure для OpenGL и Direct3D.

    Сравнение производительности Servo с другими браузерами, 3 марта 2016 г.
    Chrome Canary – 15 FPS
    Mozilla Firefox Developer – 9 FPS
    Apple WebKit Nightly – 5 FPS
    Mozilla Servo – 60 FPS



    В данный момент Servo работает под 64-битным Linux, 64-битной OS X, Android и Gonk (Firefox OS). Правда, есть ряд багов с рендерингом. Servo идеально отображает browser.html, но на реальных сайтах возникают проблемы. К июню разработчики хотят исправить баги с рендерингом наиболее актуальных сайтов — Github, Duckduckgo, Hackernews и Reddit. Открыты соответствующие тикеты.

    github.com/servo/servo/issues/9914 [meta] баги github.com
    github.com/servo/servo/issues/9915 [meta] баги duckduckgo
    github.com/servo/servo/issues/9916 [meta] баги hackernews
    github.com/servo/servo/issues/9917 [meta] баги reddit

    Высокий уровень параллелизма — ключевое достоинство Servo. Оно позволяет использовать многоядерную архитектуру современных процессоров. Разработчики объясняют причины, которые сподвигли их на создание нового движка. Во-первых, современные движки огромны, это миллионы строк кода. Такой объём кода невозможно оптимизировать, он слишком велик и не поддаётся рефакторингу. Легче переписать с нуля.



    Нынешние браузеры, в том числе Firefox, разработаны много лет назад для одноядерных процессоров и совсем простеньких веб-страниц. Всё это наследие сохраняется в нынешнем коде, от которого лучше избавиться.

    Вторая причина, по словам разработчиков, это небезопасность C++. Большинство уязвимостей в современных браузерах связаны с эксплуатацией модели памяти C++. В отличие от него, Rust – быстрый и безопасный язык программирования, с автоматическим управлением памятью, без состояний гонки, со встроенным параллелизмом и т.д.

    Презентация "Servo: Building a Parallel Browser"
    Поддержать автора
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 49

      +5
      Скорость — это конечно здорово, а что у него с поддержкой стандартов? Еще один недобраузер нам точно не нужен.
        +4
        Еще альфа не вышла, а уже началось… "недобраузер".
          –1
          Просто я веб-разработчик )) По понятным причинам интересуюсь заранее :)
            +1
            Интересно, какой ответ вы ожидаете заранее? Неужто вам скажут "не, на фиг стандарты, будем писать просто сферический браузер в вакууме"? :) Наверняка планируется поддержка на уровне того, что сейчас Фаерфокс поддерживает — иначе какой смысл?
              –2
              О, такое ощущение, что разработчики ИЕ6 примерно так и думали при разработке :)
                0
                Ну в начале ИЕ6 ничего был. Проблема была в том, что после его выхода думать перестали.
                  +2
                  2001 год.
                  15 лет прокло, Карл, 15 лет.
                  Может хватит пинать дохлого осла?
                    +1
                    А при чем здесь ИЕ6? ИЕ6 стал таким из-за отсутствия конкуренции, у firefox ее более чем хватает.
            0
            Интересно, вендорные префиксы у него будут свои, -moz или -webkit?
              0
              Ну ведь еще оптимизации под процессор — intel, amd их то будут учитывать? Или опять поддерживать древний хлам вроде атлонов и пней
                +4
                Вспомниается амбициозный парень, собиравший на хабре деньги на разработку браузера в одиночку, который утверждал, что знает как ускорить браузер в разы по сравнению с текущими вариантами. Люди тогда смеялись и не верили ему.
                  0
                  Не знаю, почему вас минусуют, но я тоже его вспомнил, когда впервые услышал про Servo.
                    +6
                    всего-то надо было сперва сделать Rust, а потом с имеющимся опытом за плечами запилить новый движок. делов то!
                    0
                    Неужели будет браузер который не тормозит?
                      0
                      К июню разработчики хотят исправить баги с рендерингом наиболее актуальных сайтов — Github, Duckduckgo, Hackernews и Reddit.

                      Я понимаю, «актуальность» — понятие индивидуальное. Но серьёзно, DuckDuckGo? Что там рендерить-то? Почему тогда не google.com?
                        +3
                        Под «наиболее актуальных» следует читать «наиболее простых, состоящих из одной html страницы»
                          0
                          Видимо, google.com и так работает без багов.
                          +1
                          Хм, а если начать с упрощения подсчёта строк ;) Например

                          $ grep -R "" --include="*.c" --include="*.cpp" --include="*.h" --include="*.tbl" | wc -l
                            0
                            Всегда было интересно, его будут поддерживать сайтописатели? А то получится как Opera с Presto, движок может и крутой, а особенности реализации никто не учитывает. Мозилла, конечно, популярнее Оперы, но до Гугла далеко и популярность продолжает снижаться. Вот если бы гугл такое выкатил, тогда другое дело.
                              0
                              Как это никто не учитывает? До того, как от presto отказались большинство сайтов его поддерживали и "учитывали особенности реализации".
                              Сайтописатели будут поддерживать то, чем пользуются их посетители.
                                0
                                В России да, а за рубежом мало кто поддерживал. Те же гуглосервисы постоянно глючили. Ну, если исходить из такой логики, согласен, должны поддерживать.
                                  0
                                  Ну так у неё и доля зарубежом была в районе одного процента. Зачем тратить силы?
                                +1
                                в первую очередь, я это учитываю, ибо это мой основной браузер
                                +2
                                Главное, что бы не падал на 20-ти окнах в каждой по 100 вкладок!
                                  +4
                                  По-моему хорошая новость, это в любом случае прогресс и какие-то новые решения.
                                    0
                                    FPS, параллельная компоновка, многопроцессорность — но вот сходу не удалось нагуглить тесты по загрузке CPU и потреблению памяти. Обещается аналогичное потребление памяти, но вот как-то берут сомнения — то же самое говорили и при прикручивании SpiderMonkey, мол, все будет огонь и совсем занидорога по ресурсам, что из этого получилось — все и так видят, страница чуть посложнее «Hello, world» при рендере тянет мегабайт на 100.
                                      0
                                      Меня тоже смущает этот момент ибо адский ресурсожор на любое количество ядер процессора и любое количество памяти (от которого тупит не только браузер, но и остальной софт с системой) стал одной из причин перехода с Chrome на Firefox. Если в лисе ещё и многопроцессность сделают то это будет полный финиш. Благо хоть у меня Windows основной системой и если станет совсем плохо можно будет уйти на Edge, но вот что в таком случае делать с Android ума не приложу.
                                      0
                                      Ну, наконец-то, а то я уже планировал начинать беспокоиться… за Rust.
                                        0
                                        Т.е. теперь при открытие нескольких тяжёлых вкладок браузер будет «забивать» не одно ядро, а весь процессор?
                                          0
                                          Судя по тому, как сейчас работают Opera Presto и Edge — главная беда в прожорливости яваскрипта, а поскольку по этой части Мозилла ничего не меняет, то и возлагать особых надежд не стоит :(
                                            0
                                            Что Вы имеете ввиду про Opera и Edge — они хорошо работают с JS?
                                              0
                                              Ну, скажем так, Opera Presto в обработке яваскрипта осталась такой, как была, и любая прожорливая страница (тот же ютуб) начинает биться в конвульсиях. Но она совершенно спокойно работает на пк с 1Gb≤ оперативной памяти, позволяя открывать приличное количество вкладок. Причём, во всём остальном скорость 12-ой оперы шикарна. Edge, с другой стороны, наибольшие усилия приложил именно к оптимизации движка, который обрабатывает JS, и во многом преуспел. На данный момент — самый комфортный современный браузер для слабого железа. Как прожорством к оперативке, так и использованию процессора. Если я активно использую тот же Хром на своём старом ноутбуке, то после четвертой вкладки он неистово тормозит, и если открываются какие-то особенно тяжелые сайты, то тот нагревается до такого состояния, что может уйти в автоматическое отключение. Лиса лучше, но оперативку ест тоже весьма активно и если что-то не так, просто с натугой вылетает.
                                                +1
                                                Спасибо за развернутый ответ. Буду иметь ввиду. Для себя пока выбрал решение: FF + NoScript, ибо с включенным JS тяжко — CPU загружен, вентиляторы шумят… А так сразу — тишина и покой :)
                                            0
                                            Эх, если бы найти способ хронометрировать загрузку в разбивке по аддонам/расширениям…
                                            Скорость работы чистого Fx/Chromium меня устраивает, меня не устраивает чистый Fx/Chromium.
                                            (Но из-за мощности расширений симпатичнее Fx)

                                            Кто подскажет, как замерить какой аддон сколько времени сжирает? Без мучительного «по одному, по половине отключать подключать».

                                            Что касается «переписать с нуля», это сразу и прямо навевает воспоминания о классическом программистском юморе.
                                            Но надежда на шустрый браузер таки теплится… :-)
                                              0
                                              А может кто подскажет, есть ли в природе какой-то стабильный браузер, хотя бы мало-мальски поддерживающий основные стандарты, чтобы можно было его использовать на старых ноутах. Просто сейчас у меня хром умудряется тормозить на SSDшке, i7 и с 32 гб памяти, я уже и не знаю, что ему нужно для полного счастья.
                                              Про старые и говорить уже нечего, хотя раньше на них можно было вполне комфортно работать.
                                                0
                                                Опера? :) (старая конечно же)
                                                Palemoon на основе Огнелисы.

                                                Пытался вспомнить один мелкий и лёгкий браузер на хромиуме, лежит на живой флешке, а она не под рукой, не смог… но там на иконке привидение (вроде бы).
                                                  0
                                                  Opera Presto.
                                                    +1
                                                    K-Meleon? Интерфейс правда немного «специфичный».
                                                      0
                                                      SeaMonkey работает вполне сносно на дохлом целероне и гигабайте памяти, рекомендую.
                                                      mozilla-russia.org/products/seamonkey
                                                        –1
                                                        Хромобраузеры нормально работают на старых процессорах, хотя бы P4 с HT. Но им надо много памяти, особенно если много вкладок открывать. Если RAM 1 Гб и 2-4 вкладки используется обычно, то пойдут. Иначе лисобраузеры, из-за своей монолитности и одноядерности тормозят на тяжелых сайтах заметно сильнее, иногда даже подвешивая интерфейс, но едят мало памяти, на 1 Гб RAM с подкачкой можно открывать очень много вкладок. Если ставить блокировщик рекламы, то ublock. В крайнем случае можно поставить еще более оптимизированную для старых ПК Opera Presto, но у нее уже очень много проблем с сайтами и тогда ни в коем случае не ставить расширение Adblock, а пользоваться родным блокировщиком. Главное имхо движок, различия в производительности у клонов минимальны. И я бы избегал слишком старых версий, они могут быть даже медленнее с современным web-ом, потому что новые версии все время оптимизируют. Та же Presto в целом шустрее, но сложные тяжелые сайты, типа FB ее уже вешают. То есть смотря еще какие сайты.
                                                          0
                                                          А еще в Presto на слабых CPU (да и не только) сильно тормозит CSS анимация, в то время как в FF и Chrome вполне нормально.
                                                            0
                                                            Единственный сайт, который вешает presto — ulmart.ru. Но это проблемы сайта. С fb особых проблем не было.
                                                              0
                                                              Вот еще что заметил и что меня на старой машине сильно напрягло. Обычно на старых системах еще используют XP и там, если свернуть Оперу и уйти чай попить пару минут, вернувшись и развернув она сильно тормозит, потому что все сбросила в своп. Я заметил, что лиса до последнего все держит в памяти и пользоваться ей комфортно при малом ОЗУ. Может это какой-то хак, обычно программы при сворачивании данные сбрасывают, но реально полезный, особенно заметно на тяжелых приложениях типа браузера.

                                                              Можно файл подкачки отключить, тогда Опера будет летать. Но при недостатке памяти программы будут вылетать, а это не вариант.
                                                            0
                                                            Для старых ноутов (смотря насколько старых) можно ещё попробовать RemixOS (или другой «андроид x86») или CloudReady. Использую их на нетбуке Samsung NC110.
                                                            –1
                                                            То есть Огнелис таки на время перестанет тормозить и откушивать половину ОЗУ?
                                                              0
                                                              Большие надежды, лишь бы никто их не выкупил и не прикрыл всё это до поры до времени. Либо наоборот.
                                                                +1
                                                                Оно же вроде OpenSource — даже если их прикупят, совсем закрыть не получится.
                                                                  0
                                                                  В принципе да, логично.
                                                                0
                                                                Интересно, а почему ещё jquery не включили в базовую поставку браузеров? Чтобы она (библиотека jquery) сама обновлялась вместе с браузером. А разработчикам сайтов достаточно было бы указать в head какой нибудь код, для включения встроенной jquery на сайте.

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

                                                                Самое читаемое