LINUX.ORG.RU

Новый веб-браузер Ladybird

 


1

4

Встречайте новый кроссплатформенный веб-браузер Ladybird от разработчиков unix-like операционный системы SerenityOS, написанный на C++ и использующий в качестве движка LibWeb + JavaScript-интерпретатор LibJS, разработка которых ведется с 2019 года. Для отрисовки графического интерфейса используется библиотека Qt. Запустить браузер можно практически везде, поддерживается работа в Linux, macOS, Windows и прочих системах.

Основные компоненты браузера:

LibWeb: веб-движок с поддержкой стандартов: HTML, DOM, CSS, SVG, …
LibJS: JavaScript-интерпретатор
LibGfx: библиотека отрисовки текста и 2D-графики
LibRegex: библиотека для регулярных выражений
LibXML: XML-парсер
LibWasm: интерпретатор промежуточного кода WebAssembly
LibUnicode: библиотека для работы с юникодом
LibTextCodec: библиотека преобразования текстовых кодировок
LibMarkdown: Markdown-парсер
LibCore: набор различных функций (I/O, datetime, MIME data, …)
Qt: графический интерфейс и кроссплатформенность

Браузер успешно проходит тест Acid3 (100/100) и поддерживает протоколы HTTP/HTTPS, однако находится на ранней стадии разработки и пока не рекомендуется к повседневному использованию. Проект распостраняется под лицензией BSD.

>>> Подробности

Ответ на: комментарий от Original_1

Браузер успешно проходит тест Acid3 (100\100)
в дупель поехавшая вёрстка на сайте, где не применяются bleeding edge хипстотехнологии

ну окэй :-/
с другой стороны авторы честно говорят, что к повседневному применению их продукт пока не готов

Pinkbyte ★★★★★ ()

На скрине хорошо видно

Как ЛОР на этом браузере отображается криво

Alyona_Delphi ()

Хм, странно. Вижу либа парсер Markdown. Хм. А какой популярный браузер парсит markdown ?

mx__ ★★★★★ ()

Делать свой браузерный движок в 2022… Такая отчаянная, обречённая попытка не может не вызывать восхищения!

MrClon ★★★★★ ()

Когда хотели сделать

Ladybird

А получился «Ladyboy»

XOXO ()
Ответ на: комментарий от MrClon

Тут вопрос в том, какую задачу это решает. Изначально типа как было вот:

"Изначально я представлял себе Ladybird как средство отладки, позволяющее людям оставаться в Linux при работе с LibWeb, если они этого хотят. Прошло два месяца, и я обнаружил, что использую Ladybird для большей части своей работы по разработке браузера.

На этом этапе мы могли бы также изменить область действия с «движка браузера для SerenityOS» на «движок кросс-платформенного браузера» и создать что-то, что потенциально могло бы использоваться гораздо большим количеством людей в один прекрасный день. :^)"

https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/

Но в чём задумывается фундаментальное преимущество этого движка над существующими? Какие проблемы это позволяет преодолеть? Архитектурно обусловленное улучшение быстродействия? Потребления памяти? Почему пользователь в будущем может решить предпочесть именно этот движок?

Вот на эти вопросы ответа нет, напрашивается пока только один - just for fun.

IRASoldier ()
Последнее исправление: IRASoldier (всего исправлений: 2)

Как оно по скорости, прожорливости и требовательности? Может подойти как замена основным браузерам, когда нужен полный минимализм и когда не особо критична точность рендеринга? Если он(движок) легкий, то возможно подошел бы, как замена дико тяжелому webkit/webengine при встраивании отображения html в своё приложение.

Loki13 ★★★★★ ()

О! Это просто отлично! Теперь если Firefox наконец сдохнет, будет не так обидно.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от Loki13

Блин, ну открой глаза! Он же даже на отображении лор сломался…

Когда уже вы поймете, что отображение современного html, это настолько тяжелая задача, что без вариантов. Ни один движок на сегодня не обеспечивает полный спектр работоспособности. Но они хотя бы приближаются к нему. Эпоха легких браузеров безвозвратно ушла, забудьте об этом…

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

Да, пофиг на ЛОР. Часто бывает нужно в приложении какую-нибудь фигню вывести, табличку в html сгенерированную в БД, справку с простейшей версткой. И я видел, когда ради этого тащат WebEngine диких размеров и прожорливости. Если будет возможность подключить что-то легковесное для таких мелочей - было бы годно.

Сразу вспоминается polkit, который тащил тяжеленный движок от лисы для всего лишь парсинга правил на js. А потом пришли умные люди и портировали на duktape.

Loki13 ★★★★★ ()
Последнее исправление: Loki13 (всего исправлений: 2)
Ответ на: комментарий от IRASoldier

just for fun.

Так и есть. Люди потихоньку без криков и обещаний пилят полную ОС for fun и для опыта.

В настоящее время этим пользоваться как основным браузером естественно нельзя, оно не для этого сделано.

alexru ★★★★ ()
Последнее исправление: alexru (всего исправлений: 1)

Ух ты, оно даже ЛОР не осиливает.

пока не рекомендуется к повседневному

