LINUX.ORG.RU
ФорумTalks

Трудно ли запилить свой браузерный движок с вайтджеком

 


0

2

А то чего-то какое-то сплошное шитхаппенд настает, нужна здоровая альтернатива.

Можно влоб подсчитать сумму и сказать, что это нереально сейчас осилить с нуля, но во первых, не обязательно с нуля. Например, взять links/lynx или w3m и нормально туда добавить жабоскрипта. Уже что-то такое получится.

★★★★★

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

Парсил телепрограмму одного спортивного холдинга, так у них только div’ов 1399 на странице, всего 2500+ элементов.

И как такую DOM без шитхаппенда отобразить?

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

Прежде всего: зачем? Грядет WеbAssembly, гре браузер лишь с боку-припеку. Если брать DOM-овый угар, то FF с гуглем соревнуются в напичкивании браузера бесполезной блоатварью, потому без многомиллионных бюджетов там делать нечего. В свою очередь разрабы сайтов соревнуются в создании наиболее тормознутых сайтов с использованием самых бесполезных технологий, и с этим сложно поделать. Радует одно — это говно жрет батарею на игрофонах, потому потихоньку даже до слоупоков доходит, что сказка «everything is web» не работает.

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

Под шитхаппендом имел ввиду не только монструозность, но и монополизацию хромом.

И как такую DOM без шитхаппенда отобразить?

Чисто программистки тут не то, чтобы чего-то особенное по нынешним временам. Вот миллион дивов было бы труднее отобразить.

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

Прежде всего: зачем? Грядет WеbAssembly, гре браузер лишь с боку-припеку.

Он уже пять лет все грядет и грядет и даже как бы уже есть, но чего-то не похоже, чтобы из него серебрянная пуля получилась. Скорее еще + один наворот.

praseodim ★★★★★
() автор топика

А то чего-то какое-то сплошное шитхаппенд настает, нужна здоровая альтернатива.

Тогда при чём тут, извините, браузер и вебчик?

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

Ну и чем тебе WebAssembly поможет? Сейчас он всё равно через DOM выводит страницу. Рисовать каждый сайт самостоятельно на канвасе? Будут глюки, ШГ, жор памяти (на каждый сайт свой процесс рендеринга всего с нуля), невырезаемая реклама.

static_lab ★★★★★
()

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

pon4ik ★★★★★
()

Gecko, KHTML, Webkit, Blink опенсурсные. Можешь не тратить 20 лет на доведение велосипеда до их уровня, бери и клепай «здоровую альтернативу».

ptarh ★★★★★
()

Браузеры уже давно стали надстройками. Берёшь blink и v8, делаешь поверх них гуй со свистоперделками. Но если там обнаружится закладка, она будет сразу везде. Если надо избавится от телеметрии, проще её вырезать - уже пробовали делать разгугленный хромиум, но кончился энтузиазм.

InterVi ★★★★
()

С текущей ситуацией легче забить на веб. «Здоровая» часть интернета сейчас в других местах. Ренессанс в Gemini, например.

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

невырезаемая реклама

Инвесторам такое нравится.

i-rinat ★★★★★
()
Ответ на: комментарий от commagray

«Здоровая» часть интернета сейчас в других местах. Ренессанс в Gemini, например.

Gopher на стероидах, ясно-понятно

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

Скорее, это починенный Gopher без легаси и плохих решений.

commagray ★★★★★
()

Сейчас выгоднее запилить свой гуй для блинка.

Meyer ★★★★★
()

Например, взять links/lynx или w3m и нормально туда добавить жабоскрипта.

Уже есть NetSurf.

Подозреваю, сделать легковесный веб движок невозможно без отказа от части HTML/CSS функциональности и поломки многих сайтов. Придётся вводить легковесное подмножество HTML/CSS.

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

Лучше помоги людям допилить NetSurf до HTML5 и полноценного DOM c JS. Будет открытый независимый движок, может не лучший и не самый быстрый (хотя если туда QuickJS великого Фабриса засунуть, то…), зато без блоатвари, многочасовых компиляций и с адблоком искаропки. И в нём хотя бы можно разобраться.

Теоретически можно на QtWebKit что-то соорудить, но он сложнее и допиливать его тяжелее.

Stanson ★★★★★
()

В составе проекта SerenityOS есть браузер. После мозилло- и линуксокапца будет самое то для перехода.

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

…, невырезаемая реклама.

И поисковики пролетят мимо со свистом.

