Pull to refresh

Comments 35

Статья очень интересная с точки зрения программиста, спасибо. Но с точки зрения рядового пользователя - какого рода преимущества может дать подобный проект?

Для рядового пользователя от этой статьи - никакого толка, естественно. Разве что собрать chromium с жестко отключенными cookies и серфить в нем в режиме read-only.

какого рода преимущества может дать подобный проект

Сорри, недопонял вопрос. Если (когда) проект раскрутится - я наеюсь что это станет легковесной заменой электрона. Легковесной - 15-20 мегабайт а не то безумие что мы сейчас имеем. С гораздо меньшими аппетитами по памяти. И вот приложения построенные на таком фреймворке я думаю будут для рядового пользователя гораздо приятнее.

То есть идея использовать интерфейс хрома вместо электрона, я правильно понимаю? А что должно остаться от электрона?

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

так статья не про проект, проект упомянут что бы объяснить откуда все пошло и куда все катится. Про проект будет отдельная большая статья с обзором аналогов electron и объяснением почему это не работает.

То есть идея использовать интерфейс хрома вместо электрона

не совсем. От хрома остается усушенный blink, v8 (в одной из сборок, так то я хочу и без него обойтись) и немного обвеса. Электрон сейчас нужен потому что он есть и работает и на нем можно относительно быстро проверять гипотезы.

А почему вы считаете, что получившееся будет легковеснее?

И вообще, что под легковесностью подразумевается? 15-20 мегабайт -- это про размер на диске? Так он мало кого волнует, важен размер в памяти.

Так он мало кого волнует, важен размер в памяти

В следующем предложении я же про память тоже говорил. С гораздо меньшими аппетитами по памяти.

А почему вы считаете, что получившееся будет легковеснее?

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

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

Ну если особо не разбираться и думать что в электроне только один v8 и он в ноде - то да, выглядит именно так.

А если "выпилить побольше и чтоб было побыстрее", то моя фантазия говорит так:
- меняем JavaScript на C++
- смотрелка упрощённого HTML, кажется, в Qt какая-то была
- ?????
- PROFIT!

Коллега, надеюсь не отобью желание изучать хромиум, но проблема скромных по размеру кроссплатформенных приложений на веб стеке уже решена в замечательном проекте под названием tauri (tauri.studio). Хейтеров ещё нету но это не значит что что-то плохое.

Ещё одна вещь которая стоит упоминания - qjs (quickJs) белларда - который является очень легковесными но быстрым вариантом сходить из js в файловую систему и веб без использования ноды

tauri как по мне это про другое. А конкретно использование системного браузера.

Можно, но тогда попадем в локальный минимум - на определенном этапе я намерен выкинуть парсер html и много чего еще (это как раз в статье про Снегурочку и будет) и тут уже мы в рамки интерфейса CEF не помещаемся, все равно придется потрошить.

А. В смысле вместо электрона? Вообще да, можно. надо подумать.

Нужен мануал, как собрать Chromium под Windos XP

49 версия уже есть в интернетах собранная под ХР и она уже почти никакие сайты не открывает

UFO just landed and posted this here

Короткий ответ: никак.

Длинный ответ: последняя поддерживаемая версия хромиума 49, но ее тоже уже не собрать (или очень сложно), т.к. она требует старые компиляторы, библиотеки и вот это все. Скорее всего она просто не будет собираться современной студией.

последня версия VS, которая компилирует под ХР - 2017, довольно современная студия, которую можно легко скачать. А вот Chromium под Windos XP вполне нужная вещь для многих людей...

Из исходников Хрома за много лет было удалено куча XP-specific особых случаев и хаков. Примерный масштаб можно получить, посмотрев на https://bugs.chromium.org/p/chromium/issues/detail?id=579196 и связанные с ним задачи - это сотни, если не тысячи коммитов, и накатить их обратно будет сегодня архисложной задачей из-за того, что остальной код сильно поменялся за прошедшие годы.

Думаем, выходим из себя, бунтуем и меняем:

'chromium_git': 'https://chromium.googlesource.com/chromium/src.git@'
Не очень понятно зачем из себя выходить здесь, вы ведь по сути перенесли '/chromium/src.git@' в переменную «chromium_git» или что-то ускользнуло от моего внимания?
Значит не показалось)
Спасибо за статью читал на одном дыхании и застрял на этом моменте.
Еще интересно
В приниципе если мы это пробросим в chromium то и нода для electron не нужна и ее можно выкинуть. Ок.

Я правильно понимаю что вы ноду собираетесь выбросить еще? В планах в конце статьи не нашел этого

Выброс ноды - это вообще первый шажок. Там по хорошему выбрасывать и выбрасывать, но честно, в коментариях именно к этой статье я не хотел бы этого обсуждать, это будет отдельная статья с подробностями.

Если локальная IDE не "тянет" IntelliSense на Хромиуме (что неудивительно), можно пользоваться source.chromium.org. Он умеет искать определения функций и классов, их использования, понимает автогенерацию кода из mojom, и т. п.

Раз уж тут такое дело, не могу не упомянуть про альтернативу electron -- tauri.

Её главное достоинство -- она не старается тащить браузерный движок с собой, а использует системный Webview2 под Windows (который поставляется с Edge), WebKit под macOS и webkit-gtk под линуксами.

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

...и содержать кучу костылей для WebKit, у которого вечно хромает^Wсафарит поддержка стандартов, и потом мучаться с тестированием под macOS, пропадает главное достоинство electron'a - написать один раз чтобы работало везде.

Во многих случаях, приложение, запускаемое в электроне ещё имеет и браузерную веб-версию, так что флоу разработки не изменится.

Для остальных случаев, да, делать кроссплатформенный код.

Будем откровенны, если есть полноценная вебверсия - электрон вообще не нужен, с таким же успехом можно создать ярлычек для запуска окошка браузера, всякие слаки и фигмы никаких серьезных плюсов от приложения не дают(кроме того, что их можно безболезненно убить когда они съедят всю память), пока сидишь в песочнице нет никакой разницы, электрон нужен чтобы выбраться из нее.

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

Это очень редкие баги, едва ли что-то обнаруживается пару раз в год, это вам не ie поддерживать.

В том, что касается Layout/Render они очень близки, у меня вызывает опасение насколько близка обвязка tauri и сколько еще проживет webkit-gtk, Epiphany остался фактически единственным альтернативным браузером на Webkit, Midori помер, под виндой свежий вебкит не просто завести.

  1. После переключения между ветками в Chromium попробуйте засинкаться без удаления папки сборки: gclient sync --with_branch_heads --with_tags.

  2. Набор кодеков в Chromium станет больше если добавить в agrs.gn ffmpeg_branding = "Chrome", proprietary_codecs = true.

Sign up to leave a comment.

Articles