GNOME Web , до 2012 года называвшийся Epiphany и до сих пор известный под этим кодовым именем , [8] — это бесплатный веб-браузер с открытым исходным кодом , основанный на порте GTK движка рендеринга WebKit от Apple , называемого WebKitGTK . Он разработан проектом GNOME для Unix-подобных систем. Это стандартный и официальный веб-браузер GNOME , а также часть GNOME Core Applications .
Несмотря на то, что Web является компонентом GNOME, он не зависит от компонентов GNOME. [6]
GNOME Web — это веб-браузер по умолчанию в Elementary OS , [9] Bodhi Linux версии 5 [10] [11] [12] [13] и PureOS GNOME Edition. [14]
Первоначально GNOME Web назывался «Epiphany», но был переименован в 2012 году как часть GNOME 3.4. [15] Название Epiphany по-прежнему используется внутри компании в качестве кодового имени [8] для разработки и в исходном коде. [16] Пакет остаётся epiphany-browser в Debian [17] (чтобы избежать конфликта имён с видеоигрой, которая также называется «Epiphany») и epiphany в Fedora и Arch Linux . [18] [19]
Марко Пезенти Гритти, инициатор Galeon , изначально разработал Epiphany в 2002 году как ответвление Galeon. Ответвление произошло из-за разногласий между Гритти и остальными разработчиками Galeon по поводу новых функций. Гритти считал монолитный дизайн Galeon и количество настраиваемых пользователем функций факторами, ограничивающими удобство обслуживания и использования Galeon, но остальные разработчики Galeon хотели добавить больше функций. [ необходима цитата ]
Примерно в то же время проект GNOME принял набор руководств по интерфейсу пользователя , которые способствовали упрощению пользовательских интерфейсов. Поскольку Galeon был ориентирован на опытных пользователей , большинство разработчиков не одобрили это. В результате Гритти создал новый браузер на основе Galeon, из которого было удалено большинство некритических функций. Он намеревался, чтобы Epiphany соответствовал GNOME HIG. Таким образом, Epiphany использовал глобальную тему GNOME и другие настройки с самого начала. [20] [21]
Гритти объяснил свои мотивы:
Хотя у Mozilla отличный движок рендеринга, его интерфейс по умолчанию на основе XUL считается переполненным и раздутым. Более того, на более медленных процессорах даже такие тривиальные задачи, как вытягивание меню, не так уж и отзывчивы.
Epiphany стремится использовать максимально простой интерфейс для браузера. Помните, что простота не обязательно означает меньшую мощность. Мы считаем, что широко используемые браузеры сегодня слишком большие, глючные и раздутые. Epiphany решает проблему простоты с помощью небольшого браузера, разработанного для веба, а не для почты, новостных групп, управления файлами, обмена мгновенными сообщениями или приготовления кофе. Философия Unix заключается в разработке небольших инструментов, которые делают что-то одно и делают это хорошо.
[..]
Основная цель Epiphany — интеграция с рабочим столом gnome. Мы не стремимся сделать Epiphany пригодным для использования вне Gnome. Если кто-то захочет использовать его в любом случае, это просто плюс. Например: делать счастливыми людей, у которых не установлен центр управления, не является веской причиной для настройки mime в самом Epiphany.
— Марко Пезенти Гритти [22]
Galeon продолжил работу после форка, но потерял импульс из-за неспособности оставшихся разработчиков идти в ногу с изменениями в платформе Mozilla. Разработка Galeon застопорилась, и разработчики решили заняться расширениями, чтобы добавить расширенные функции Galeon в Epiphany. [21]
Гритти закончил свою работу над Epiphany, и теперь проектом руководит команда GNOME во главе с Ксаном Лопесом, Кристианом Першем и Жаном-Франсуа Рамо. [23] Гритти умер от рака 23 мая 2015 года. [24]
Первая версия Epiphany была выпущена 24 декабря 2002 года. [2]
Epiphany изначально использовала движок компоновки Gecko из проекта Mozilla для отображения веб-страниц. Он предоставлял графический пользовательский интерфейс GNOME для Gecko вместо кроссплатформенного интерфейса Mozilla. [25]
Разработка Epiphany была в основном сосредоточена на улучшении удобства использования по сравнению с основными браузерами того времени. Наиболее заметным был новый виджет ввода текста, представленный в версии 1.8. Новый виджет поддерживал значки внутри текстовой области и уменьшал экранное пространство, необходимое для представления информации, одновременно улучшая интеграцию с GNOME. [26]
Следующим важным этапом стала версия 2.14, которая первой последовала за нумерацией версий GNOME. Она также включала сетевую осведомленность с помощью NetworkManager , улучшения интеллектуальных закладок и возможность сборки с помощью XULRunner . [ необходима цитата ]
Последнее было критически важным. Ранее Epiphany могла использовать только установленный веб-браузер Mozilla в качестве поставщика веб-движка. Поддержка XULRunner позволяла устанавливать Epiphany как единственный веб-браузер в системе. [27] [28]
Процесс разработки страдал от серьезных проблем, связанных с бэкэндом Gecko. В частности, циклы выпуска двух проектов не выстраивались эффективно. Кроме того, Mozilla все больше игнорировала стороннее программное обеспечение, которое хотело использовать Gecko, пока оно не стало рассматриваться как интегрированный компонент Firefox. [23] Чтобы решить эти проблемы, в июле 2007 года команда Epiphany добавила поддержку WebKit в качестве альтернативного движка рендеринга. [29] 1 апреля 2008 года команда объявила, что она уберет возможность сборки с использованием Gecko и продолжит использовать только WebKit. [23]
Размер команды и сложность переноса браузера на WebKit привели к тому, что версия 2.22 была повторно выпущена с исправлениями ошибок вместе с GNOME 2.24, [30] поэтому выпуски застопорились до 1 июля 2009 года , когда было объявлено, что 2.26 станет окончательной версией на основе Gecko. [31]
В сентябре 2009 года переход на WebKit был завершён в рамках GNOME 2.28. [32]
Разработчики GNOME Web ведут полный и точный журнал изменений в своем официальном репозитории, который показывает полные и подробные изменения между всеми выпусками, [33] В следующей таблице показаны лишь некоторые произвольно упомянутые заметные и важные изменения: [34] [35]
Как компонент GNOME Core Applications , он обеспечивает полную интеграцию с настройками GNOME и другими компонентами, такими как GNOME Keyring, для безопасного хранения паролей, следуя рекомендациям GNOME Human Interface Guidelines и программному стеку GNOME, чтобы обеспечить первоклассную поддержку всех новых принятых передовых технологий, таких как Wayland и последние основные версии GTK , [80] поддержку мультимедиа с использованием GStreamer , небольшой размер пакета (2,6 МБ) [6] и очень быстрое время выполнения/запуска благодаря использованию общих компонентов; Другие функции включают режим чтения , [81] жесты мыши , умные закладки , хваленый механизм интеграции веб-приложений , [82] встроенную блокировку рекламы , опцию «Вставить эмодзи» в контекстном меню для быстрой и легкой вставки эмодзи и различных символов и пиктограмм в текстовые поля , Google Safe Browsing , [83] поддерживает чтение и сохранение MHTML , [84] формат архива для веб-страниц, который объединяет все файлы веб-страниц в один файл; и потребляет меньше системных ресурсов, чем основные кроссплатформенные веб-браузеры. [ необходима ссылка ]
Базовый движок браузера WebKit обеспечивает поддержку HTML 4 , XHTML , CSS 1 и 2, большей части HTML 5 и CSS 3, [85] а также веб-инспектора (инструмента отладки веб-разработки). [59]
Поддержка Encrypted Media Extensions не является целью, поскольку стандарт не определяет Content Decryption Module для использования, все доступные модули являются проприетарными, даже если лицензирование возможно, и система навязывает управление цифровыми правами , которое скрывает, что делает компьютер пользователя, чтобы затруднить копирование «премиум-контента». Тем не менее, Media Source Extensions поддерживается, поскольку YouTube начал требовать эту технологию в ноябре 2018 года. [86]
Apple , которая является основным корпоративным спонсором WebKit, отклонила по меньшей мере 16 веб-API, поскольку они могли быть использованы в атаке с использованием отпечатков пальцев , чтобы помочь персонально идентифицировать пользователей и отслеживать их, при этом предоставляя ограниченную или никакую выгоду пользователю. [87] Поскольку HTML5test проверяет большинство этих API, он искусственно занижает «оценку» WebKit в баллах (как и отсутствие поддержки DRM). [ необходима цитата ]
Когда-то Web поддерживал плагины NPAPI , такие как Java и Adobe Flash , но поддержка была удалена в GNOME 3.34. [76] В современной веб-платформе они вышли из моды, и поддержка была удалена из всех основных браузеров. Flash был объявлен устаревшим самой Adobe. [88] Flash с годами приобрел дурную славу из-за проблем с удобством использования и стабильностью, постоянных уязвимостей безопасности, [89] своей проприетарной природы, своей способности позволять сайтам развертывать особенно неприятную веб-рекламу, [90] и плохой и непоследовательной поддержки Linux со стороны Adobe. [91] Многие из этих вопросов были подняты Стивом Джобсом , тогдашним генеральным директором Apple, в его эссе « Мысли о Flash» . [92]
Web повторно использует фреймворки и настройки GNOME, [93] [94], включая тему пользовательского интерфейса, сетевые настройки и печать. Настройки хранятся в GSettings, а приложения GNOME по умолчанию используются для обработки типов интернет-медиа . Пользователь настраивает их централизованно в приложении настроек GNOME.
Встроенный менеджер настроек для Web представляет основные настройки, специфичные для браузера, в то время как расширенные настройки, которые могут радикально изменить поведение Web, можно изменить с помощью таких утилит, как dconf (командная строка) и dconf-editor (графический редактор). [95]
Web следует принципам GNOME Human Interface Guidelines и общеплатформенным решениям по дизайну. [96] Например, в Web 3.4 меню для действий приложений было перемещено в меню приложений верхней панели GNOME Shell , а строка меню была заменена кнопкой «суперменю», которая запускает отображение пунктов меню, специфичных для окна. [97]
Начиная с версии GNOME 3.32, Web может подстраиваться под различные форм-факторы с помощью Libadwaita . [98] Он поддерживает форм-факторы настольных компьютеров, планшетов и телефонов. («Узкий режим»). [99]
Начиная с GNOME 3.18, Web по умолчанию настроен на блокировку рекламы и всплывающих окон. [73] В GNOME 3.34 существующий блокировщик рекламы был удален. Этот код был функционален лишь частично и был источником многих ошибок. Web перенял систему «Блокировщиков контента» из движка WebKit. [100] [101]
Один из разработчиков, Адриан Перес де Кастро, сравнил старые и новые блокировщики рекламы. Он обнаружил, что переключение сэкономило около 80 МБ оперативной памяти на вкладку браузера. [102]
Начиная с версии GNOME 3.28, Web поддерживает Google Safe Browsing , чтобы помочь предотвратить посещение пользователями вредоносных веб-сайтов. [83]
Начиная с GNOME 3.34, Web явно требует минимум WebKitGTK 2.26 или более поздней версии. [75] [103] [76] Это обеспечивает "Bubblewrap Sandbox" [104] для процессов вкладок, что предназначено для предотвращения захвата браузера вредоносными веб-сайтами и использования его для шпионажа за другими вкладками или запуска вредоносного кода на компьютере пользователя. Если такой код найдет другой эксплойт в операционной системе, позволяющий ему стать root , результат может стать катастрофой для всех пользователей системы.
По словам Майкла Катанзаро, приоритет песочницы был поставлен, потому что он был особенно обеспокоен качеством кода OpenJPEG и многочисленными проблемами безопасности, которые были обнаружены в нем, включая многолетние неудачные обзоры безопасности Ubuntu. [105] Он также объяснил, что веб-совместимость требует, чтобы сайты считали, что Web является основным браузером. Отправка им пользовательского агента Apple Safari вызывает меньше сломанных веб-сайтов, чем другие (из-за совместного использования движка WebKit), но также заставляет кэширующие серверы доставлять изображения JPEG 2000 , [106] из которых Safari является единственным основным браузером, который поддерживает. Других пригодных для использования вариантов с открытым исходным кодом для поддержки JPEG 2000 не существует. Исправление OpenJPEG, который является официальным эталонным программным обеспечением , станет масштабной задачей, на решение которой могут уйти годы. Включение Bubblewrap Sandbox приведет к тому, что многие уязвимости в этом и других компонентах станут «минимально полезными» для потенциальных злоумышленников. [107]
В GNOME 3.36 Web получил собственную поддержку документов PDF с помощью PDF.js. Майкл Катанзаро объяснил, что открытие веб-сайтами Evince для отображения файлов PDF было небезопасным, так как это могло использоваться для выхода из изолированной программной среды безопасности браузера. Поскольку Evince был последним пользователем NPAPI, это позволило удалить оставшийся код поддержки для устаревшей модели плагина (где могли скрываться дополнительные уязвимости). Поскольку поддержка NPAPI имела жесткую зависимость от X11, переход на PDF.js также позволил отказаться от этой зависимости. [78]
Поскольку PDF.js внутренне преобразует PDF-документы, чтобы их можно было отобразить с помощью движка веб-браузера, он не добавляет уязвимостей безопасности в браузер, как это могли бы сделать скомпилированные плагины, такие как Adobe Acrobat или Evince. [78]
В то время как большинство браузеров имеют иерархическую систему закладок на основе папок , Web использует категоризированные закладки, где одна закладка (например, эта страница) может существовать в нескольких категориях (таких как «Веб-браузеры», «GNOME» и «Компьютерное программное обеспечение»). [108] Специальная категория включает закладки, которые еще не были категоризированы. Закладки, наряду с историей просмотров, доступны из адресной строки в режиме поиска по мере ввода. [109]
Другая инновационная концепция, поддерживаемая Web (хотя изначально из Galeon ) [20], — это « умные закладки ». Они принимают один аргумент, указанный из адресной строки или из текстового поля на панели инструментов. [21]
Начиная с версии GNOME 3.2, выпущенной в сентябре 2011 года, [110] Web позволяет создавать лаунчеры приложений для веб-приложений . Последующий вызов лаунчера открывает простой браузер, привязанный к сайту (отдельный экземпляр) Web, ограниченный одним доменом, со ссылками на внешние сайты, открывающимися в обычном браузере. [111] Созданный таким образом лаунчер доступен с рабочего стола и не ограничивается оболочкой GNOME . Например, его можно использовать с Unity , используемой в Ubuntu . [112] Эта функция облегчает интеграцию рабочего стола и Всемирной паутины , что является целью разработчиков Web. [113] Аналогичные функции можно найти в версии Google Chrome для Windows . Для той же цели Mozilla Foundation ранее разработала отдельное приложение Mozilla Prism , которое было заменено проектом Chromeless . [114]
Веб-приложения управляются в главном экземпляре браузера. Приложения могут быть удалены со страницы, доступной с помощью специального URI about:applications . Этот подход должен был быть временным, пока централизованное управление веб-приложениями GNOME должно было быть реализовано в GNOME 3.4, но этого так и не произошло. [35]
Начиная с версии GNOME 3.26, Web поддерживает Firefox Sync, что позволяет пользователям синхронизировать свои закладки, историю, пароли и открытые вкладки с Firefox Sync, которые затем могут быть переданы любой копии Firefox или Web, с которой пользователь вошел в Firefox Sync. [115]
Web когда-то поддерживал расширения, и поддерживался пакет, содержащий официальные. Позже он был удален из-за проблем со стабильностью и удобством обслуживания. [ необходима цитата ]
Некоторые популярные расширения, такие как блокировка рекламы , были перенесены в основное приложение. [ необходима ссылка ]
Проект выразил заинтересованность в реализации поддержки формата дополнений WebExtension , используемого Chrome, Firefox и некоторыми другими основными браузерами, если найдутся заинтересованные участники. [116] Экспериментальная поддержка WebExtensions была введена в GNOME 43. [117]
В обзоре Epiphany 2.28 на базе WebKit в сентябре 2009 года Райан Пол из Ars Technica сказал: «Epiphany довольно шустро работает в GNOME 2.28 и набирает 100/100 баллов в тесте Acid3 . Использование WebKit поможет отличить Epiphany от Firefox, который поставляется в качестве браузера по умолчанию большинством основных дистрибьюторов Linux». [32]
В обзоре Epiphany 2.30 в июле 2010 года Джек Уоллен описал его как «эффективный, но другой» и отметил его проблему со сбоями. «Когда я впервые начал работать с Epiphany, он вылетал на большинстве сайтов, которые я посещал. После небольшого исследования (а затем и небольшой отладки) я понял, что проблема была в JavaScript. Epiphany (в его текущей версии) по какой-то странной причине не любит JavaScript. Единственным способом обойти это было отключить JavaScript. Да, это означает, что многие функции не будут работать на многих сайтах, но это также означает, что эти же самые сайты будут загружаться быстрее и не будут так подвержены проблемам (например, сбою моего браузера)». [108] Уоллен положительно подытожил о браузере: «Хотя Epiphany не полностью заменил Chrome и Firefox в качестве моего универсального браузера, теперь я использую его гораздо чаще, чем раньше. [108] [Он] занимает мало места, быстро запускается и имеет понятный интерфейс». [108]
В марте 2011 года Вероника Генри сделала обзор Epiphany 2.32, заявив: «Если честно, это было бы трудно продать в качестве основного браузера для настольных компьютеров для большинства пользователей. Фактически, нет даже настройки, позволяющей назначить его браузером по умолчанию. Но для тех случаев, когда вам нужно запустить молниеносный браузер для быстрого серфинга, Epiphany справится с задачей». [118] Далее она отметила: «Хотя я все еще использую Firefox в качестве основного браузера, в последнее время он, кажется, работает со скоростью улитки. Поэтому одно из первых, что я заметила в Epiphany, — это то, как быстро он запускается. И последующие загрузки страниц в моей системе происходят так же быстро». [118] Генри раскритиковала Epiphany за его короткий список расширений, выделив отсутствие Firebug как недостаток. [118] Вместо этого Web поддерживает Web Inspector, предлагаемый движком WebKit, который имеет схожую функциональность. [59]
В апреле 2012 года Райан Пол из Ars Technica использовал Web в качестве примера для своей критики решений дизайна GNOME 3.4: «Помимо плохой первоначальной обнаруживаемости меню панели, эта модель работает достаточно хорошо для простых приложений. [...] К сожалению, она плохо масштабируется в сложных приложениях. Лучший пример того, где этот подход может вызвать трудности, — это веб-браузер по умолчанию GNOME. [...] Разделение функциональности приложения на два совершенно отдельных меню не является улучшением удобства использования». [97] Это было исправлено в более поздних версиях с помощью единого унифицированного меню.
В обзоре за октябрь 2016 года Бертель Кинг-младший отметил на MakeUseOf : «Более поздние версии предлагают лучшую интеграцию, которую вы найдете с GNOME Shell. В нем отсутствуют надстройки, которые есть в основных браузерах, но некоторым пользователям понравится минимализм, скорость и изоляция вкладок, которая не позволяет одному неправильно работающему сайту приводить к сбою всего браузера». [119]
В обзоре за апрель 2019 года Бертель Кинг-младший написал еще одну статью на MakeUseOf , на этот раз рассматривая GNOME Web для его режима веб-приложений. Он заявил: «Когда вы проверяете свою электронную почту, вы используете веб-приложение. Если вы открываете YouTube, Netflix или Spotify в браузере, вы снова используете веб-приложение. В наши дни вы можете заменить большинство своих настольных приложений веб-приложениями. [...] GNOME Web предоставляет инструменты для лучшей интеграции веб-приложений с остальной частью вашего рабочего стола, поэтому вы можете открывать их через средство запуска приложений и просматривать их в доке или на панели задач. Таким образом, они больше похожи на приложения и меньше на сайты». Он также похвалил безопасность, обеспечиваемую путем отгораживания веб-приложений от остальной части браузера и друг от друга. Как и функция контейнера Mozilla, это помогает не допустить, чтобы такие сайты, как Facebook, видели, что пользователь делает в основном браузере. Это также позволяет пользователю создавать несколько «приложений» для одного и того же сайта, чтобы легко переключаться между разными учетными записями. [82]
дополнение к замене epad на leafpad, midori на epiphany
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка )У Web есть два режима, которые я назвал нормальным и узким. Нормальный режим — это Web, каким вы его знаете, в то время как узкий режим перемещает все кнопки из строки заголовка, кроме меню-гамбургера, на новую панель действий внизу, позволяя окнам достигать пока недостижимой ширины.