Вчера Mozilla Foundation объявила о грядущих серьёзных изменениях в работе браузера Firefox. Стараясь не отставать от современных тенденций, браузер переходит на такую схему работы, где каждой отдельной вкладке будет соответствовать отдельный процесс. К сожалению, внедрение этой схемы означает, что браузеру придётся отказаться от поддержки дополнений, работающих при помощи текущего API.
Проект Electrolysis, который как раз должен обеспечить работу каждой вкладки со своим процессом, появился ещё в 2009 году. Но с тех пор он крайне вяло развивался, и постоянно переходил в стадию заморозки. Основная проблема, с которой столкнулись разработчики – невозможность подружить проект с существующим API для дополнений.
Текущее API браузера называется XPCOM (кросплатформенная объектная модель компонентов), позволяющая писать дополнения на различных языках: C++, JavaScript, Java, через слой абстракции XPConnect. Эта система помогла появлению огромного количества дополнений к браузеру, что сыграло не последнюю роль в наборе им популярности.
XPCOM позволяет дополнениям взаимодействовать с браузером на достаточно интимном уровне, дополняя и изменяя поведение всех его компонентов, от элементов интерфейса до рендера страниц. К сожалению, эта система имеет и обратную сторону – её очень сложно скрестить с идеей Electrolysis и отдельными процессами для каждой вкладки. По канонам этой идеи все дополнения должны работать в отдельных от основного браузера процессах, а в такой форме их взаимодействие с внутренностями Firefox крайне затруднено.
В попытках скрестить эти две сущности Mozilla вводила протокол CPOWs (cross process object wrappers, межпроцессные объектные обёртки), для общения между процессами. Но система получилась медленной, к тому же она не обрабатывает все возможные сценарии взаимодействия. В связи с этим от неё также решено отказаться.
Firefox обещает сохранить поддержку дополнений, использующих высокоуровневый API, если они не будут использовать XUL (язык разметки для создания динамических пользовательских интерфейсов на основе XML). В целом XPCOM, XUL и CPOW исчезнут из браузера через год-полтора.
В результате Mozilla внедряет API под названием WebExtensions на основе JavaScript и HTML, которое уже используют Chrome и Opera, а Microsoft добавляет очень похожую вещь в свой Edge. Так что положительная сторона этой затеи состоит в том, что разработчикам очень просто (теоретически) будет писать дополнения, которые будут работать во всех современных браузерах.
А плохая новость для разработчиков в том, что необходимо будет переделать текущие дополнения на работу в новой системе. Это значит, в частности, что все дополнения, которые больше не поддерживаются разработчиками (но пока всё ещё работают), канут в лету. При этом сама организация признаёт, что далеко не все существующие дополнения можно будет воспроизвести при помощи нового API, поскольку в нём просто нет всех возможностей, присутствующих в текущем API.
Кроме этого, заботясь о безопасности пользователей, Mozilla постепенно вводит обязательную сертификацию дополнений к браузеру. Уже начиная с 42-й версии браузера, которая появится в ноябре, невозможно будет установить дополнения без цифровой подписи. Такую подпись получат только те дополнения, которые будут одобрены организацией, и будут распространяться через репозиторий addons.mozilla.org.
Комментарии (140)
ItHamster
23.08.2015 01:26+32Глупости какие-то. Своими же руками уничтожают свой же продукт. Идиотизм некоторых корпораций и фирм меня порой поражает.
Жаль конечно, Пользуюсь лисом исключительно из-за его дополнений. несколько раз пытался пересесть на Хром, но именно дополнения не давали это сделать. А теперь даже не знаю что и делать…Vanok
23.08.2015 02:15+14Согласен. Такое ощущение, что в компанию пришли люди вообще не понимающие зачем создается Firefox.Они хотят сделать как в Хроме… вот только зачем, если Firefox уже упустил свой шанс стать браузером №1 и держится как раз за счет контраста относительно хрома. И главным контрастом является именно полноценная поддержка дополнений. В то же хроме, к примеру, нет полноценного плагина для управления жестами: все существующие наработки не могут работать с техническими страницами, а в огнелисе они работают нормально. Когда эту и остальные подобные указанной фичи убьют, смысл будет оставаться на Firefox?
danfe
23.08.2015 10:52+3Пользуюсь лисом исключительно из-за его дополнений. несколько раз пытался пересесть на Хром [...]
Пользуясь случаем, спрошу: а по каким причинам пытались пересесть? Неужели Firefox больше ничем не привлекателен, кроме дополнений?
Не флейма ради (спорить кому что «удобней-неудобней» можно до хрипоты), но меня действительно весьма удивляет популярность хрома — закрытого браузера, доверять которому стоит с известной осторожностью (история по ссылке показывает, что опенсорсность хромиума ни от чего гарантией не является).
Гугл, конечно, его активно рекламирует и предлагает установить, что называется, «из каждого утюга», но почему-то хром не только домохозяйки ставят, он популярен и у технарей-айтишников, несмотря на закрытые исходники и частые жалобы насчет прожорливости и растущих из года в год системных требований. Лисица, конечно, далеко не идеал, но я лично не вижу технических, объективных причин почему у хрома, по разным оценкам, сейчас доля около 50-60%, а у лисицы — 10-20%. Чем же это объясняется?Aclz
23.08.2015 11:12Например, в корпоративной среде Хром удобнее. У продуктов Mozilla централизованная настройка сделана через одно место, а Хром использует настройки ОС из коробки.
a553
23.08.2015 11:30У Firefox есть очевидные проблемы со стойкостью к загаживанию Windows домохозяйками. Я много раз встречал, что Firefox отказывается запускаться или обновляться без видимой причины, и попытки решить эту проблему за 5 минут не дают результатов. В Chrome таких проблем не замечал — наоборот, чтобы сломать автоообновление, мне пришлось немного помучиться. Вот и приходится пользоваться Chrome, потому что Firefox не работает.
isden
23.08.2015 11:32Ну вот вам чисто техническая причина (почему я ушел в свое время на Хром) — при каких-то проблемах у него падает/начинает тупить только одна вкладка (== один процесс). У FF — весь браузер валится или встает колом. В Хроме есть вещи, которые лично мне не очень нравятся, но выхода пока особо нет. Жду Electrolysis уже несколько лет.
danfe
23.08.2015 11:43Согласен, это весомый аргумент (видел как-то Task Manager или Process Monitor в хроме: удобная штука, конечно). С другой стороны, обычно в тупняках лисицы виновен какой-нибудь тяжелый и/или глючный скрипт; с тех пор, как я стал пользоваться NoScript, стало сильно лучше даже без многопроцессности.
isden
23.08.2015 11:45> какой-нибудь тяжелый и/или глючный скрипт;
Так я как раз и работаю часто именно с такими скриптами :)
Alexey2005
23.08.2015 12:28+5Мало того, даже если никаких проблем нет, а просто парсится DOM сильно перегруженного сайта, все вкладки подвиснут на 2-3 сек. А уж если проблемы — подвиснет весь браузер секунд на 20-30, до всплытия окошка «скрипт не отвечает». И всё это время вы не сможете даже закрыть глючную вкладку. Просто закрыть! Mozilla что, до сих пор живёт во временах Windows 3.11 с её невытесняющей многозадачностью?
Во-вторых, FF очень падуч. Причём его падения кроссплатформенные, т.е. если в каком-то случае он падает — будет падать везде, на любой ОС. Да, в большинстве случаев эти падения вызваны дополнениями. Но что ж там за архитектура такая, что js-код, пусть и выполняющийся с повышенными привилегиями, может уронить браузер с сегфолтом?
Наконец, в FF от версии к версии старательно урезают функционал. Например, как в современном FF отключить скрипты и загрузку графики? Разработчики утверждают, что это «нинужно», а на крайний случай есть дополнения. Только отчего-то дополнения эти кривые (например, отключение картинок кособочит разметку). Тогда как в Chrome очень удобное регулирование скриптов, графики и плагинов — можно включать по запросу на отдельных страницах, и этот выбор ещё и запоминается браузером.Alexeyslav
23.08.2015 15:38А сейчас мало осталось сайтов которые способны работать с отключенными скриптами. Поэтому правильно делают — скрипты надо отключать выборочно, т.е. дополнениями а не все на корню.
Недавно вообще сайт попался — работает исключительно на флеше, отключаешь флеш — всё. белая страница и НИЧЕГО.danfe
23.08.2015 16:28+3Поэтому правильно делают — скрипты надо отключать выборочно, т.е. дополнениями а не все на корню.
Авторы NoScript в этом смысле вообще молодцы, что сделали temporarily allow — таким образом довольно легко поддерживать нужный уровень блокировки, и когда-то разрешенный сайт с ныне диким язва-скриптом, на который вы вдруг снова случайно зашли, ничего не испортит.
Почему многие (тем более новостные) сайты без JS/Flash не могут тупо отдать текст — для меня загадка. Неужели так сложно один раз протестировать работу в lynx/links?Alexey2005
23.08.2015 17:14+1Это из-за нездоровой моды на AngularJS и подобные фреймворки, когда вместо того, чтоб генерировать страницу на сервере, её собирают в рантайме на клиенте, вызывая тормоза и вот такие побочные эффекты вроде невозможности получить текст без включенного JS.
А в NoScript очень не хватает возможности Temporary allow только для текущей страницы — а то если разрешить, к примеру, AdSense на одной странице, он активируется сразу на всех, пусть и до перезапуска браузера.
Alexeyslav
23.08.2015 18:16Войны копирайта… не хотят чтобы можно было простым ботом тырить тексты с сайтов и потом ими же зарабатывать позиции для левых сайтов.
Скоро дойдет до того что текст будет частично рисоваться скриптом на страничке, а с отключенным скриптом текст будет с массой орфографических ошибок либо вовсе дырявый.danfe
23.08.2015 18:29Похоже на правду. Боже, как все-таки веб изменился… и насколько же мы (люди) меркантильные
мчудаки. :-(
ankh1989
23.08.2015 23:40Мне кажется всё проще: страницу рисуют на клиенте потому менять код на js быстрее и дешевле чем менять что то на сервере, особенно если серверная инфраструктура забористая. А то что кто то там по telnet посмотреть сайт не сможет — эта аудитория всё равно на доходы не влияет.
danfe
24.08.2015 10:42Но контент-то (собственно, текст) берется с сервера и в любом случае передается клиенту? Ну смешно же: данные уже на клиенте, скрипты все, но в результате пустая страница, т.к. скрипты по какой-то причине (NoScript, lynx) не отработали, и читать текст приходится через view page source.
Да и что там на сервере менять: один раз настроить, чтобы без JS (по телнету) тупо отдавался текст как есть в какой-нибудь минимальной разметке.ankh1989
24.08.2015 13:28Не, не все равно. Написать рендерер html на сервере это нифига не простая задача: там надо разбираться в самом html и всем, что с эти связано, надо не положить сервер кривым кодом, надо думать о нагрузке и расходах на поддержку этой нагрузки и т.п. А потом надо быстренько поправить дизайн страницы и тут начинается процедура внесения изменений на сервер. Гораздо выгоднее нанять одного крутого кодера который сделает чистый http api, и нанять десяток взаимозаменяемых индусов которые наклепают на js рендерер — они могут написать код произвольной безобразности, но поскольку работать это будет на машине клиента, безобразность кода никого не волнует.
danfe
24.08.2015 15:45Зачем писать рендерер html на сервере? Что там рендерить? Взять из базы текст и завернуть в div — пусть его lynx отображает как умеет.
Вот просто из общих соображений: видеть пустую страницу при выключенных скриптах, когда ее основная смысловая нагрузка (текст) находится в памяти браузера, — это неправильно. Я все понимаю про индусов и js-рендереры, но неужели сложно хотя бы давать ссылку на лайт-версию страницы вместо пустоты?Alexeyslav
24.08.2015 19:33А кто заплатит за эту функцию? Даже если это не накладно, могут не согласится СЕО-шники, это же упрощает работу бота от конкурента…
boblenin
23.09.2015 17:36Алексей, ну ведь не одних настройках дело. Добавили эту функциональность — потратили пару тройку человеко-дней на создание легковесных страниц, отображающих то же самое, но для 0.1% пользователей. Эта пара тройка человеко-дней не пошла на исправление критического бага или запрашиваемой многими функциональности.
Потом потратили пару тройку дней на тестирование легковесных страниц (не хотим же чтобы пользователи видели откровенно сырой продукт?!), потом провели динамическое и статическое сканирование легковесных страниц с помощью какого-нибудь секур вендора и если он нашел что-то, то и это подправили — это еще время и деньги.
А после того как все успешно выкатили в продакшен приготовились к отдельному потоку баг репортов для легковесных страниц, а значит нужен персонал для их поддержки и доработки, особое счастье в том, что если что-то новое добавляется к основным view — то легковесные тоже надо допиливать чтобы не ломались. На этом кстати большинство тех, кто так делает и сдувается. Перестают поддерживать опциональные методы рендеринга.
bakatrouble
24.08.2015 00:23Например, как в современном FF отключить <...> загрузку графики?
Как-то так
ValdikSS
03.09.2015 19:49+2Вы и isden, в новых версиях FF это почти починили, не до конца, конечно, но стало гораздо лучше. Вынесли рендерер вывода на экран и выполнения скриптов в отдельные потоки.
И, честно говоря, за уже 3 года использования Firefox, он у меня падал буквально не более 5 раз. Не понимаю, о каких падениях вы говорите.isden
03.09.2015 19:54Это радует.
Я как раз уже начал посматривать в сторону возврата на него, ибо Хром реально задолбал своим аппетитом на память (которую и отдавать нормально потом не хочет).
scrutari
23.08.2015 11:56+2Я вот тоже остаюсь на Firefox исключительно из-за вопросов открытости и безопасности. Когда Chrome невозбранно лезет в /etc/passwd зачем-то, меня это, например, смущает.
Firefox и Chrome создавались с разными целями, и цель последнего меня совсем не устраивает.Londoner
23.08.2015 21:58+2Когда Chrome невозбранно лезет в /etc/passwd зачем-то, меня это, например, смущает.
Так, с этого момента поподробнее, пожалуйста.scrutari
23.08.2015 22:04CentOS 7.1 с KDE в качестве рабочего стола. Chrome установлен из официального YUM репозитория Google (поставил бы Chromium, но под CentOS нет RPM-ок, а собирать Chromium из исходников не так-то просто). Каждый раз при запуске Chrome SELinux детектит попытку чтения файла /etc/passwd процессом "/opt/chrome… nacl_" (точно не помню, так как этот файл я просто удаляю из директории установки Chrome после каждого обновления). Сам процесс chrome делает то же самое — SELinux видит попытку чтения /etc/passwd. Такие дела…
x4fab
23.08.2015 01:26+9Ого, паршиво. Кастомизируемость — едва ли не ключевая фишка Firefox. Судя по всему, скоро функциональность расширений будет катастрофически ограничена (возможно даже, вообще до уровня Chromium).
IRainman
23.08.2015 18:12+1Да, кошмар и ужас. Попрощаемся с древовидными вкладками, а из-за перехода на многопроцессную архитектуру FF научится как и хромые браузеры выжирать все ресурсы компа.
dom1n1k
23.08.2015 01:44-11И вы опять будете меня спрашивать, почему я всегда отключаю автообновления всего и вся?
Amomum
23.08.2015 01:45+12браузер переходит на такую схему работы, где каждой отдельной вкладке будет соответствовать отдельный процесс
Блин, только не это. Это ж сколько процессов у меня будет запущено, уу…Mad__Max
23.08.2015 03:01+6А уж у меня… Долбанутый Хром при моей манера работать в интернете жрет в районе 3 ГБ оперативки и больше (вплоть до 4х).
Один сраный браузер Карл!
Чтобы просто активно и комфортно посерфить в интернете на хромопобных браузерах уже нужна 64 бит ОСь и 8 Гб оперативки. Что за маразм.
В офисе который в «полглаза» админю уничтожаю хром как вирус — если очередной сотрудник жалуется что у него все вдруг стало тормозить и глючить, в 80% случаев оказывается что он себе поставил Хром. И его сносом и установкой например FF проблема устраняется, т.к. она заключалась в том что Хром сжирал большую часть свободной памяти и машина уходила в жесткий своп.DmitryAnatolich
23.08.2015 09:33+1Кхм, у меня оперативы 12, и Он частенько просто отжирал всю свободную (мы делим ноутбук с женой (не потому что нет второго, а потому что мой всегда включен), поэтому всегда открыта хренова туча вкладок (сейчас 132, например, но это мало).
В общем, пришлось ставить The Great Suspender. Да, неудобно — приходится ждать перезагрузки страниц, но зато выше 200Мб он обычно не разрастается.
Почему не пользуюсь Firefox? Ну не сложилось. Когда я ушел от него в Chrome по причине поглощения памяти. Но тогда памяти было гораздо меньше (елки-палки, в 24 раза меньше. Жрал память… %-)).iliabvf
23.08.2015 09:51а как вы с женой работаетет на одном ноуте? какой софт используете? или просто поочереди?
DmitryAnatolich
23.08.2015 10:01+4Системы распределения ресурсов «Руки оторвал — клаву потерял» и «Кто первый встал, того и ЭВМ». Чугунной сковородой по голове больно, поэтому кодить частенько приходится на нетбуке.
0lympian
23.08.2015 10:45Вот никогда не понимал, зачем такое гигантское кол-во вкладок :) Вероятно, неправильное использование их в качестве закладок всему виной? Или таки можно 132 читать условно-одновременно (в одной «сессии» серфинга)?
danfe
23.08.2015 11:33+3Они (вкладки) имеют свойство накапливаться в процессе серфинга (не обязательно одной сессии). Т.к. уже довольно давно лисица не загружает все вкладки при [ре]старте, их большое количество особо не мешает: «горячих» вкладок, т.е. тех, с которыми непосредственно работаешь «здесь и сейчас», обычно намного меньше открытых.
Bonio
23.08.2015 14:04Не мешает? Как в них ориентироваться то? Заголовки же даже не видно.
Я вообще больше 10 вкладок стараюсь не открывать, а если нужно то использую группировку вкладок в firefox.
VEG
23.08.2015 14:10Есть неплохие решения типа такого:
Если вкладок будет больше, чем 3 ряда (настраивается) — появится скролл.
danfe
23.08.2015 14:24+3У меня заголовок вкладки имеет фиксированный минимальный размер, и такой мешанины не получается: просто включается скроллинг (выглядит примерно как на скриншоте выше). То есть ориентироваться, в принципе, можно (ну и при наведении на вкладку отображается ее полный title).
norlin
23.08.2015 17:16+1Вот так, например: http://norlin.ru/st/tabs_1B8A0D27.png
Это, кстати, основная причина, почему я не перехожу с FF на Хром или Сафари.
Mad__Max
23.08.2015 21:04У меня они не ужимаются уже определенного размера(на которым все еще видна иконка сайта и начало заголовка по котором вполне понятно что за сайт в ей открыт), вместо этого появляется горизонтальный скрол (ну или 2й/3й этаж — при наличии соответствующего дополнения дополнении).
Причем не помню чтобы я что-то делал для этого специально, по-моему для FF это поведение по умолчанию и такой картины как у вас никогда в FF не видел
a553
23.08.2015 11:44+3У меня в типичный вторник в браузере можно найти:
- Основное окно в десятком вкладок, с RSS-агрегатором, мессенджерами, новостями и т.д. — казуальное такое окно.
- Окно со Stack Overflow — здесь я гуглю во время написания кода. В зависимости от степени трагедии может быть до 200 вкладок, потом предпочитаю закрывать, навигация становится неудобной.
- Одно-два-три-четыре рабочих окна — удобнее держать по десятку вкладок на каждый рабочий проект в разных окнах или группах.
- Специфические вещи типа поиска музыки. Исследую новый жанр музыки, например, открываю десяток вкладок для этого.
- Тематические вкладки, которые в скором времени понадобятся. Игры, например, — десяток вкладок про секреты GTA 5, десяток про билды в Diablo 3, ещё десяток про скрипты или броски в CSGO.
- Плеер-окно — ютуб, саундклауд или твитч идут в своё окно и свой монитор.
- Википедия-трип-окно — для чтения википедии в большом количестве. Тут может быть вообще дохрена вкладок.
Вот и получается, что открыто больше 100 вкладок, а по ощущениям ничего тяжелого и не делаешь в браузере.
DmitryAnatolich
23.08.2015 13:00+5Закладки — это кладбище. Я в жизни не вспомню, что туда «заложил» и не смотрю в них почти никогда. А вкладка будет мозолить глаза и оперативку.
Если их становится слишком много, а они «нужны», я их сохраняю в Session Buddy и закрываю — потом можно все разом открыть («А-а! Верни мои вкладки!»).
И да, обычно они не бездумно копятся, а являются частью какого-то злобного замысла.
Vilgelm
23.08.2015 15:07+2Зашел на главную Хабра, увидел десяток интересных статей, открыл, начал читать, отвлекли по работе, нужно что-то посмотреть, еще вкладки. Ну и так 30-40 за день накапливается.
DjOnline
23.08.2015 20:45Попробовал, не запоминает прокрутку страницы после перезагрузки. Как без этого читать длинные коммента хабра?
DmitryAnatolich
24.08.2015 20:48Ну так, «мыжпрограммисты»: всегда можно либо написать товарищу-автору фич-реквест, либо форкнуть и добавить функцию своими руками.
Vilgelm
23.08.2015 13:58Восьми тоже далеко не всегда хватает, частенько получаю «в системе недостаточно оперативной памяти», Хром все сжирает.
Однако площадки нужные мне в работе поддерживают только с Chrome. Приходится пользоваться.
IRainman
23.08.2015 18:20>>Чтобы просто активно и комфортно посерфить в интернете на хромопобных браузерах уже нужна 64 бит ОСь и 8 Гб оперативки.
Не поможет, 8 мало, я даже тест проводил как то, с тех пор как появился 64х битный хромоножка уже и 16 может на 10-15 вкладках с толстыми сайтами не хватить.
и для DmitryAnatolich: а я вот с хрома на лису перешёл из-за жора. The Great Suspender жутккий костыль: историю загаживает своими техническими ссылками, ресурсы полностью не отдаёт ибо не закрывает процессы совсем, а ещё часто теряет вкладки. В лисе же эта функциональность сейчас работает идеально ибо есть нормальное API для работы с вкладками. Если и лису сломают и сделают УГ без нормальных плагинов, то будет очень-очень печально.Mad__Max
23.08.2015 21:15Ну это так сказать минимальные требования. С меньшим на хром лучше просто не соваться. А так может конечно и больше сожрать.
Alexeyslav
23.08.2015 15:27Это огромная проблема? А сколько у вас сейчас процессов запущено? Не намного то и больше.
HurrTheDurr
23.08.2015 01:48+5Сейчас сижу на Firefox Developer Edition со включенным Electrolysis и хочу сказать, что не все так плохо. Из аддонов отвалился только FireShot и Vimperator. Последний, как я понял из обсуждений на гитхабе, перестал работать, в том числе, из-за обильного использования deprecated-функций, которые удалили и эта проблема сейчас решается.
Жизненно важный минимум из AdBlock, Ghostery, Greasemonkey и HTTPS-everywhere на переход вообще не отреагировал и продолжил работать.
К тому же, Electrolysis (с которым я пока никаких проблем не заметил) отключается. А на крайний случай у фаерфокса есть и будет множество форков, как с новыми возможностями, так и без них.xforce
23.08.2015 01:50+2Эти дополнения и так были везде. Вот что-то вида Tree Style Tab или TabMix Plus на новом апи уже будет принципиально невозможен, как я понимаю. Т.е. интерфейс приколотится гвоздями, как везде.
HurrTheDurr
23.08.2015 02:06+1Проверил. Tree Style Tab действительно не заводится со включенным e10s. Обычные вкладки пропадают, слева появляются зачатки интерфейса, кнопка добавления вкладки, но дальше дело не идет. С отключенным — все работает. Последняя сборка TabMix Plus работает и с e10s, и без него.
a553
23.08.2015 04:21Последняя версия TST (собранная вручную) прекрасно работает в последней Nightly с включенным e10s на момент написания этого комментария.
Bronx
23.08.2015 04:30+1Как насчёт Greasemonkey/Stylish? Classic Theme Restorer? Tab Kit 2nd edition?
И там правда 1 процесс на вкладку? Или на ядро? На домен? Что становится с браузером, памятью и процессором, когда открыто пара сотен вкладок? Может ли браузер выгружать вкладки после периода неактивности, сам или через расширение (сейчас я использую UnloadTab)?
susbox
23.08.2015 12:35Из аддонов отвалился только FireShot и Vimperator.
Ко времени релиза FireShot переведу на Electrolysis. Дальнейшие перспективы пока не ясны — поддержку Native-расширений на настоящий момент не обещают. Очень много работы в последнее время Mozilla подкидывает своими нововведениями.
a553
23.08.2015 04:10+8Да нет никакой трагедии, просто пост истинно-ализарский.
Если читать оригинал внимательно, то там говорится, что основные API кастомизации останутся. Tree Style Tab и NoScript не сломаются. По-сути выпиливается XUL и API приводится к более общему виду как WebExtensions. И это вполне правильная вещь — многие используют Chrome вместо браузера именно из-за дополнений, которые разработчики пишут только под Chrome, ввиду того, что дополнения под Firefox писать сложнее, а охватываемая аудитория — меньше. А XUL просился на выпиливание сразу после того, как стало ясно, что он «не выстрелил», то есть лет 10 назад.dannk
23.08.2015 08:34+1Ну если это убьет zotero, то для меня это будет настоящей трагедией. Это единственное, что заставило меня пересесть назад с хрома на огнелиса…
Meklon
23.08.2015 11:40Я на Mendeley переползаю…
jursovet
23.08.2015 12:22В нем, к сожалению, нет «бесплатного режима» (синхронизировать файлы по webdav). Ну и не opensource. Хотя, конечно, альтернатива №1.
dannk
23.08.2015 12:34похоже у них дается 2гб онлайн www.mendeley.com/features/backup-sync-mobile Не webdav конечно, но на некоторое время должно хватить, а там глядишь и еще добавят…
Meklon
23.08.2015 13:092 Гб мне более чем достаточно. Я сами pdf могу и отдельно хранить. Мне в основном под диссертацию списки источников формировать. Ну и под статьи.
dannk
23.08.2015 12:25+1перефразируя Твена «перейти на Менделей легко, я делал это тысячу раз». Надо будет наверное еще разок попробовать :-)
Meklon
23.08.2015 13:36У них плагин к Либре удобнее. И каталогизация мне больше понравилась. Хотя в принципе одна фигня. В крайнем случае можно безболезненно мигрировать
Они с Zotero совместимы.
Morthan
23.08.2015 09:58+1Я, конечно, оригинал просмотрел бегло и по диагонали, так что могу ошибаться. Но вот что беспокоит лично меня. Не сломаются ли TiddlyFox и Scrapbook? Оба, насколько я понимаю, требуют доступа к файловой системе, чтобы писать туда файлы, а Scrapbook ещё и XUL-ом пользуется.
И вдобавок меня напрягает невозможность установки неподписанных расширений. Сейчас я беру тот же Srapbook, распаковываю, допиливаю так, чтобы при сохранении страниц с Хабра из них удалялось всё лишнее, запаковываю и ставлю. И получаю свой собственный Scrapbook, заточенный лично для меня. Как я понимаю, в будущем я допиливаю кусок кода, отправляю на проверку в Mozilla, в течение пяти дней получаю ответ и могу допиленный код проверить в браузере? Так, что ли? Или я сгущаю краски и подпись будет касаться только расширений, которые распространяются через репозиторий?DmitryAnatolich
23.08.2015 10:13+1Ах, Scrapbook был моей любовью (архив хранится до сих пор, как оказалось, в нем целая туча статей с уже несуществующих сайтов), он был последней нитью, связывавшей меня с «прожорливым» Firefox 4. Но однажды обаяние Chrome перевесило необходимость в личном веб-архиве, и я ушел. Chrome пришел к Firefox и сам забрал мои вещи.
И я был крайне возмущен тем, что хром-аддоны не имеют доступа к ФС. До сих пор ношу в планах сделать совместимый аналог с прослойкой в виде веб-сервера. Не очень удобно (очень неудобно), но…Gendalph
23.08.2015 14:07caniuse.com/#feat=filesystem — не пойдет?
DmitryAnatolich
23.08.2015 14:17Не очень: на сколько я понял, доступ ведь не к реальной ФС, а к шифрованному хранилищу, лежащему в определенном месте с «не теми» именами. А когда я смотрел в последний раз, эта штука поддерживалась вообще только в ChromeOS.
Но подвижка есть, можно ковырнуть еще разок, спасибо.
a553
23.08.2015 11:22В Developer Edition (это типа альфа-версия) можно будет ставить неподписанные расширения. Меня потенциальное отсутствие возможности использовать релизные версии браузера тоже немного напрягает. Вот уж где действительно хромификация происходит.
Но с другой стороны, если это поможет побороть малварь в виде аддонов, то я за. Переживу и на альфе.a553
23.08.2015 13:33+2Обновление: помимо Firefox будут выпускаться небрендированные сборки от Mozilla, в которых можно будет отключить проверку подписи дополнений. morthan
Morthan
23.08.2015 15:23Это хорошо. Буду надеяться, что установка этих небрендированных сборок в Ubuntu не вызовет затруднений.
Но с другой стороны, если это поможет побороть малварь в виде аддонов, то я за.
Ни разу не видел малвари в виде аддонов. Наверно, распространяется через соц. инженерию?a553
23.08.2015 20:28Если честно, не знаю как распространяется. :) В основном занимается подменой сайтов и добавлением рекламы.
Morthan
24.08.2015 17:53Не думаю, что оно устанавливается через какие-нить эксплоиты. Скорее всего, надо чтобы человек самостоятельно его скачал и установил. То есть для защиты от него должно быть достаточно здравого смысла. :-)
a553
24.08.2015 18:00Mozilla не дадут подпись малвари, поэтому он не сможет малварь поставить. Я это имею ввиду.
Morthan
24.08.2015 21:24А я имею в виду, что если не ставить что попало, то малварь тоже не поставится. Про Mozilla и подписи это и так понятно.
ValdikSS
03.09.2015 20:06Вот, кстати, в Chrome Web Store малварь точно была, маскировалась под обходящее блокировки сайтов расширение, но не делало этого. Совместными усилиями друзей и прокси мы его заобузили, но на следующий день появилось еще одно.
vintage
23.08.2015 11:30В режиме разработчика всё-равно можно будет запустить любой код также как и в хроме.
DrPass
23.08.2015 10:57+1Ну как сказать. В частности, лично меня в этом огорчили отнюдь не изменения в API. В конце-концов, актуальные плагины никудашечки не денутся, разработчики их просто рано или поздно адаптируют. Причем скорее всего рано, т.к. девелоперские превью Файрфокса доступны, и можно заниматься миграцией. Меня намного больше огорчил факт, что Файрфокс станет многопроцессным.
Infocatcher
26.08.2015 10:32+1Сломаются. Тут надо ставить вопрос иначе: реализуемо ли это будет на новых API и хватит ли у авторов времени и энтузиазма переписать все практически с нуля.
Вот Tree Style Tab сейчас работает напрямую с оригинальными вкладками, переворачивает XUL-узел контейнера и добавляет отступы XUL-узлам собственно вкладок. Плюс содержит огромное количество оберток и патчей для встроенных функций, чтобы работало наследование родительской вкладки и прочие удобства. Так что даже текущих API не хватило, раз понадобилось заниматься хаками.
mwizard
23.08.2015 09:12+16… также в планах компании постепенный переход на Webkit.
</sarcasm>
stepik777
23.08.2015 12:18+1Скорее уж на Servo
danfe
23.08.2015 12:36Кстати да, вот Servo (побуду диванным аналитиком немного): он как раз и делается же ради безопасности, мультипроцессности, изолированности, etc. Обещается и совместимость с Chromium Embedded Framework. API дополнений все же слишком важная штука, чтобы его ломать в существующем продукте (тем более, когда именно за это его многие и ценят/предпочитают) — имхо логичнее радикальные изменения в данном случае сгруппировать (особенно если они related).
VEG
23.08.2015 13:52+3Дело в том, что текущее «API дополнений» — можно почти что отсутствие API, там просто даётся полный доступ ко всем внутренностям браузера. Доходит до того, что некоторые аддоны исправляют код функций браузера при помощи регулярных выражений (об этом упоминают разработчики Firefox), что приводит к проблемам в последствии при обновлениях и т.д. Возможность вмешиваться в работу любой части браузера — это очень гибко, позволяет реализовать самые смелые идеи. С другой стороны, при неумелом обращении или после обновлений (даже из-за небольшого изменения внутренностей) это приводит к разным неприятным последствиям. А при радикальных переменах типа внедрения многопроцессности или нового движка (Servo) это приводит к полной неработоспособности расширений. Это разработчики Mozilla и хотели бы исправить таким радикальным способом, введя какое-то внешнее стабильное API. Только у этого есть большой недостаток — ограниченным внешним API не реализуешь любую смелую идею. Например, я не представляю, какого рода высокоуровневое API (которое не было бы завязано на внутренности браузера) нужно для того, чтобы расширить стандартную адресную строку до такого:
А ведь подобных уникальных расширений для Firefox достаточно много.vintage
23.08.2015 14:30+1Вот именно, что надо менять архитектуру так, чтобы можно было изменить любое поведение браузера без необходимости «парсить исходники регулярками». XUL+XBL худо-бедно решали эту проблему. HTML даже не пытается её решить.
VEG
23.08.2015 14:38На сколько я понимаю, на данный момент не идёт речи о том, чтобы дать полный доступ к HTML интерфейса браузера. Впрочем, это ещё очень далёкое будущее. Как Servo далёк от завершения, так и HTML интерфейс появится не завтра, и даже не через год. Mozilla регулярно ошибается со сроками (вспомним Australis, который откладывался больше года; Electrolysis, который откладывается уже почти год), так что до этих серьёзных перемен видимо ещё очень далеко, и речь про год-полтора — это лишь чрезмерно оптимистичные планы Mozilla :)
Вместо XBL они планируют использовать Web Components. Правда, я не в курсе, можно ли там наследоваться и менять поведение существующих компонентов. Наверняка такое можно будет прикрутить при желании, если этого ещё нет в стандарте.vintage
24.08.2015 01:16В XUL для этого есть оверлеи: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Overlays
danfe
23.08.2015 14:38Спасибо, понятно. Собственно, что-то такое я и предполагал (возможность вмешиваться в работу любой части браузера); к примеру, в свое время я так и не нашел способа написать расширение для оперы (классической, на Presto) чтобы сохраняла mtime скачиваемых файлов — надо думать, как раз из-за ограниченности API.
С другой стороны, я боюсь, что API действительно станет слишком ограниченным; возможность/невозможность реализации не-разметочных-страничко-отобразительных плагинов вроде вашего примера или preserve downloaded files mtime это, думаю, продемонстрирует.
mib
23.08.2015 10:42+2Я люблю firefox за то, что у него есть firebug, adblock, noscript, html(5) validator, удобный доступ к кукисам, к очистке кеша.
В хроме это всё есть, но какое-то не удобное
Но что-то последнее время эта парочка firefox+firebug меня беспокоит: Стоит только где-то допустить в явоскрипте ошибку — firebug заявляет «а Вы знаете, что-то на этой странице вобще нет яво-скриптов». Ошибку можно исправить, обновить страничку, но ява-скрипта всеравно «нет»
Только запуск в новой вкладке приводит firebug в чувство. Ну это так, о наболевшем.
А по поводу топика — надеюсь, перечисленные плагины портируются в новый апи, иначе придется откатываться к старым версиям фф и плагинов.kapuletti
23.08.2015 11:00+2Советую пересилить себя и перейти на встроенный инспектор Firefox, он хороший.
AndreyYu
23.08.2015 10:56-4Мне, вот, просто интересно, а давно ли браузер перестал заниматься своей главной функцией и перешел в разряд программы, которая делает что угодно из-за плагинов и это ТАК важно, а последней ролью является отображение страниц, что такую «панику» развели в комментариях?:-)
a553
23.08.2015 11:24+4С тех пор, как браузер сам стал главной функцией компьютера. Сейчас невозможность использовать расширения в браузере сродни невозможности запуска Win32 приложений на WinRT.
goodbear
23.08.2015 12:36-6Не надо преувеличивать, кроме браузера все еще полно приложений и они решают свои задачи.
AndreyYu
23.08.2015 19:14Если уж так, то главная функция на ПК — включить ОС. Разные около-развлекательные программы лишь дополняют ОС. Если браузеру файерфокс надо обновиться и перешагнуть «на новый уровень» — это же здорово! Разработчики узнают что-то новое и сделают своей плагин ещё лучше. Всегда всё с каким-то пессимизмом преподносится, что ли…
EvilFox
27.08.2015 04:17сродни невозможности запуска Win32 приложений на WinRT
Но их всё-таки можно, неофициально.mwizard
28.08.2015 11:10Я не разбираюсь в теме, но WinRT — это arm, а Win32 — это ia32 или em64t. Как можно запустить одно на другом, пусть даже «неофициально», не прибегая к виртуальным машинам с полной трансляцией?
VEG
28.08.2015 12:13Обычно Win32 называют старое API в Windows, которое используется для классических десктопных приложений. Полагаю, что имеется в виду неофициальная возможность собрать Win32 приложение под ARM и запустить его, хотя официально ARM версия Windows умеет только приложения с новым API.
mwizard
28.08.2015 13:00Теперь понятно. Т.е. речь о «убегании» из Metro/ModernApp-песочницы?
VEG
28.08.2015 13:43Сам никогда такие планшеты не держал в руках. На сколько я слышал, там по умолчанию есть классический рабочий стол, но сделан он только для возможности запуска классического офиса. Остальной софт нельзя запустить из-за какой-то проверки (наверное нужна цифровая подпись MS), и запуск стороннего Win32 софта возможен после обхода этого ограничения.
EvilFox
31.08.2015 14:04Win32 само по себе не завязано на каком-то конкретном железе, можно пересобрать под другую архитектуру.
forum.xda-developers.com/showthread.php?t=2092348
Транслятор x86->arm кстати тоже есть где-то на этом форуме, хотя и запускается не всё.
EndUser
23.08.2015 13:16Обилие множества бешеных из океана нерегулируемых веб-разработчиков наталкивает на мысль, что надо помочь себе как-то привести сёрфинг в порядок, вопреки.
Из «несёрферовских» плагинов в Лисе у меня только три:
1) FoxClocks. Да и то на форумах и чатах даёт представление о состоянии собеседника.
2) Classic Theme Restorer, который помогает не страдать от «новомодных экспериментов в области взаимодействия „машина-человек“
3) Menu Wizard, который помогает сгрести в кучу все разнообразные пункты меню, которые разработчики аддонов решили повсеместно разбросать по интерфейсу Лиса.
Остальные два десятка аддонов честно работают только на сёрфинг.danfe
23.08.2015 13:37Из условно-несёрферских я бы еще наверное download mtime sanitizer добавил, без него никуда. Исторический баг на эту тему (249 комментариев) был закрыт как WONTFIX; вот мнение мозилловцев на этот счет:
This hoses your file order in the downloads widget in the Mac OS X dock. Safari apparently used to do this and they changed it back to setting it to the download time. Every other browser in existence sets it to the download time.
*facepalm.jpg*
I think this is going to piss off a lot of users. (myself included, this hoses my workflow trying to locate things I just downloaded).
I suspect those who want the server's timestamp are in the minority — the extension mentioned in the whiteboard ought to be to set the server timestamp, and default behavior should be the current time. Mainly because people expect things they just downloaded to sort to the top of their downloads folder, and people who actually care about preserving the modified time from the server will be savvy enough to go find the extension. People who want things to «just work» aren't even going to know the extension exists and will just go to some other browser that does it right.
Как их только не просили и убеждали, мол, хотя бы галочку сделайте, но нет: ставьте расширение. :-(
Kain_Haart
23.08.2015 19:50-1Почему вы считаете, что отображение страниц является последней ролью?
AndreyYu
23.08.2015 19:55Не понял вас. Я об этом не писал
Kain_Haart
24.08.2015 08:38geektimes.ru/post/260686/#comment_8748298
а последней ролью является отображение страниц
AndreyYu
24.08.2015 09:24Понял вас. Потому что большинство приклоняется плагинам куда больше, чем простому просмотру веб-страниц и жить без плагинов не может, о чем, собственно, данный пост и написан.
vilky
24.08.2015 09:45Потому что мне важно не полюбоваться на страничку, как сваял её автор, а получить и упорядочить информацию. Если вам нравится смотреть — вам не веб нужен, а картинная галерея.
AndreyYu
24.08.2015 10:11И всё же, не так. Браузер — это средство просмотра интернет страниц. Всё что довешивается на браузер — это воля его разработчиков и тех, кому не лень потратить время на создание интересующего плагина, который что-то может визуально улучшить. Главная функция браузера — отображение веб-страниц, считайте, что это картинная галерея. Если вам не нравится просто смотреть на картины, а хочется их смотреть через розовые очки, так сказать, то это ваше право. Я своё мнение вам не навязываю, а просто объясняю суть того что написал (или пытаюсь объяснить).
vilky
24.08.2015 15:01Тогда вам нужен не браузер, а телевизор. Веб не зря создавался (а потом не раз к этому возвращались) так, чтобы в разных клиентах составляющие его странички смотрелись по-разному.
AndreyYu
24.08.2015 16:41Это всё понятно, но мы же не об этом. Причем тут браузерные плагины для отображения страничек?
susbox
23.08.2015 12:46+1Кроме этого, заботясь о безопасности пользователей, Mozilla постепенно вводит обязательную сертификацию дополнений к браузеру. Уже начиная с 42-й версии браузера, которая появится в ноябре, невозможно будет установить дополнения без цифровой подписи. Такую подпись получат только те дополнения, которые будут одобрены организацией, и будут распространяться через репозиторий addons.mozilla.org.
Это не совсем так. Возможность распространять со своего сайта остаётся — для этого разработчику необходимо создать новое расширение в панели управления, пометив его, как Unlisted. Этот продукт не будет отображаться в листингах, но после проверки специалистами его можно будет скачать с цифровой подписью для самостоятельного распространения. По своему опыту, могу сказать, что Full Review занимает один-два дня, в отличие от версии для addons.mozilla.org (там апдейт уже неделю «маринуется», переместившись в очереди со 130 места на 69).
vilky
23.08.2015 19:34Я правильно понимаю, что все gecko-браузеры с другими названиями — это (в лучшем случае) Firefox с дополнительными расширениями, и поддерживать альтернативную по своему движку лисичку некому?
a553
23.08.2015 20:28Не совсем. Насколько я помню, Pale Moon умудряется поддерживать старый, до-Australis интерфейс.
VioletGiraffe
23.08.2015 20:31+1Отлично. Пользуюсь ФФ потому, что он не заполняет окно «Диспетчера задач» двумя страницами своих процессов. До того сидел в «Опере».
Кто следующий?..
KOLANICH
24.08.2015 11:55-3# paranoia
paranoia> это сделано чтобы прикрыть аддоны вроде torbutton, refcontrol, noscript, scriptish, и прочие, вносящие изменения в поведение, нежелательное для спецслужб, и копирастов и чсв разработчиков браузера. ^C
xforce
Надеюсь, Pale Moon выживает.
VEG
Разработкой и поддержкой Pale Moon занимается всего один человек. Ещё есть небольшая команда, которая занимается поддержкой SeaMonkey. Если Firefox перейдёт на Servo, который в принципе не умеет XUL, то этим проектам придётся худо. Для разработки и развития Gecko нужно явно много ресурсов и денег.
Здесь Mozilla принимает идеи для нового API расширений. Сам интерфейс будущего браузера планируется делать на HTML, то есть он будет больше похож на Vivaldi, а не на Chrome. Сейчас в этой роли используется XUL. Основная проблема, которую они хотят решить — расширения имеют доступ ко всем внутренностям браузера, и часто делают не очень хорошие вещи при своей работе. С одной стороны это даёт невероятную гибкость, с другой стороны — это не очень стабильно, особенно после обновлений, когда внутренности браузера даже незначительно изменились. От этого они как раз и хотят избавиться — вывести наружу только какие-то внешние API, которые не будут меняться от версии к версии, а внутреннюю структуру браузера разработчики тогда смогут менять как им вздумается, не беспокоясь о том, что опять отвалятся какие-то расширения.
В общем, если это уже окончательное решение, имеет смысл просить Mozilla реализовать необходимые API для того, чтобы ваши любимые расширения можно было бы реализовать с их помощью. В идеале всё же было бы хорошо уговорить их сделать какой-то «небезопасный» тип расширений, который бы имел полный доступ к DOM окна браузера. Пускай оно бы и ломалось часто при обновлениях… Всё же внешние специализированные API на все случаи жизни не сделаешь — наверняка будут появляться какие-то идеи, которые невозможно будет реализовать без расширения этого API, а разработчики Firefox явно же не будут моментально выполнять каждую просьбу о каком-то внешнем API для расширений…
grozaman
http://forum.palemoon.org/viewtopic.php?f=4&t=7818
Самый первый миф.