Почему Google Chrome не торт
Пишу о своей боли прям вот пригорая. Сегодня окончательно принял решение слезть с «хрома» ибо затрахало, доколе!
А теперь по порядку. Я пользуюсь хромом с сентября 2008 года, поставив его через 2 недели после выхода в релиз и сразу влюбился в него! Плюсов была целая уйма при отсутствии минусов (строго на мой взгляд). Из плюсов была удобная консоль разработчика из коробки, напомню в 2008 единственная альтернатива этой консоли были плагины в Firefox, которые нужно было ставить отдельно, они тормозили и работали кое-как. Я уже не говорю о том, что в то время был еще актуален IE6 (около 15% браузеров), темные времена уходили, но это еще оставалось болью пользователей и разработчиков. А ведь там вообще невозможно было понять что происходило. И вот на фоне всего этого уныния появляется браузер — простой, компактный, в нем минимум функционала, но он настолько верно и в точку подобран что прям зашатаешься! В хроме не было плагинов! Что было просто шикарно ибо по Firefox все знали что такое плагины (картинка ниже).
Были у браузера и недостатки — он уже тогда кушал больше памяти чем другие браузеры, но это было простительно, ибо баланс между с процессором и памятью сохраняется всегда, и перекладывать нагрузку с процессора на память хорошая практика в данном историческом отрезке (хотя, тенденция идет на то что скоро опять будем экономить память =) ). многих функций у «хрома» не было, но это можно было спокойно терпеть. В общем все было просто шоколадно примерно 6 лет. И вот, 3 года назад начали появляться первые «звоночки». Начали появляться первые моменты когда хром бесил. К тому времени в нем появились плагины, он стал гораздо более функциональным но вместе с тем начали появляться глюки в его работе, объемы памяти, поглащаемые, хромом стали достигать отметки «да куда ты ее деваешь!» ну и всякие мелочи, о которых не хочу вспоминать… В общем, хром перестал быть идиальным браузером для меня, но альтернативы были еще хуже. Так что на все эти корявости я не обращал внимания.
И вот наступил 2017 год! Мир изменился и я не раз сообщал колегам что хочу перейти обратно на Firefox и все со мной соглашались что хром уже не торт, плюсам к предыдущим недостатками добавились еще несколько существенных недостатков.
Во первых начало прям раздражать насильное загоняние в счастье (SSL). Гугл вдруг решил что HTTPS это хорошо и все без исключения должны на него перейти, причем у всех спрашивать не обязательно — что эти пользователи вообще могут знать о том, что им нужно! Вы, например, знали, что если 1 раз зайти на сайт по https то «хром» больше никогда не пустит вас на http версию сайта он сразу, на стороне клиента будет редиректить на шифрованный протокол. Для обычнх пользователей это ничего страшного, но я-то с этим работаю! Я даже не могу проверить редирект у рабочих проектов и я вынужден лезть в lynx чтобы протестить редирект. И это меня сильно бесит! Я терпеть не могу когда программа принимает решения за меня. Насколько нужно быть самоуверенным в себе долбаебом, чтобы разрабатывая программу быть уверенным в том, что ты знаешь лучше что может понадобится пользователю в любой момент времени? И вот еще мне не понятно, как браузер, который изначально был настолько Developer-friendly внезапно не подумал о разработчиках. Неужели нельзя было отключить принудительный редирект при открытой консоли разработчика, или хотя-бы сделать в этой консоли рубильник для отключения этой функции? НЕТ! ЭТО НЕ НАШ МЕТОД! Мы добавим скрытую страницу настроек, на которой очень криво и нелогисно добавим возможность удалять https сайт из редиректа и до следующего входа на https пользователь сможет ходить по http. У меня нет слов — одни слюни и те матерные.
Вторая проблема это проблема не хрома а веба в целом, хотя ирония в этом есть. Дело в том что Google для ускорения «Хрома» написали для него новый движок для рендеренга (V8) который был настолько хорош и быстр в JavaScript что в 2009 году Райану Далу пришла идея использовать этот движок для использования на бэкенде и написание бэкенда на JS. Это ознаменовала революцию, плоды которой мы пожинаем. NodeJS породила кучу консольных приложений и концепций сборки приложений что в свою очередь привело к появлению «жирных» сайтов с развесистой логикой или вообще SPA. Нынешние сайты это монстры в сравнении со старыми сайтами с простенькой логикой и анимацией. И они требуют гораздо больше памяти… И хром требует больше памяти… Я, возможно, ханжа, но когда с меня требуют пол гигабайта оперативной памяти на открытие одной странички в интернете, я не понимаю что я сделал не так в жизни?
Третье! Давайте оглянемся вокруг, как поменялся мир вокруг хрома? Средства отладки появились во всех браузерах! =) Даже заскорузлый IE обзавелся вполне сносным дебагиром, позволющим дебажить свои старые версии! =) Да и сам Microsoft в последние 3 года стал чуть-ли не весь открытый, мягкий и пушистый! Firefox стал существенно быстрее, последние 2 года они внесли много усовершенствований и оптимизаций не только к себе в браузер но и вообще в мир веба вообще. Mazila активо поддерживает Rust и позволяет писать на нем плагины к своему браузеру (в замен медленного и корявого JavaScript).
Третье, но более глубоко! =) В слудующем году Intel обещает выпустить процессоры с тех-процессом 7нм что значит. Нынешние процессоры имеют техпроцесс 14 нм, а 1 атом кремния по прежнему размером 111пм, чуите к чему я клоню? в современных процессорах на 1 транзистор ширеной и длинной составляет 126 молекул вещества на котором он построен. А через год будет 63 молекулы. В лабораторных условиях уже сделаны транзисторы с техпроцессом 1 нм, но о их производстве речь пока не идет. Для не понимающих поясню — производительность электроники уперается в физические свойства веществ зи которых они сделаны! =) С 2000 года быстрый рост производительности машин повернул индустрию разработки ПО в сторону экономии времени разработчика в ущерб производительности и вот теперь с увеличением объемов информации (повсеместной информатизации) и невозможности увеличивать производительность оборудования индустрия возвращается к пути оптимизации ПО. Это я к чему? Есть-ли место для Google Chrome в этом новом мире?
Это не все недостатки, но это те, что расстраивали меня больше всего. Но п****ть не мешки ворочать и слезть с хрома хотелось но было очень лень. И вот сегодня случилось то, чего я терпеть точно не буду!
Сегодня при отладки одного из сайтов я поставил брэйкпойнт в нужное мне место. полтора часа отлаживал JS потом убрал брэйкпойнт и решил отследить запросы к сети. Перезагрузил страничку и… Меня выкинуло в отладчик, в то место где стоял брэйкпойнт. ОК, я попробовал поставить брэйкпойнт и убрать. Брэйкпойнт не ставится. =( ОК, я попробовал перезапустить хром. Что-бы вы думали? =) Все повторяется — брэйкпойнта нет, отладчик выкидывает на том-же месте, брэйкпойнт не ставится. ОК! перезагружаю компьютер! То-же! Потключаю файл JS, подключаю — так-же!
Спасибо «Хром», что был, ты принес нам много нового, заставил шевелиться конкурентов и умер когда пришло твое время. RIP!