LINUX.ORG.RU
ФорумTalks

Я тут покопался в ресурсах Firefox...

 , , ,


3

3

Какую дозу веществ нужно было принять, чтобы сделать весь интерфейс на помеси XML+HTML и кучи JS скриптов? Почти всё там на JS.

Как там в браузерах на основе хрома - так же, или нормально сделали?

UPD: даже современные говносайты не смогут похвастаться таким количеством подключенных скриптов на страницах...

UPD2: я тут попытался кое-что сделать... Если кто-то хочет, проверьте - https://yadi.sk/d/nmB6TCD23FejD6 . Забэкапьте этот файл в /usr/lib/firefox и замените тем что по ссылке. Отключил кучу проверок, еще всё, что связано с социалками и прочим. В оффтопе и маках будет глючить, т.к. я как истинный идиот удалил почти всё, связанное с этими платформами планировал дальше линя не идти.



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

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

Inshallah
()

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

sehr
()

поэтому интерфейс лучше вырубить нафиг. Пусть останется один pentadactyl

dikiy ★★☆☆☆
()

Всё, что написано на C++ и прочем...

webkit-gtk2-2.4.11_6.txz собирался больше часа.

thunderbird-45.8.0.txz - полчаса.

firefox-51.0.1,1.txz - 45 минут.

(На AMD Phenom II X4 810)

iZEN ★★★★★
()

Какую дозу веществ нужно было принять, чтобы сделать весь интерфейс на помеси XML+HTML и кучи JS скриптов?

Переписывать это всё на C++ просто нет смысла. Скорости не прибавится, потому что тяжёлые операции уже выполняются кодом на C++. Зато всё станет прибитым гвоздями.

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

оперативка?

Что «оперативка»? Движок Javascript всё равно уже запущен, он работает, занимает память.

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

кстати, оно уже прибито гвоздями: поставил дополнение, немного изменил интерфейс == перезапустил браузер

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

И что? меньше js - меньше движку надо

Если ты уверен в своей точке зрения, сделай proof-of-concept. Замерим потребление и производительность. Если выигрыш будет заметным или хотя бы вообще будет, попробуем протолкнуть патчи в апстрим.

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

только если не уметь в С++

Не забудь, что нужно ещё API для аддонов предоставить. Все C++ фишки нужно будет обернуть в Javascript объекты... и получится ещё хуже, чем было раньше.

В Midori вроде и интерфейс на C++, и аддоны на C++. И довольно долго это всё падало на каждый чих, а чинить никто не мог. У основных разработчиков не падает, а у пользователей нет квалификации.

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

прибито гвоздями

поставил дополнение, немного изменил интерфейс

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

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

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

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

Все C++ фишки нужно будет обернуть в Javascript объекты.

5-и классник справится, если грамотно сформулировать задачу

next_time ★★★★★
()

Нужен тег «я познаю мир». Ты еще на гном третий посмотри.

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

пишешь на плюсах .so интерфейса и будет вам его изменение

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

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

а ещё, к слову, так встроили видеокодеки в браузер. когда выпиливать начнут?

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

выдвинули вы

OK, я выдвинул идею: «сохранить совместимость», я молодец. :-)

А я и не знал, что это оригинальная идея. Считал чем-то самим собой разумеющимся.

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

Ну тоже наверное подумали: жрат и тормозить не будет. Когда впиливали оно может и оправдано было. А сейчас лор сжирает больше, чем этот интерфейс.

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

Переписывать это всё на C++

C++ - для лохов, асемблер для пацанов. Даешь браузер на асемблере!

Behem0th ★★★★★
()

Это называется XUL, это очень просто и гибко. В значительной степени именно им обусловленная высокая кастомизируемость Firefox

MrClon ★★★★★
()

весь интерфейс на помеси XML+HTML и кучи JS скриптов

Поздравляю - ты только что увидел XUL. На самом деле для интерфейса и расширений это решение хорошее.

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

NextGenenration> оперативка?

Конкретно интерфейс на XUL жрёт не так уж и много на фоне сайтов. Да и Firefox с XUL неплохо работал на компьютерах с 64Mb RAM и выше. Так что прожорливость XUL для этой задачи преувеличена. Тем более, что браузер те же HTML-странички рендерит, природа которых такая же, как и у XUL.

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

Уже пробовали на Qt переписывать интерфейс к Firefox. Ничего хорошего не добились этим.

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

И получаем прибивание гвоздями к платформе.

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

Конкретно интерфейс на XUL жрёт не так уж и много на фоне сайтов.

Жрет может и не много, но фризится периодически на ура

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

Как будто другие не фризятся, когда нагрузка скриптами даётся большая. Ровно как и как будто firefox фризится, когда без нагрузки работает. Причина не в XUL.

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

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

Quasar ★★★★★
()

Кстати, про JS ты неправильно заметил. В XUL использование JS минимизировано через встроенные теги для создания интерфейса, что и оптимизирует производительность.

Quasar ★★★★★
()
Ответ на: комментарий от cvs-255

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

grem ★★★★★
()

Как там в браузерах на основе хрома

В Chromium интерфейс прибит гвоздями C++'ами. В Vivaldi на основе Chromium интерфейс вынесли уже в javascript и прочие html.

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

Вот, да, в стильном, модном и молодёжном Vivaldi сделано точно так же.

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

Это значит, что вкладка с интерфейсом и кешем в одном синхронном потоке. И это, мягко говоря, ппц. Но выпиливание XUL не спасет вот вообще. Даже еслм на ассемблере всё переписать, продолжит фризиться.

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

В Chromium интерфейс прибит гвоздями C++'ами.

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

Deleted
()

Ну в вивальди гуй тоже на js. Зато в браузере есть хоть что-то кроме вкладок и одной строчки.

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

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

Для этого нужен универсальный API для создания интерфейса. Есть мнение, что WebExtensions к этому придут рано или поздно.

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

пишешь на плюсах .so интерфейса

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

peregrine ★★★★★
()

интерфейс на помеси XML+HTML и кучи JS скриптов

Что в этом плохого?

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