beginning-of-line (C-a) Move to the start of the current line.
Собственно поэтому Far2l - это нормальное гуевое приложение в первую очередь, в котором Ctrl+A - вовсе не имитация кнопки Home.
Ну а то что far2l в терминалах работает - это казус, в первую очередь чтобы фар умел работать в собственном встроенном терминале ;-)
Ну а поскольку @unxedкомпромиссов не признает, то и в других тоже работает. Включая автоматическое определение и использование сколько там, шесть штук? расширений к терминальным протоколам.
Потому и клипборд работает, и mouse motion, и кнопко-сочетания - что "на уровне выше" фар взаимодействует с терминальным эмулятором.
Так потому что эти сравнения - они ведь на самом деле "ха-ха".
Вам реально нравится выделение текста в mcedit через F3?
Вам надо учить "набор комбинаций как в емаксе" чтобы банально выделить текст до конца строки, вместо того чтобы придавить шифт и нажать End?
Кстати, все остальные кнопки навигации с придавленным шифтом выделяют текст, причем везде - не только в редакторе. Перейти на слово справа - Ctrl+Right Arrow, чтобы его выделить - придавливаете дополнительно Shift и т д. Выделить весь текст в редакторе до конца файла? Интуитивно должно быть Ctrl+Shift+PgDn.... странно, работает.
Выделили километр текста, контрол-це? Оно в системном буфере PRIMARY, переключился в (куда там надо), контрол-вэ.
Причем сам я могу фар запустить на своем нубуке, в нем ссх, там еще фар, и у меня все приедет в мой локальный клипборд, а не останется на другом конце шарика.
Что делать в ремотном mc, сохранять текст в файл, файл копировать локально, а потом файл класть в клипборд? Или средствами терминала копировать по кусочкам с Shift+мышь?
Далее, запустили тот самый скрипт, он в консоль выдал длиинное нЕчто. Как это развидеть? В фаре просто жмем F4 и - вывод в редакторе, с подсветкой синтаксиса. А в mc - запускаем второй раз уже с редиректом в файл? Очень смешно если это будет make World например ;-)
И таких мелочей - миллион.
Только то что кнопки работают во всех комбинациях - уже то, от чего полуночный командир... отказался. Полноценно в гамаке на лыжах (С).
И бОльшая часть полезного обнаруживается просто за пять минут тестовой работы. Все что надо помнить - это кнопка меню F9, кнопка перехода между панелями Tab, и кнопки выбора содержимого панелей Ctrl+F1/F2, но они не менялись со времен первого нортон командира от Пети Нортона.
А остальное в подсказке снизу.
Надо только попробовать.
А про "особый путь" и "так заведено" лучше отправлять Леонарду Поттерингу, он оценит ;-)
Коллега, не ведитесь на очередное "в колбасе потребности нет". Кому надо - тот сам посмотрит, а кому не надо - того вы не зазовете.
Тем более что лет 15 назад эти же люди точно так же рассказывали что "mc не нужен, учите шелл".
А еще лет за 10 до того эти же люди клеймили позором тех слабаков, которые в баш втащили libreadline - ибо не требуется редактировать команды, можно же заново набрать после опечатки все то же самое ;-)
Это философский вопрос, на самом деле. "О разнице подходов", и это даже не шутка.
Для иллюстрации, давайте на пару слов углубимся в историю "полуночного командира". Когда-то, в mc были и графическая версия (как сейчас у фара), и масса трюков по перехвату клавиатуры (как сейчас у фара) и т. д. Однако время шло, и "полуночный командир" все больше забрасывал свои решения, все больше ограничивая свой UX возможностями древней консоли 1970х. Добровольно. "Тут так заведено".
Фар идет другим путем.
Если чего-то не хватает в консоли, вейленде, терминале от микрософт, KDE и GNOME - тем хуже для них, "мы уже идем к вам". Везде немедленно шлются тикеты, патчи, пулл реквесты. Проектам, которые также реализуют TUI в консоли - присылаются примеры, ссылки, патчи.
Если у микрософт обнаруживается бага, то а) в фаре появляется workaround, и б) микрософт "допинывается" до состояния "патч вмержен, баг исправлен". Никаких компромиссов, никаких "так заведено" и "бага не у нас".
Так что "таблицы сравнений" тут мало осмыслены, они устаревают быстрее чем составляются...
Касательно же возможностей, фар бесконечен - ибо содержит в себе возможности макросов и скриптов, а также поддержку написания своих плагинов на Lua или Python. С их помощью кто-то просто пользуется, а кто-то автоматизирует свои повседневные задачи.
раньше сайты сплошь и рядом пестрели плагинами, включая менюшки, навигацию, таблицы и всё прочее
У корпоратов — именно так дела и обстояли. Кто пилил ActiveX, кто Java applets, чуть позже подтянулся Java WebStart, и т. д.
Флеш, к слову, тоже весьма активно использовался — а как еще быстро графики было нарисовать? :-)
In wild это мало было заметно — ведь не у всех консумеров была установлена хотя бы Java, не говоря уж о чем-то более экзотическом.
Но в корпоративном мире, где все и вся настраивается централизованно — а какие проблемы-то? Надо Java версии 1.1.4 — значит она у всех гарантированно будет, правильно настроенная. А уж в ней не было недостатка ни в гридах, ни в деревьях…
Просто в качестве казуса, вот представьте себе OS/2. На нее надо поставить VisualAge. Запускаете инсталлятор… а он открывает апплет в Netscape 4. :-)
А знаете почему? А потому что браузер — это не только показ маркированных страничек, но и платформа для instant delivery вашего софта…
Мегабайты кода на JS для одной страницы — как нечего делать
А задайте себе вопрос — почему :-)
А ведь ответ на поверхности — приходится тащить все эти дохреннилионы мегабайт в скрипт, потому что у нас, разработчиков, все остальные инструменты отобрали.
Еще 10-15 лет назад никому бы и в голову не пришло лепить реакты с ангулярами, зачем? Вам нужен кросс-платформенный развесистый интерфейс — к вашим услугам масса инструментов, от silverlight и flash до Java. С интеграцией с вашей веб страницей из коробки.
Запихнуть целое видео в фон
Ну так раньше можно было взять ActionScript и сделать векторный(!) мультфильм, Куваев не даст соврать. А теперь нельзя, только растр.
Первые серии Масяни или «Магазинчика Бо» занимали по паре мегабайт на серию, масштабировались на любое разрешение, и не требовали кучу разных размеров под разных клиентов.
Вот, полюбуйтесь — это месте с рантаймом флеша
-rw-r--r-- 1 vik users 3474512 Feb 12 17:29 1bo.exe
-rw-r--r-- 1 vik users 2957624 Feb 12 17:29 2BO.exe
-rw-r--r-- 1 vik users 3087638 Feb 12 17:29 3bo.exe
-rw-r--r-- 1 vik users 4893426 Feb 12 17:29 4bo.exe
-rw-r--r-- 1 vik users 2773303 Feb 12 17:29 5BO.exe
а это без
-rw-r--r-- 1 vik users 2060040 Feb 12 17:29 1bo.swf
-rw-r--r-- 1 vik users 2137063 Feb 12 17:29 2bo.swf
-rw-r--r-- 1 vik users 2266577 Feb 12 17:29 3o.swf
-rw-r--r-- 1 vik users 2634543 Feb 12 17:29 4bo.swf
-rw-r--r-- 1 vik users 1954095 Feb 12 17:29 5bo.swf
При этом вся эта радость крутилась на уже тогда слабых машинках без лагов и с использованием аппаратного ускорения (!).
фичи в вебе нужно обсуждать и принимать в виде открытых стандартов
… чтобы не дай Аллах не выскочил очередной автор флэша в виде плагина и не отправил многомиллиардные вложения корпораций на свалку, хех. Это и есть — главная причина запрета на плагины.
Я один вижу, что на айтишном ресурсе «обосновывают» ненужность плагинов, в 2022? :-)
В самом-то деле, зачем верить маркетинговому бреду. Очевидно же, что наличие возможностей всегда лучше их отсутствия.
нате вам нативный бинарник, установите его, и надейтесь
А когда вы на своем ляптопе запускаете Windows, или хотя бы просмотр видео (через один из трех проприетарных DRM в вашем браузере, хехе) — вас это не смущает, не? А почему? Или Джамшут и Брахмапутра из Редмонда чем-то отличаются от таких же из Oracle?
Ну и самое главное — проблемы наколенных поделий «меня и Васяна» касаются только нас и наших с ним пользователей, при чем тут «открытые стандарты»?
И эту возможность у нас с Васяном — зачем-то забрали, под совершенно странными предлогами.
Это примерно как «в индейской резервации в Оклахоме пьянство и поножовщина, поэтому у вас в Гусь-Хрустальном все ножи отменяются, надо покупать всю еду уже разрезанную порционно».
Но из порционной еды же не приготовишь стейк, из красиво нарезанных кубиками кусочков — максимум гуляш…
А в ответ — и правильно, я когда от ножей отказался — у меня шапочка из фольги села как влитая! :-)
Пока хромовцы свой IPC не затвикали под все платформы — хром и был сильно медленнее из-за IPC. Гуглодоки из-за этого тормозили в хроме неимоверно :-)
Особенно больно было если приходилось гонять растровые анимации — накладные расходы были колоссальны. Но затем (а куда деваться) придумали общие канвасы между процессами (один держит второй рисует) — и дело пошло.
Правда не очень теперь понятно — за что боролись, если процесс с контентом все равно занимается рисованием :-) Но киллер-фича с «ой, снап» работает, да.
FF немного более производителен… на очень больших страницах.
Это особенность работы огнелисовского движка. Его когда-то тюнили для отрисовки гигантских таблиц, еще во времена былинные.
Хром появился сильно позже, и у них больше фокус на работе JS. К слову, у огнелиса со скоростным JS всегда было «на троечку». Нормальный JIT они впилили незадолго до легендарного квантума. Но не имея penalty от IPC — во многих сценариях были быстрее, несмотря на общую «макаронистость» древнего движка и так-себе JS Runtime.
Знали бы вы, в честь чего фаерфоксовцы на самом деле подорвались пилить много-процессность :-)
Перформанс там и не ночевал (да и с чего бы, все то же самое внезапно стало получать массовые penalty на межпроцессный IPC, которого раньше не было).
Решались на самом деле две задачи — основная и главная.
Основная — разделили привилегированный контент (потроха браузера они ведь тоже на JS) от обычного (тут вопросов нет).
А главная — это преодолели планку в 2GB виртуальной памяти, доступной firefox for windows 32bit. Ага, сюрприз :-)
Задача стояла нелегкая, откладывать ее надолго нельзя (а то мерж может и не состояться по техническим причинам, ибо код сильно разойдется с основной веткой), а тут еще и indirect method invocation колхозить и слой совместимости. Решили просто не делать. А расширения померли как collateral damage.
Но нельзя же без расширений совсем? Тогда под бой барабанов прилепили слой совместимости с гуглом (сдается мне эту часть гугол и оплатил). WebExtensions есть? Чем вы недовольны?
Всё что нужно для веба должно быть прописано в открытых стандартах и встроено в браузер
А, расходимся, мужики. Надо вообще все в браузер встроить. От казуалок и до продвинутых клиентов по управлению пром. оборудованием. Раньше на Java или там ActionScript такое делали, а теперь — «удивительное рядом, но оно запрещено» :-)
Не нужны в вебе эти нестандартные примочки.
Точно-точно, зачем вам защищенный клиент-банк с сертифицированной криптографией и аппаратными токенами. Или хотя бы KVM клиент для хитрой железки.
Видите, как смешно получается. Оказывается, целый класс полезных и важных приложений теперь недоступен, потому что «в колбасе потребности нет».
Не все ограничивалось просмотром ютубчика или показом формочки заказа кофе «модно-молодежно в WebAssembly».
И будет ли когда-либо второй раз — неизвестно.
Что вы говорите, 60%-80% трафика с мобильных устройств? И это конечно же никак не связано с внезапным выкидыванием огромного числа возможностей из браузера, точно-точно :-)
Увы, но нет — NPAPI плагины были вынесены в отдельную «песочницу» много лет назад, еще во времена, когда версии браузера не росли такими темпами. Выглядело это отдельным процессом и прекрасно работало. Я еще помню, когда флешовый плагин крэшился — но огнелис это тут же показывал и предлагал перезапустить.
не было какого-то специального API
… и поэтому они так и назывались — NPAPI плагины? :-)
Кстати в этих плагинах не было ничего особенного, я когда-то развлекался написанием парочки плагинов. Стандартная схема получения своего канваса, регистрация событий от него, и пачка базовых функций типа сходить на сервер, получить ответ и т д.
И к слову, выкидывание плагинов привело к тому, что в браузер пришлось тащить гору кода, которому вообще говоря там делать нечего — от показа и декодирования видеопотока и до обработки устройств USB. Потому что раньше этим занимались плагины в своей песочнице — а теперь это часть браузера, вот «улучшили», хехе.
А ведь еще относительно недавно — гуглодоки тормозили под хромом и летали в огнелисе. И хабрапосты с 1000+ комментов огнелис тащил играючи, в отличие от хрома. Когда-то.
Но с тех пор хромовские ребята целиком перетащили все важные оптимизации и гитики огнелисовцев (я в коде так и встречал — мы в хроме тупо скопировали, смотрите у мозиллы почему так их тикет такой-то). И пошли дальше. А вот мозилла в это время занималась всем подряд, кроме браузера.
А поняв что время упущено — стали изобретать квантумы да серво, мол раз у нас в коде лапша с доступом — раскинем по процессам, как в хроме! Что смешно, по итогу тормозить стало еще больше, межпроцессный IPC он не бесплатный даже через shmem. И память тоже — на double-buffering пошла со свистом.
Но в процессе «догоним и перегоним» — выкинули основной функционал расширений, внутренний XPCOM, и много еще того, что и делало огнелис — огнелисом.
Особенно доставило обрезание расширений — але, у вас там все равно стандартная SOA через сервис локатор, сделать remote invocation к уже существующему коду — дешевле чем все переписывать, микрософт со своим DCOM не даст соврать… И старые экстеншены бы работали, пусть и чуть медленнее…
Проблема не в том, что «в хроме тоже нет». Проблема в том, что раньше я мог за вечер накидать плагин на XUL со своими sidebar, в них отобразить любые формы / куски HTML, и иметь полный доступ ко всем функциям браузера. Выложить вместе с readme в конторский git — и рассказать о нем в корпоративном чате. А install from disk было тогда стандартом.
Ну, конечно не идеал был — XUL это хамеель-based описание гуев с кучей недостатков (в том числе с misfeatures, из-за отсутствия нормального grid bag layout приходилось городить матрешки с hbar / vbar). Но он хотя бы был.
Практически вся функциональность была доступна в виде сервисов, все что только мог придумать — все под рукой. Надо заполнять регулярно адские формы в корпоративном ERP? Плагин — сайдбар — пачка запросов на сервер — наблюдаешь за автоматикой.
Модерация форумов, заполнение отчетов, прохождение workflow, подсветка нескольких контрольных цифр на сайдбаре вместо тыканья в десяток вкладок — это только то что я лично делал. Ну, еще я развлекался например тем, что «склеивал» списки в корпоративном трекере, который умел их показывать только по 10 штук, а я хотел сразу пару сотен скроллить, а не тыкать next-next-next :-)
Конечно, это все было хорошо запрятано — попробуй сообрази кто именно реализует «воон тот IDL» и как до него добраться… интерактивного просмотрщика «вот xxx оно реализует вот это» реально не хватало. Ползать по исходникам — такое себе удовольствие…
А embedding? Да, gtlkmozembed был крив, ужасен, и постоянно менялся… но он был! И «сделал свое окно браузера — в нем открыл — дождался загрузки всего — отрендерил — вызвал скрипт» делалось очевидным способом.
И где это все? Вам должно хватить надцати экстеншенов из магазина, паблишинг которых мы сделаем максимально неудобным способом (с)? Отстаньте уже, возьмите tampermonkey?
У хрома востребованные фичи появляются, у огнелиса — пропадают. Ой, а куда это юзеры ломанулись…
Ладно, может я такой странный и хочу загадочного, обычные казуалы втыкают в браузер с устройств? Окей, какой альтернативно одаренный убрал отдельный look для планшетов? У хрома появился (с табами а-ля десктоп), а у огнелиса…
Что значит — у меня 10 дюймов экран и альбомная ориентация, вот мне кнопушечка а-ля телефончик, чтобы между табами переключаться. Шикарный look and feel — 3-5 тапов вместо одного. А если табов полсотни — то еще и свайпов. Вместо свайпнул-тапнул…
И каждый раз — «а вам не надо», «мы зато занялись приватностью», «зато много-процессность», «у нас два встроенных VPN», и прочая.
Я огнелисом пользуюсь… всегда, с момента его появления. Я тот самый, кто помнит Netscape Navigator 2.0 не по картинкам. И то что надо лично мне — в огнелисе только пропадает раз за разом.
И потому я с огнелиса теперь пишу на хабру, а для дебага и разработки у меня основным — хром. Да, он жрет память, snap-ается когда хочет, и 3/4 привычных мне экстеншенов в нем нет и не будет. И JSON красиво в окошке отладчика не покажет, как умел firebug.
Но — у firefox их нет и не будет тоже — «зато многопроцессность». Меня один процесс и так более чем устраивал, внезапно.
Зато потрачено усилий было на что угодно кроме самого браузера — тьма. Я еще мозилловцам FirefoxOS припоминать готов :-)
Да, отчёт подождёт — это не продукт его деятельности
(Гомерически хохочет)
А ничего, что деньги на написание кода получаются через вот эту вот «второстепенную бюрократию», не? :-)
Такие вещи… объявляются заранее
… но при этом именно Истинно Свободные регулярно не сдают вовремя, вот парадокс.
Казалось бы, до всех доведено что (например) каждый понедельник не позднее 14.00 требуется предоставить отчет по форме. Но условный Истинно Свободный Петя а) занят и б) по емейлу и мессенджеру недоступен, ему надо звонить. Просто потому что.
Да-да, научите менеджмент их работе… вместо того чтобы написать в группу «всем сдать отчеты до 14.00» — пусть звонят. Каждому. На рабочий телефон. Два раза! :-)
А то вдруг условный Петя занят — на хабр строчит, отчет подождет, в интернете кто-то неправ :-)
Собственно поэтому Far2l - это нормальное гуевое приложение в первую очередь, в котором Ctrl+A - вовсе не имитация кнопки Home.
Ну а то что far2l в терминалах работает - это казус, в первую очередь чтобы фар умел работать в собственном встроенном терминале ;-)
Ну а поскольку @unxedкомпромиссов не признает, то и в других тоже работает. Включая автоматическое определение и использование сколько там, шесть штук? расширений к терминальным протоколам.
Потому и клипборд работает, и mouse motion, и кнопко-сочетания - что "на уровне выше" фар взаимодействует с терминальным эмулятором.
Так потому что эти сравнения - они ведь на самом деле "ха-ха".
Вам реально нравится выделение текста в mcedit через F3?
Вам надо учить "набор комбинаций как в емаксе" чтобы банально выделить текст до конца строки, вместо того чтобы придавить шифт и нажать End?
Кстати, все остальные кнопки навигации с придавленным шифтом выделяют текст, причем везде - не только в редакторе. Перейти на слово справа - Ctrl+Right Arrow, чтобы его выделить - придавливаете дополнительно Shift и т д. Выделить весь текст в редакторе до конца файла? Интуитивно должно быть Ctrl+Shift+PgDn.... странно, работает.
Выделили километр текста, контрол-це? Оно в системном буфере PRIMARY, переключился в (куда там надо), контрол-вэ.
Причем сам я могу фар запустить на своем нубуке, в нем ссх, там еще фар, и у меня все приедет в мой локальный клипборд, а не останется на другом конце шарика.
Что делать в ремотном mc, сохранять текст в файл, файл копировать локально, а потом файл класть в клипборд? Или средствами терминала копировать по кусочкам с Shift+мышь?
Далее, запустили тот самый скрипт, он в консоль выдал длиинное нЕчто. Как это развидеть? В фаре просто жмем F4 и - вывод в редакторе, с подсветкой синтаксиса. А в mc - запускаем второй раз уже с редиректом в файл? Очень смешно если это будет make World например ;-)
И таких мелочей - миллион.
Только то что кнопки работают во всех комбинациях - уже то, от чего полуночный командир... отказался. Полноценно в гамаке на лыжах (С).
И бОльшая часть полезного обнаруживается просто за пять минут тестовой работы. Все что надо помнить - это кнопка меню F9, кнопка перехода между панелями Tab, и кнопки выбора содержимого панелей Ctrl+F1/F2, но они не менялись со времен первого нортон командира от Пети Нортона.
А остальное в подсказке снизу.
Надо только попробовать.
А про "особый путь" и "так заведено" лучше отправлять Леонарду Поттерингу, он оценит ;-)
В новой версии из ppa уже завезли, оно просто отключено по умолчанию по историческим причинам. Просто включите в настройках.
Коллега, не ведитесь на очередное "в колбасе потребности нет". Кому надо - тот сам посмотрит, а кому не надо - того вы не зазовете.
Тем более что лет 15 назад эти же люди точно так же рассказывали что "mc не нужен, учите шелл".
А еще лет за 10 до того эти же люди клеймили позором тех слабаков, которые в баш втащили libreadline - ибо не требуется редактировать команды, можно же заново набрать после опечатки все то же самое ;-)
Это философский вопрос, на самом деле. "О разнице подходов", и это даже не шутка.
Для иллюстрации, давайте на пару слов углубимся в историю "полуночного командира". Когда-то, в mc были и графическая версия (как сейчас у фара), и масса трюков по перехвату клавиатуры (как сейчас у фара) и т. д. Однако время шло, и "полуночный командир" все больше забрасывал свои решения, все больше ограничивая свой UX возможностями древней консоли 1970х. Добровольно. "Тут так заведено".
Фар идет другим путем.
Если чего-то не хватает в консоли, вейленде, терминале от микрософт, KDE и GNOME - тем хуже для них, "мы уже идем к вам". Везде немедленно шлются тикеты, патчи, пулл реквесты. Проектам, которые также реализуют TUI в консоли - присылаются примеры, ссылки, патчи.
Если у микрософт обнаруживается бага, то а) в фаре появляется workaround, и б) микрософт "допинывается" до состояния "патч вмержен, баг исправлен". Никаких компромиссов, никаких "так заведено" и "бага не у нас".
Так что "таблицы сравнений" тут мало осмыслены, они устаревают быстрее чем составляются...
Касательно же возможностей, фар бесконечен - ибо содержит в себе возможности макросов и скриптов, а также поддержку написания своих плагинов на Lua или Python. С их помощью кто-то просто пользуется, а кто-то автоматизирует свои повседневные задачи.
Надо только попробовать.
Флеш, к слову, тоже весьма активно использовался — а как еще быстро графики было нарисовать? :-)
In wild это мало было заметно — ведь не у всех консумеров была установлена хотя бы Java, не говоря уж о чем-то более экзотическом.
Но в корпоративном мире, где все и вся настраивается централизованно — а какие проблемы-то? Надо Java версии 1.1.4 — значит она у всех гарантированно будет, правильно настроенная. А уж в ней не было недостатка ни в гридах, ни в деревьях…
Просто в качестве казуса, вот представьте себе OS/2. На нее надо поставить VisualAge. Запускаете инсталлятор… а он открывает апплет в Netscape 4. :-)
А знаете почему? А потому что браузер — это не только показ маркированных страничек, но и платформа для instant delivery вашего софта…
А ведь ответ на поверхности — приходится тащить все эти дохреннилионы мегабайт в скрипт, потому что у нас, разработчиков, все остальные инструменты отобрали.
Еще 10-15 лет назад никому бы и в голову не пришло лепить реакты с ангулярами, зачем? Вам нужен кросс-платформенный развесистый интерфейс — к вашим услугам масса инструментов, от silverlight и flash до Java. С интеграцией с вашей веб страницей из коробки.
Ну так раньше можно было взять ActionScript и сделать векторный(!) мультфильм, Куваев не даст соврать. А теперь нельзя, только растр.
Первые серии Масяни или «Магазинчика Бо» занимали по паре мегабайт на серию, масштабировались на любое разрешение, и не требовали кучу разных размеров под разных клиентов.
Вот, полюбуйтесь — это месте с рантаймом флеша
а это без
При этом вся эта радость крутилась на уже тогда слабых машинках без лагов и с использованием аппаратного ускорения (!).
… чтобы не дай Аллах не выскочил очередной автор флэша в виде плагина и не отправил многомиллиардные вложения корпораций на свалку, хех. Это и есть — главная причина запрета на плагины.
В самом-то деле, зачем верить маркетинговому бреду. Очевидно же, что наличие возможностей всегда лучше их отсутствия.
А когда вы на своем ляптопе запускаете Windows, или хотя бы просмотр видео (через один из трех проприетарных DRM в вашем браузере, хехе) — вас это не смущает, не? А почему? Или Джамшут и Брахмапутра из Редмонда чем-то отличаются от таких же из Oracle?
Ну и самое главное — проблемы наколенных поделий «меня и Васяна» касаются только нас и наших с ним пользователей, при чем тут «открытые стандарты»?
И эту возможность у нас с Васяном — зачем-то забрали, под совершенно странными предлогами.
Это примерно как «в индейской резервации в Оклахоме пьянство и поножовщина, поэтому у вас в Гусь-Хрустальном все ножи отменяются, надо покупать всю еду уже разрезанную порционно».
Но из порционной еды же не приготовишь стейк, из красиво нарезанных кубиками кусочков — максимум гуляш…
А в ответ — и правильно, я когда от ножей отказался — у меня шапочка из фольги села как влитая! :-)
Ну, я даже представлял себе как такой нарисовать :-)
Действительно можно было добиться знаменитого окошка «ваш скрипт ушел в себя, подождать или убить» на всех вкладках сразу, из-за кривого экстеншена.
Я пока отлаживал свои поделия — пару раз натыкался, хех.
Но уж простите, решить проблему перхоти гильотиной — так себе решение, натурально.
Пока хромовцы свой IPC не затвикали под все платформы — хром и был сильно медленнее из-за IPC. Гуглодоки из-за этого тормозили в хроме неимоверно :-)
Особенно больно было если приходилось гонять растровые анимации — накладные расходы были колоссальны. Но затем (а куда деваться) придумали общие канвасы между процессами (один держит второй рисует) — и дело пошло.
Правда не очень теперь понятно — за что боролись, если процесс с контентом все равно занимается рисованием :-) Но киллер-фича с «ой, снап» работает, да.
Это особенность работы огнелисовского движка. Его когда-то тюнили для отрисовки гигантских таблиц, еще во времена былинные.
Хром появился сильно позже, и у них больше фокус на работе JS. К слову, у огнелиса со скоростным JS всегда было «на троечку». Нормальный JIT они впилили незадолго до легендарного квантума. Но не имея penalty от IPC — во многих сценариях были быстрее, несмотря на общую «макаронистость» древнего движка и так-себе JS Runtime.
Знали бы вы, в честь чего фаерфоксовцы на самом деле подорвались пилить много-процессность :-)
Перформанс там и не ночевал (да и с чего бы, все то же самое внезапно стало получать массовые penalty на межпроцессный IPC, которого раньше не было).
Решались на самом деле две задачи — основная и главная.
Основная — разделили привилегированный контент (потроха браузера они ведь тоже на JS) от обычного (тут вопросов нет).
А главная — это преодолели планку в 2GB виртуальной памяти, доступной firefox for windows 32bit. Ага, сюрприз :-)
Задача стояла нелегкая, откладывать ее надолго нельзя (а то мерж может и не состояться по техническим причинам, ибо код сильно разойдется с основной веткой), а тут еще и indirect method invocation колхозить и слой совместимости. Решили просто не делать. А расширения померли как collateral damage.
Но нельзя же без расширений совсем? Тогда под бой барабанов прилепили слой совместимости с гуглом (сдается мне эту часть гугол и оплатил). WebExtensions есть? Чем вы недовольны?
Ха ха.
Точно-точно, зачем вам защищенный клиент-банк с сертифицированной криптографией и аппаратными токенами. Или хотя бы KVM клиент для хитрой железки.
Видите, как смешно получается. Оказывается, целый класс полезных и важных приложений теперь недоступен, потому что «в колбасе потребности нет».
Не все ограничивалось просмотром ютубчика или показом формочки заказа кофе «модно-молодежно в WebAssembly».
И будет ли когда-либо второй раз — неизвестно.
Что вы говорите, 60%-80% трафика с мобильных устройств? И это конечно же никак не связано с внезапным выкидыванием огромного числа возможностей из браузера, точно-точно :-)
Увы, но нет — NPAPI плагины были вынесены в отдельную «песочницу» много лет назад, еще во времена, когда версии браузера не росли такими темпами. Выглядело это отдельным процессом и прекрасно работало. Я еще помню, когда флешовый плагин крэшился — но огнелис это тут же показывал и предлагал перезапустить.
… и поэтому они так и назывались — NPAPI плагины? :-)
Кстати в этих плагинах не было ничего особенного, я когда-то развлекался написанием парочки плагинов. Стандартная схема получения своего канваса, регистрация событий от него, и пачка базовых функций типа сходить на сервер, получить ответ и т д.
И к слову, выкидывание плагинов привело к тому, что в браузер пришлось тащить гору кода, которому вообще говоря там делать нечего — от показа и декодирования видеопотока и до обработки устройств USB. Потому что раньше этим занимались плагины в своей песочнице — а теперь это часть браузера, вот «улучшили», хехе.
Но с тех пор хромовские ребята целиком перетащили все важные оптимизации и гитики огнелисовцев (я в коде так и встречал — мы в хроме тупо скопировали, смотрите у мозиллы почему так их тикет такой-то). И пошли дальше. А вот мозилла в это время занималась всем подряд, кроме браузера.
А поняв что время упущено — стали изобретать квантумы да серво, мол раз у нас в коде лапша с доступом — раскинем по процессам, как в хроме! Что смешно, по итогу тормозить стало еще больше, межпроцессный IPC он не бесплатный даже через shmem. И память тоже — на double-buffering пошла со свистом.
Но в процессе «догоним и перегоним» — выкинули основной функционал расширений, внутренний XPCOM, и много еще того, что и делало огнелис — огнелисом.
Особенно доставило обрезание расширений — але, у вас там все равно стандартная SOA через сервис локатор, сделать remote invocation к уже существующему коду — дешевле чем все переписывать, микрософт со своим DCOM не даст соврать… И старые экстеншены бы работали, пусть и чуть медленнее…
Раньше — был прямо в меню File… а теперь — качайте девелоперский билд и там оно до перезапуска браузера, потом пропадает.
Ой, а куда база разработчиков делась, благодаря которым firefox так взлетал? (с)
Ну, конечно не идеал был — XUL это хамеель-based описание гуев с кучей недостатков (в том числе с misfeatures, из-за отсутствия нормального grid bag layout приходилось городить матрешки с hbar / vbar). Но он хотя бы был.
Практически вся функциональность была доступна в виде сервисов, все что только мог придумать — все под рукой. Надо заполнять регулярно адские формы в корпоративном ERP? Плагин — сайдбар — пачка запросов на сервер — наблюдаешь за автоматикой.
Модерация форумов, заполнение отчетов, прохождение workflow, подсветка нескольких контрольных цифр на сайдбаре вместо тыканья в десяток вкладок — это только то что я лично делал. Ну, еще я развлекался например тем, что «склеивал» списки в корпоративном трекере, который умел их показывать только по 10 штук, а я хотел сразу пару сотен скроллить, а не тыкать next-next-next :-)
Конечно, это все было хорошо запрятано — попробуй сообрази кто именно реализует «воон тот IDL» и как до него добраться… интерактивного просмотрщика «вот xxx оно реализует вот это» реально не хватало. Ползать по исходникам — такое себе удовольствие…
А embedding? Да, gtlkmozembed был крив, ужасен, и постоянно менялся… но он был! И «сделал свое окно браузера — в нем открыл — дождался загрузки всего — отрендерил — вызвал скрипт» делалось очевидным способом.
И где это все? Вам должно хватить надцати экстеншенов из магазина, паблишинг которых мы сделаем максимально неудобным способом (с)? Отстаньте уже, возьмите tampermonkey?
У хрома востребованные фичи появляются, у огнелиса — пропадают. Ой, а куда это юзеры ломанулись…
Ладно, может я такой странный и хочу загадочного, обычные казуалы втыкают в браузер с устройств? Окей, какой альтернативно одаренный убрал отдельный look для планшетов? У хрома появился (с табами а-ля десктоп), а у огнелиса…
Что значит — у меня 10 дюймов экран и альбомная ориентация, вот мне кнопушечка а-ля телефончик, чтобы между табами переключаться. Шикарный look and feel — 3-5 тапов вместо одного. А если табов полсотни — то еще и свайпов. Вместо свайпнул-тапнул…
И каждый раз — «а вам не надо», «мы зато занялись приватностью», «зато много-процессность», «у нас два встроенных VPN», и прочая.
Я огнелисом пользуюсь… всегда, с момента его появления. Я тот самый, кто помнит Netscape Navigator 2.0 не по картинкам. И то что надо лично мне — в огнелисе только пропадает раз за разом.
И потому я с огнелиса теперь пишу на хабру, а для дебага и разработки у меня основным — хром. Да, он жрет память, snap-ается когда хочет, и 3/4 привычных мне экстеншенов в нем нет и не будет. И JSON красиво в окошке отладчика не покажет, как умел firebug.
Но — у firefox их нет и не будет тоже — «зато многопроцессность». Меня один процесс и так более чем устраивал, внезапно.
Зато потрачено усилий было на что угодно кроме самого браузера — тьма. Я еще мозилловцам FirefoxOS припоминать готов :-)
А ничего, что деньги на написание кода получаются через вот эту вот «второстепенную бюрократию», не? :-)
… но при этом именно Истинно Свободные регулярно не сдают вовремя, вот парадокс.
Казалось бы, до всех доведено что (например) каждый понедельник не позднее 14.00 требуется предоставить отчет по форме. Но условный Истинно Свободный Петя а) занят и б) по емейлу и мессенджеру недоступен, ему надо звонить. Просто потому что.
Вот загадка мироздания — почему Истинно Свободные еще не взяли управление в свои руки и не научили Цифровых Надсмотрщиков правильно звонить и посылать курьеров, 20 000 одних курьеров © :-)
А то вдруг условный Петя занят — на хабр строчит, отчет подождет
, в интернете кто-то неправ:-)