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