Кроме того, рисовал я как-то собственный layout-менеджер на flash 8. Крошечный но могучий: координаты объекта задавались как eval-формулы от координат других объектов и размеров окна; отсутствие циклических ссылок проверялось. И всё было прекрасно ровно до тех пор, пока не требовалось вывести многострочный стилизованный текст (т.е. html со стилями), не говоря уже про подгонку размеров объектов пропорционально размеру текста (аналогично столбцам html-таблиц). С WebAssembly будет ровно та же петрушка: если кто-нибудь нарисует для него халявный рендерер html, то хорошо; иначе – DOM безальтернативен. Да и между нами девочками, хрен его переплюнешь по фичастости и выразительности; а вышесказанное – лишь частный пример такой фичастости.

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

Falcon (бывшая Qupzilla) использует QtWebEngine на основе Blink. Раньше был QtWebKit. Так что это те же самые яйца.

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

И как такую DOM без шитхаппенда отобразить?

Чисто программистки тут не то, чтобы чего-то особенное по нынешним временам. Вот миллион дивов было бы труднее отобразить

Проблема не в том, чтобы отобразить миллион дивов. Ты когда-нибудь писал фронтенды современные? Ты думаешь почему фронтендщики имеют в среднем выше ЗП, чем бэкэндщики? Там просто мозги в трубочку сворачиваютя от десятков слоев совместимости, и даже сами создетали браузеров до конца не понимают, как их браузер работает.

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

Прежде всего: зачем? Грядет WеbAssembly, гре браузер лишь с боку-припеку.

Он уже пять лет все грядет и грядет и даже как бы уже есть, но чего-то не похоже, чтобы из него серебрянная пуля получилась. Скорее еще + один наворот

Массовое программирование отстает от bleeding-edge примерно на 10 лет. Посмотри на ситуацию с React и React Native — индустрия только привыкла к React, а на React Native смотрит круглыми глазами — тоже 2015 год, между прочим. Так что моя приблизительная оценка освоения WebAssembly — 2025 год.

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

Ну и чем тебе WebAssembly поможет? Сейчас он всё равно через DOM выводит страницу. Рисовать каждый сайт самостоятельно на канвасе? Будут глюки, ШГ, жор памяти (на каждый сайт свой процесс рендеринга всего с нуля), невырезаемая реклама

WebGL в значительной степени решает эти проблемы, поскольку позволяет коду отрисовки исполняться на уровне маш кодов (если на секунду забыть про довольно ресурсоемкую компиляцию этих самых кодов).

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

Точнее сайт пролетит со свистом мимо выдачи поисковиков

SSR никто не отменял, и он вполне активно используется на серьезных проектах SPA.

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

WebGL не избавит ни от глюков (вдобавок в зоопарк браузеров добавится зоопарк видеокарт, да и игры все такие стабильные, ага), ни от ШГ (их рисовать всё равно самим придётся), ни от потребления памяти, ни от рекламы.

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

SSR используется в проектах с интерфейсом на основе HTML DOM. Если у нас канвас, то и текстового представления информации нет.

static_lab ★★★★★
()

взять links/lynx или w3m и нормально туда добавить жабоскрипта

Тут сначала надо НИО(К)Р провести надо — а получится ли впихнуть жаваскрипт.

Нет — это всё очень и очень долго (а значит и дорого). А одному так вообще.

deep-purple ★★★★★
()

Запилить браузер стоит не очень дорого. За год команда из двух-трёх профи тебе выкатят браузер с поддержкой основных стандартов. Если денег чуть больше, то можешь выписать пачку индусов, но это уже путь мелкомягких. Правда такой браузер потом выкинешь - собственно см. историю разработки браузеров от мелкомягких, но вернёмся к нашим профи.

Браузер создан, но останется несовместимость с веб-сайтами из «хвоста». И тут потребуется большой-большой баг трекер для добавления костылей в код профи, чтобы все сайты веб-макак отображались более-менее правильно.

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

P.S. Если бы я взялся за разработку браузера, то просто бы забил на WWW, W3C и WHATWG, придумал свой ЯП и p2p интернет с вайтджетоми, конечно не без помощи сообщества. Впрочем, это уже другая история.

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

Не сложно, а скорее невозможно.

RazrFalcon ★★★★★
()

Трудно ли запилить свой браузерный движок с вайтджеком

Ну есть несколько вроде как запиленных с нуля движков рендеринга+скриптинга (HTML+CSS+JS), причём значительно обгоняющих Хромог по FPS, которые используют для рисования гуя десктопных программ или игр. Не думаю, что на их создание ушли триллионы долларов.

Правда, это ещё не браузерные движки, вряд ли там есть работа с HTTP.

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

WebGL не избавит ни от глюков (вдобавок в зоопарк браузеров добавится зоопарк видеокарт, да и игры все такие стабильные, ага)