А прям нестерпимо хотелось.

thesis ★★★★★ ()

Кнопки «Назад», «Вперед», «Обновить» и «Домой» вышибли слезу

anonymous_sapiens ★★★★★ ()

I’m personally working on these projects full time since 2021 thanks to my generous supporters. If you like what I’m doing, you can help me do more of it by supporting me on GitHub Sponsors, Patreon or PayPal.

Охренеть, конечно. Есть чуваки, которые донатят на непотребства онлайн в нижнем интернете, тут, вероятно, что-то похожее.

anonymous_sapiens ★★★★★ ()

Правильная лицензия, интересный проект. Спасибо топикстартеру за новость, обязательно пощупаю!

GFORGX ★★☆ ()
Ответ на: комментарий от hateyoufeel

Я вот сам GTK+ для своего проекта использую (надеюсь, к ноябрю опубличу) – и API мне как раз нравится (по крайней мере, для C). И документация хорошая, но катастрофически не хватает скриншотов виджетов.

Но вся вот эта беда с Glade и рекомендация ручками писать XML пока – это жесть. Тут Qt со своим дизайнером бьет целиком.

GFORGX ★★☆ ()
Ответ на: комментарий от hateyoufeel

BSD, включая macOS – все работает. Windows мне поддерживать неинтересно, это свой проект, который я делаю just for fun :)

GFORGX ★★☆ ()
Последнее исправление: GFORGX (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Например, на винде запускаешь x86 или x86-64 dev console студии (обычный cmd.exe, где уже выставлены необходимые переменные окружения). Благодаря мезону при сборке зависимости рекурсивно из гита автоматом загружаются. И всё собирается. Тем более в mingw-w64.

gag ★★★★★ ()

но в qt встроенный, считай, полноценный хромиум. а тут выбросили нормальный браузер и используют говно какое-то

qanon ()
Ответ на: комментарий от Loki13

это поделие даже каскадные стили не полностью поддерживает, поэтому верстка развалилась как мои мечты на нормальную жизнь в 2022

qanon ()
Ответ на: комментарий от qanon

Ты пропустил смысл того что тут происходит. Им не нужен браузер на готовом движке, им нужно отладить их движек.

alexru ★★★★ ()
Ответ на: комментарий от gag

А Cambalache уже не такой сырой? Я читал про него, но то ли что-то с ним не сраслось под macOS (это моя основная система, помимо соседних железок на FreeBSD и OpenBSD), что ли… Забыл. Меня смущало еще то, что это Python, хотя это мелочи.

Я именно GTK 4 использую, да.

Спасибо, вернусь пощупать еще раз Cambalache!

GFORGX ★★☆ ()
Ответ на: комментарий от alexru

&& для сдабаков… не говоря уже про то что page.top_level_browsing_context().active_document() каждый раз инциализируется в каждом условии…

    if (request == "dump-layout-tree") {
        if (auto* doc = page.top_level_browsing_context().active_document()) {
            if (auto* icb = doc->layout_node())
                Web::dump_tree(*icb);
        }
    }

    if (request == "dump-stacking-context-tree") {
        if (auto* doc = page.top_level_browsing_context().active_document()) {
            if (auto* icb = doc->layout_node()) {
                if (auto* stacking_context = icb->paint_box()->stacking_context())
                    stacking_context->dump();
            }
        }
    }
qanon ()
Ответ на: комментарий от gag

++

Хотя для меня мороки с компиляцией под виндой всегда квест :)

GFORGX ★★☆ ()

Ну всё, закапываем хром. Не, серьёзно, все пиксельперфект макеты в фигмах должны умереть. Если сайт без соответствия им никуда не годится - пускай владелец разоряется

DumLemming ()
Ответ на: комментарий от qanon

Да мы уже поняли, ты крутой не школьник, иди дальше на жизнь жалуйся.

alexru ★★★★ ()

ностальгичный вид..

Syncro ★★★★★ ()

Авторы SerenityOS: запилили целую ОС с GUI и кучей всякого разного чисто по фану.

Комментаторы на ЛОРе: зачем они делают браузер???

Действительно, зачем…

wandrien ()
Ответ на: комментарий от Loki13

Для такой задачи можно попробовать движок netsurf.

А если совсем простенькие страницы рендерить, типа страниц справки с форматированием в стиле 90-х, то можно еще dillo попробовать.

wandrien ()
Ответ на: комментарий от Loki13

Сразу вспоминается polkit, который тащил тяжеленный движок от лисы для всего лишь парсинга правил на js. А потом пришли умные люди и портировали на duktape.

Новость об этом почти незамеченной прошла, а ведь ребята молодцы.

wandrien ()
Ответ на: комментарий от moogle

Нужны, я ж не спорю. Просто удивляюсь с нудных комментаторов.

falkon это интересно, не знал о таком. Поставил, пишу с него.

wandrien ()

100\100
http\https

\ => /

Такое ощущение, что писали парсер и решили попутно сделать браузер.

Radjah ★★★★★ ()
Ответ на: комментарий от Radjah

Не нужно ощущений. Они писали браузер для SernityOS и портировали его на Linux.

alexru ★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.