Не могу всапомнить игры, которая бы на консервативном OpenGL имела проблемы. Порой, OpenGL используется в качестве fallback-механизма.

ни от ШГ (их рисовать всё равно самим придётся)

Ну это еще вполне решаемый вопрос, как и интерфейсы доступа как DOM из WASM.

ни от потребления памяти

Да.

ни от рекламы

WONTFIX.

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

SSR используется в проектах с интерфейсом на основе HTML DOM. Если у нас канвас, то и текстового представления информации нет

У SPA вне скриптов тоже нет текстового представления. А сам HTML у SPA часто такой угарный, что тоже не подходит для индексации — как минимум гугл для этого рендерит SPA в DOM и анализирует видимые элементы на странице.

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

Если денег чуть больше, то можешь выписать пачку индусов, но это уже путь мелкомягких

Это не путь мелкомягких, потому что у мелкомягких, по крайней мере до недавнего времени, работали лучшие мировые программисты.

Если твой браузер будет крут (чем тебя хром не устраивает?), то у тебя появятся фанаты. И там уже можно начать потихоньку дорабатывать сайты из хвоста

Ты забыл фактор «большинство людей сидят на сайтах гугля, потому гугль добавляет каждый год новые фичи в браузер под свои сайты» — в итоге для поддержки самых популярных сайтов нужно будет тягаться в разработке новых фич с хромом.

Если бы я взялся за разработку браузера, то просто бы забил на WWW, W3C и WHATWG, придумал свой ЯП и p2p интернет с вайтджетоми, конечно не без помощи сообщества

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

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

Грядет WеbAssembly, гре браузер лишь с боку-припеку.

бинарники с хз каким кодом у себя запускать? будущее окажется хуже моих кошмаров.

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

бинарники с хз каким кодом у себя запускать? будущее окажется хуже моих кошмаров

В вьебсайты с хз каким кодом тебя не смущают?

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

жабосёр выпилить можно и просмотреть, а эти блобы чё дизасемблить?

Давай мне ютьюб без скриптов посмотри.

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

индустрия только привыкла к React

Кстати, а где почитать, как КРАСИВО на реакте писать?
А то куда не ткнись, где реакт, всё тормозит, по мере загрузки сайта ПО-ОЧЕРЕДИ отрисовывается, при изменении ПЕРЕрисовывается кусками... Будто gtk-0.6 использую.
Вот про этот ад где почитать?

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

Кстати, а где почитать, как КРАСИВО на реакте писать?
А то куда не ткнись, где реакт, всё тормозит, по мере загрузки сайта ПО-ОЧЕРЕДИ отрисовывается, при изменении ПЕРЕрисовывается кусками... Будто gtk-0.6 использую

Авторы книг пишут с задержкой лет пять, в институтах к этому числу добавляют еще пять лет. Можешь убедиться — книжки по реакту начали появляться массово только с 2017 года.

Конкретного совета по литературе у меня нет, но если дашь ссылку на сайт, то могу конкретно сказать, почему он тормозит и вина ли это реакта. Как минимум перерисовка кусками — это не проблема самого реакта. Загрузка по частями может быть оправдана снижением требований к серверу.

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

чет слишком жирно

Что жирно, то? Чё там сложного отрендерить HTML по стандартам и CSS с JavaScript к боку подвязать? JavaScript можно даже не реализовывать, а взять один из готовых движков.

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

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

youtube-viewer

Ты на каждый сайт свой viewer в систему ставишь?

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

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

ниасилили и дружно насасали на движок гугла в едже

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

гугль добавляет каждый год новые фичи в браузер под свои сайты

И что? Эти фичи годами как preview висят, на реальных сайтах они не используются.

Мне кажется, что я уже слышал про такие проекты, но даже не смогу вспомнить их названий

Потому что в них нет смысла для массового пользователя. Заинтересуй массового пользователя и все будут в курсе названия. Как сейчас каждая бабка слышала про торренты.

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

Чё там сложного отрендерить HTML по стандартам и CSS с JavaScript к боку подвязать?

В 1999 году — просто. Для справки, сегодня 2020 год на дворе.

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

ниасилили и дружно насасали на движок гугла в едже

У них пропал смысл форсить свою монополию в виде IE, потому что они проиграли по игрофонам, а там сейчас основной движ. Им сейчас выгоднее иметь больше аудиторию, чем вендорлочиться, потому они берут самый популярный движок и следуют стандартам.

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

И что? Эти фичи годами как preview висят, на реальных сайтах они не используются

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

Потому что в них нет смысла для массового пользователя. Заинтересуй массового пользователя и все будут в курсе названия. Как сейчас каждая бабка слышала про торренты

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

byko3y ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.