Pull to refresh

Comments 308



Может, нам слегка успокоиться с С++? А то я написал тяжелое синхронной вычисление, и программа зависла, жду уже 20 секунд. Но это не моя вина, это вина C++, честно-честно.

Я начинающий разработчик и даже у меня все веб проекты загружаются быстро только потому что я использую lazy-loading технику для всего — от картинок до скриптов. Большинство нормальных разработчиков это знают и применяют.

Только вот разработчики Хабра этого почему то не знают — все картинки страницы загружаются сразу при загрузке страницы. Позор.

Но вообще, я тоже могу замедлить свое соединение до 50 Кб/с и жаловаться что у меня страницы долго загружаются. Где все эти выдуманные страницы, которые загружаются по 20 секунд на нормальном соединении (1+ Мб/с)? Можно хоть один пример хоть сколько-нибудь популярного сайта с такой проблемой?
Легко.

Вот прям сейчас (macOS, Safari, машинка довольно старенькая (MacBook Pro mid 2012, 4GB RAM) и перегружена сейчас):
— yandex.ru — 12"
— ya.ru — 45".
Сорок Пять Секунд, Карл!
Одна строка ввода, один батон и две ссылки!
На канале 100 честных мегабит, на минуточку.

Я не знаю, какую оно нефть качает по дороге, в отладчике написано среди прочего «Refused to execute a script because трамтарамтарам» и еще куча ашыпак.

Safari таки показало то, что нужно (и как смогло), но сильно обижается.
UFO just landed and posted this here

В то, что Я.Браузер быстро открывает Я.Ру — верю.
Мне, что ли, подбирать браузер под каждый сайт?
Как правильно — "ваш браузер несовместим с нашим сайтом" или "наш сайт не совместим с вашим браузером"?


Но вообще речь шла об излишнем увлечении JS.
Страница ya.ru занимает 30KB почти чистокровного JS с небольшим включением HTML.
Вопрос — нафейхоа оно мне, как потребителю?
Что эти навороты делают для меня такого, без чего вот тресни невозможно обойтись?
И из-за чего я должен мучительно ждать загрузку этой простенькой странички.

UFO just landed and posted this here
малый процент, которым пренебрегают разработчики

Я думаю разработчики пренебрегают не процентом посетителей, а стандартами:


[Error] Refused to execute a script because its hash, its nonce, or 'unsafe-inline' does not appear in the script-src directive of the Content Security Policy. (ya.ru, line 0)


Оно даже валидатор не проходит нормально.


То есть мы имеем излишнюю увлеченность полезной, в общем-то, технологией в комплекте с неряшливой реализацией.

А вам оператор связи (привет, Ростелеком) случайно не пытается свой треккинг воткнуть вместо яндексовского?

Может и пытается (от Ростелекома "спс"), но https же.
Да и другие браузеры (лиса) открывают шустрее.
Может потому, что просто похеривают кривости уеб-страниц.

Фронтэндеры — тоже люди. И у них есть дети.

Которые в будущем их проклянут за то, во что их родители превратили Интернет.
И это повод делать из веба технологическую помойку? Зачем веб, который несколькими вкладками легко может отожрать гигабайты оперативки?
Ну дык всем же ж хорошо: фронтэнедеры кормят детей, AMD и Intel продают новые процессоры, Samsung и Microsoft выпускают память… плохо только пользователю, но кто он вообще такой, чтобы о нём думать?

Пользователю тоже хорошо, раз он выбирает "плохие веб-продукты", а не хорошие альтернативы

Вот только давайте не рассказывать сказалок про «мудрый рыночек, который всегда порешает».

Если бы рыночек работал так, как он работает в сказках, то и USB-зарядки не пришлось бы директивно вводить, ни сертификаты на сельхозпродукцию.

Пользователь выбирает «плохие веб-продукты» не потому, что ему хорошо, а потому что альтернатив нету.

А их отсуствие — это далеко не всегда следствие того, что «конкуренты не справились». Закон Меткалфа просто выключает весь рынок к чёртовой матери во многих случаях.
Пользователь выбирает «плохие веб-продукты» не потому, что ему хорошо, а потому что альтернатив нету.

А вы вот так прямо уверены что их нету? Проверяли?

А то ведь это прямо золотая жила ведь если пользователь что-то хочет, а ему никто это не предлагает. Сами сделать не пробовали? Ну ведь если вы этому самому пользователю сможете предложить те самые «хорошие продукты», то вы ведь случайно и миллионером стать сможете…

Сделать-то можно, только нюансы есть:


  • продвижение "такого же, нос пералмутровыми пугвицами" денег стоит
  • персональными данные уже и непонятно чем считать их как их вообще хранить: законы разных юрисдикций друг другу явно противоречат: тех граждан только там, этих — только здесь. Тут не мллионнером можно стать, а нищим, если случайно какой-то пункт нарушишь, а то и заключенным, если суд придёт к выводу "знал или должен был знать"
Проблема не в том, что «продвижение „такого же, нос пералмутровыми пугвицами“ денег стоит».

Проблема в том, что если люди уже вложились в технику, которая позволяет той кучей дерьма, которая сегодня выдаётся за продукт, пользоваться — то смысла переходить на ваше изделие просто нет.

Ну, условно говоря, что с того, что ваш мессенджер может работать на телефоне за 20 баксов, который может работать от батарейки неделю? Человек уже вложился во флагман, который нужно заряжать каждый день.

И даже если он откажется от одного конкретного программного монстра — он всё равно не сможет перейти обратно на телефон за 20 баксов.

Вот там, где железо покупается под софт — там ни Web-технологии, ни Windows не наблюдаются (кроме случаев, когда процент ресурсов уходящих на софт в любом случае минимален… в цене прокатного стана стоимость даже Threadripper'а окажется незаметной — так что необходимости воевать за то, чтобы всё «летало» на процессоре за три бакса просто нет).

А вот там, где железо оказывается разделяемым между несколькими программами… случается классическая трагедия общин.

Вам невыгодно тратить время и силы на оптимизацию вашего продукта — выгоднее потратить ресурс за который вы не платите (и за который, в итоге, платит пользователь), чем ресурс, за который вы платите.

Это если говорить о технических ограничениях, я же больше о функциональности и UX. Пускай приложение жрёт столько же ресурсов, что и монстр, но предоставляет пользователю то, что ему нужно в удобной форме, а не то, почти то, что нужно + 100500 ненужных ему функций в неудобной форме.


Вполне уже есть веб-технологии, и там где железо покупается под софт. Потому что железо под связку типа linux+ node.js сервер + electron клиент в сигаратеную пачку поместится (без учёта экрана и органов управления если надо) и стоить будет если не единицы, то лишь десятки долларов. Плюс возможность это же железо делить между несколькими программами: многие "смарт" устройства по этому принципу строятся: спецконтроллер стоит немного меньше чем чем условная "ардуинка", а то и дороже. Возьмём ардуинку, напишем демон управления железом на Си, но поскольку ресурсов ещё тьма (дли мира микроконтроллеров), то возьмём поставим ноду, єлектрон и напишем на js что-нибудь "умное" типа доступа к нетфликсу на холодильнике.

Ну ведь если вы этому самому пользователю сможете предложить те самые «хорошие продукты», то вы ведь случайно и миллионером стать сможете…
Нет. Не сможете. Потому что в большинстве случаев самое главное в современных продуктах — это не качество самого продукта (тот же Zoom — дерьмо редкостное), а его «раскрученность» и наличие клиентской базы.

То есть получается что те самые пользователи сами выбирают "раскрученность", а не "качество"? То есть именно то, что вам писали выше?


Или по вашему их кто-то как-то заставляет выбирать не то что они хотят? И кто и самое главное как тогда это делает?

То есть получается что те самые пользователи сами выбирают «раскрученность», а не «качество»?
Разумеется.

То есть именно то, что вам писали выше?
Извините, но мне выше написали чушь:
Пользователю тоже хорошо, раз он выбирает «плохие веб-продукты», а не хорошие альтернативы

С неё всё началось.

Если, скажем, в магазинах продавать хлем с добавкой опия или героина — его тоже будут разбирать. В своё время за такое право войны велись.

Как вы думаете — людям, которые будут, в результате, дохнуть до наступления 40 лет — будет лучше или хуже? Если вы считаете, что да, лучше — раз они сами такое выбрали — то дальше разговаривать не о чем особо.

Для вас рынок, очевидно, превратился в религию — раз вы считаете, что любой результат его работы, по определению, это всегда польза.

Если же нет — то можно показать как это работает в случае с софтом.

Или по вашему их кто-то как-то заставляет выбирать не то что они хотят? И кто и самое главное как тогда это делает?
Не «как», а «когда» в основном.

В самом начале. Когда изобретается новая категория продуктов с какой-то новой «фишкой». И вот в тот момент, когда «куча дерьма» у вас есть, а нормального, качественного кода, у вас ещё нет (а такой момент наступает почти всегда ибо качественный код писать банально дольше, чем некачественный, тут деньгами ничего особо не сделать) — дерьмо занимает рынок.

Дальше — он оказывается закрыт из-за Закона Меткалфа.

И убедить кого-то перейти на более качественный продукт просто потому, что он требует меньше ресурсов и/или меньше «глючит» — вы уже не можете. Ибо за возможность пользоваться кучей дерьма эти люди уже заплатили!

Можно, теоретически, было бы выскочить за счёт новых «фишек»… но это будет уже слегка другой продукт… и его снова будет выгоднее делать дерьмом!
Для меня это звучит как будто это вы один такой умный и знаете как пользователям надо себя вести. А все остальные тупые и не знают.

И что всем нужно поступать не так как хочется им самим, а так как лично вы считаете правильным.

И нет, я не считаю что «результат работы рынка» это всегда польза. Я вообще про какую-то пользу ничего не писал. Но этот самый рынок на мой взгляд в большинстве случаев всё-таки ориентируется на пользователей. И на мой взгляд однозначно нынешняя ситуация большинство пользователей как раз таки устраивает и они особых проблем не видят и не имеют. И пока это так, то и ситуация вряд ли изменится.
И на мой взгляд однозначно нынешняя ситуация большинство пользователей как раз таки устраивает и они особых проблем не видят и не имеют. И пока это так, то и ситуация вряд ли изменится.
А где я с этим спорил?

С тем что пользователь «жрёт дерьмо» не под дулом пистолета — я согласен. С тем что «нынешняя ситуация большинство пользователей как раз таки устраивает» — нет. Она их не, чтобы «устраивает», они просто с ней сделать ничего не могут.

Для меня это звучит как будто это вы один такой умный и знаете как пользователям надо себя вести. А все остальные тупые и не знают.
Нет. Они не тупые. Были бы тупыми — революцию бы устроили. Они как раз умные — просто градиентный спуск далеко не всегда вас в точку глобального оптимума. А рынок (даже идеальный) — это как раз градиентный спуск и есть.

И что всем нужно поступать не так как хочется им самим, а так как лично вы считаете правильным.
И снова вы мне приписываете чужие мысли? Причём тут я. Для исправления проблем, вызванных врождёнными ограничениями градиентного спуска есть много разных инструментов: регуляторы, квоты, законы и прочее.

Просто они не сразу в действие вступают. И это разумно: попытка регулировать рынок до того, как он «устоялся» — зачастую приносит больше вреда, чем пользы.
С тем что «нынешняя ситуация большинство пользователей как раз таки устраивает» — нет. Она их не, чтобы «устраивает», они просто с ней сделать ничего не могут.

И как вы это определили? Какие то исследования проводились? Хотя бы опросы? Или это вам просто так кажется?

Для исправления проблем, вызванных врождёнными ограничениями градиентного спуска есть много разных инструментов: регуляторы, квоты, законы и прочее.

И кто это должен решать и вводить? И каким образом? Очередная «плановая экономика» или как вы это себе представляете?
И как вы это определили? Какие то исследования проводились? Хотя бы опросы? Или это вам просто так кажется?
Ну, например, почему за право отказаться от обновления и/или право установить старую версию программы Microsoft денег просит? И почему большинство производителей ПО, в принципе, не дают возможности купить старую версию, кроме как «с рук»?

Это, как бы, вполне себе эталонное сравнение: старой версии с новой.

Если бы пользователей это «устраивало бы» — не было ло бы такого количества статей про откат на старые версии.

И кто это должен решать и вводить? И каким образом? Очередная «плановая экономика» или как вы это себе представляете?
А вам не приходит в голову, что кроме плановой экономики и дикого рынка бывают какие-то ещё варианты? И что как раз страны, ударяющиеся в крайности «плохо кончают»?

Пока что мы наблюдаем попытки потихоньку разрулить подобную же проблему на рынке железа, думаю до софта тоже очередь со временем дойдёт.

Но вначале — да, надо определить масштабы бедствия, просчитать варианты… потом уже «резать».
Ну, например, почему за право отказаться от обновления и/или право установить старую версию программы Microsoft денег просит?

И вот только на этом вот вы строите всю вашу теорию? Это не исследования и не опросы.

И опять же ничто не мешает людям перейти на какие-нибудь линуксы или макоси. И многие так и делают.

А вам не приходит в голову, что кроме плановой экономики и дикого рынка бывают какие-то ещё варианты?

Ну так какие конкретно? Отдать этот вопрос очередному «роскомнадзору»?
Лично я действительно вижу только два варианта: люди сами для себя решают что их устраивает или не устраивает. И кто-то другой решает за людей что их должно устраивать или не устраивать.

И первый вариант при всех его недостатках нравится лично мне гораздо больше.

Пока что мы наблюдаем попытки потихоньку разрулить подобную же проблему на рынке железа, думаю до софта тоже очередь со временем дойдёт.

Нет, в вашей ссылке разруливают скорее другую проблему. А именно проблему экологическую. То есть кучу лишнего мусора от выкидываемой техники. Плюс очередной наезд на дешёвую «азиатскую» конкуренцию. Именно «качество» продуктов как таковое там никого особо не интересует.
Лично я действительно вижу только два варианта: люди сами для себя решают что их устраивает или не устраивает. И кто-то другой решает за людей что их должно устраивать или не устраивать.

Мир не чёрно-белый, а проблема выбора чуть сложнее чем "устраивает-не устраивает". Как минимум есть вариант "готов временно мириться с недостатками ради достоинств". Это вот как сейчас некоторые вынуждены работать удалённо, потому что альтернативы нет. У удалёнки сейчас одно глобальное преимущество, перечёркивающее все её недостатки: можно работать в принципе.


Да, это можно назвать "в целом устраивает", но при появлении доступной альтернативы моментально перестанет устраивать.

Мир не чёрно-белый, а проблема выбора чуть сложнее чем «устраивает-не устраивает». Как минимум есть вариант «готов временно мириться с недостатками ради достоинств».

С этим то я и не спорю. Но это на мой взгляд опять же каждый должен решать для себя сам.

Да, это можно назвать «в целом устраивает», но при появлении доступной альтернативы моментально перестанет устраивать.

И опять же с этим я тоже согласен. Проблема только в том что эти самые «доступные альтернативы» на мой взгляд не получишь запретами и/или «из под палки».

Более того часто они есть, но при этом просто дороже или просто менее «раскручены».
И убедить кого-то перейти на более качественный продукт просто потому, что он требует меньше ресурсов и/или меньше «глючит» — вы уже не можете.

А с чего вы взяли, что продукт более качественный?

Студия, которая визуал — на второй-третьей минуте ребилда большого проекта становится слышно работу вентиляторов ноутбука, через полминуты после окончания — вентиляторы затихают…
Сейчас — 4 вкладки хабра — вентиляторы уже полчаса не умолкают…

А на ff мобильном "комментарии" вообще может повесить страницу(с сообщением о неотвечающем скрипте) и не отображаются если больше пары сотен… :)
Мобильный хабр только под хром!
p.s. нет никаких резалок/vpn/ плагинов и т.п.

Может и опаздывать за набором на несколько секунд… иногда и минут)

Впрочем я скорее об аппетитах нынешних сайтов. Если раньше народ веселило «мне бы попроще и подешевле компьютер для игрушек», то сейчас уже реально подкрадывается момент когда «этот суперкомпьютер сможет открывать даже интернет-сайты»)))

«этот суперкомпьютер сможет открывать даже интернет-сайты»

Вот ровно об это я и споткнулся: в конце 2011 купил нетбук, то есть компьютер, предназначенный для работы в сети. Причём, по тем временам это была довольно мощная машина — Atom N570 (1,66ГГц, 2 ядра, 4 потока), максимальные для этой железки 2 Гб. Покупал для разработки, которая на нём и велась до тех пор, как я три года назад случайно купил старый, но бодрый дэсктоп. Так вот, на компьютере, на котором отлично шла разработка и как-то даже бегал Eclipse, браузер работал с таким скрипом, что было очень тоскливо. При этом, пустой браузер машину не особо нагружал, но вот некоторые сайты просто доводили аппарат до заморозки. А некоторым удавалось вызывать падение браузера.
Я бы сегодняшнее положение обрисовал так — «атомы и селероны — не для интернета»(

Старый бук 2011 еще вполне прилично тянет разработку в той же VS, но уже ощущается откровенный дискомфорт в серфинге… i7 4xxx, 8Gb RAM, SSD.
i7 8xxx с 16Гб и более шустрым SSD пока еще справляется…

Ну если не считать тормозов тут в комментариях
у меня последние примерно полгода на телефоне вообще комментарии на хабре не подгружаются
Вот прямо сейчас, ya.ru — 5.77 сек.
Машинка хорошая, i7, 8 гб, ssd.
Основное отличие — браузер chromium.
Объективно — львиную долю времени съел 302 редирект с днс лукапом. Но даже после перезагрузки, зная куда идти — страница загружается за 1.4 секунды, что, на мой взгляд, многовато для одной строки поиска.
А главная страница яндекса загружается за 2.8 секунды, и продолжает что-то подгружать ещё секунд 15. Первый заход на страницу инициировал загрузку шести мегабайт материалов. 208 запросов.
yandex.ru продолжает что-то грузить уже после отрисовки страницы. И, полагаю, будет делать это бесконечно, подгружая свежие курсы валют, погоду, etc.
yandex.ru


ya.ru

Вот hh.ru, скрипты на текстовой страничке десяток секунд что-то молотят, зачем-то долбятся в локалхост и т.п.
зачем-то долбятся в локалхост

Потому что у вас в локалхосте должен быть апач, отдающий данные.
У девелов, по крайней мере, так и есть и всё нормально работает.
Так что нечего тут…
Я вот медка хлебнул — и не жужжу ©

Потому что у вас в локалхосте должен быть апач

А может снимается отпечаток пользователя и простукиваются возможные запущенные сервисы, я ж не разбирался.

А разве CORS даст так просто подключаться ко всему подряд?

Так просто не даст, но по side effect'ам иногда можно понять, есть там что-то или нет. Кроме того, у сайта может быть субдомен, который резолвится в локалхост, и тогда никакой CORS не поможет.

а разве на субдомене не отдельная политика?

локалхосте должен быть апач, отдающий данные

Извините, что такое апач в локалхосте? И почему он прямо должен там быть?

Веб-сервер такой.
Почему должен там быть — вопрос к разработчикам hh.ru.

UFO just landed and posted this here
что-то хотят
secureportal.v15.js:339

GET https://127.0.0.1:22/ net::ERR_UNSAFE_PORT
GET https://127.0.0.1:445/ net::ERR_CONNECTION_RESET
GET https://127.0.0.1:3389/ net::ERR_CERT_AUTHORITY_INVALID
GET https://127.0.0.1:80/ net::ERR_SSL_PROTOCOL_ERROR
GET https://127.0.0.1:5938/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:5931/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:5650/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:6900/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:5900/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:5939/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:5950/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:51/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:5985/ net::ERR_CONNECTION_REFUSED
GET https://127.0.0.1:8080/ net::ERR_CONNECTION_REFUSED

Как им на корпоративных виртуалках под инет тяжко наверное...

Типичный фингерпринтинг при помощи списка открытых портов.

Не подскажете, есть ли способ ограничить взаимодействие сайтов с localhost? Надо признаться, я и не думал, что с этой стороны может быть подобная неприятность.

А разве в современных браузерах он не запрещён по умолчанию?

Этот сайт умудрялся даже ронять Firefox. Так что Вы ещё легко отделались.
Вот что что, а с хабром проблем не было.
lunх вам в помощ
Это костыль, ибо саму проблему по сути не решает
А что такое lunx? Ничего не могу нагуглить.

Может быть, вы имели в виду lynx?

Так есть более продвинутый — links.

И для тех, кто любит версию ncurse, как в BorlandC и Turbo Pascal, — elinks.
Это вот сейчас серьезно было?
Сходите попробуйте потыкать пост с 1000 комментов.

У меня Ubuntu 18.04 (Firefox), Win 10 Firefox и в этом году:
— две недели страдал из-за страшных тормозов textarea
— неделю не кликались ссылки практически нигде, кроме самых основных
— три недели не кликались ссылки во всех разделах профиля
— постоянно проблемы с постами, при наличии 1000 комментариев
— две недели жутких проблем со скроллом
— неделя проблем со скроллом попроще

И это только то что я вспомнил
Выключите лишние расширения, сбросьте конфиг about:config. Всё в порядке и с textarea и ссылками и со скроллом на постах с 1000 комментов. Проверено на ArchLinux 64бит, Celeron 2.6Ghz, 2Gb DDR3 (см. спойлер)
Ни единого фриза
Запущено:
  1. Firefox,
  2. Chromium,
  3. С++ IDE Geany,
  4. 4 терминала,
  5. В фоне играет Full-HD видео на mpv, при том что экран не тянет Full-HD,
  6. и еще по мелочи…

Ни единого фриза. Что ж у вас за компьютеры такие, что web тормозит? Или вы что-то настроили не так?!

«У вас нога болит? Странно, у меня такая же нога и не болит»

Найдите пожалуйста страницу с 1000 комментами и замерьте время ее загрузки а лучше по ссылке на коммент.

Кроме того вы как то элегантно обошли остальные пункты (подтвержденные администрацией и исправленные).
Ну смотрите. Я нашел страницу, перехожу к определенному комменту. Какое-то время подгружаются картинки и прочая медиа из статьи и комментов, причем только та, что не закешировалась браузером. Из-за заранее незивестных размеров картинок страница немного уходит вниз по мере загрузки этих изображений. Ну а так, в целом, после загрузки, всё приблизительно также как и на других страницах Хабра.

Ах, если бы все изображения в комментариях постили под спойлер, страница бы не опускалась во время загрузки этих изображений! Мысли вслух.
UFO just landed and posted this here
А вы когда пишете комментарий с картинкой, указываете размер картинки в теге?
UFO just landed and posted this here
Ну, подождите, а откуда разработчикам сайта известна информация о контенте пользователя? Разве за этим должен следить разработчик?
То есть, вы предлагаете загружать на серверы Хабры всю информацию, на которую, вы даёте ссылки в комментариях?
P.S. Мой вопрос не с позиции Роскомнадзора. Само собой, за соблюдением правил сайта может следить и само сообщество Хабры!
То есть, вы предлагаете загружать на серверы Хабры всю информацию, на которую, вы даёте ссылки в комментариях?
Вообще, конечно, было бы неплохо. Да, тупо запретить использовать картинки с других сайтов, оставить только habrastorage.org… Не такая радикальная идея, на самом деле-то.

На многих форумах действуют именно такие правила и меня бесят те, которые этого не требуют. Потому что открываешь ты какую-нибудь интересную публикацию 10-летней давности… а там картинок-то больше и нету! Были, но… все кончилось.

P.S. Объекты, которые в страницу Хабра не встраиваются, а просто показываются при открытии другой страницы, разумеется могут быть где угодно…

Вообще-то на Хабре сделано гораздо лучше: через некоторое время после публикации картинки автоматически загружаются на habrastorage. Что мешает при этом прописать размеры изображения — не знаю. Наверное, у разработчиков даже мысли такой не было.

Можно при обработке комментария, делать запросы к серверам с картинками, даже не грузить её полностью, а только заголовок, и проставлять размеры.

А какие именно размеры проставлять? под какое пользовательское разрешение (ориентацию экрана)? и в каких единицах?
UFO just landed and posted this here
Размеры картинки в пикселях.

Хабравчанин khim в комментарии ниже предложил вам картинку размером 2560х1600.
Вы можете дать конкретные размеры в цифрах, которые надо вписать в тег, чтобы не поехала верстка? Разминка для джуна ведь. А я проверю ваши цифры на своих гаджетах и сделаю соответствующие скриншоты. Гаджетов у меня много всех разрешений от мало до велика.
UFO just landed and posted this here
По-моему на этом скриншоте отлично всё видно:


Для тех, кто в танке
Вёрстка на Хабре в 2020м году — нифига не адаптивная. На больших экранах остаются полосы по краям, на малых — возникает полоса прокрутки. Это, как бы, не очень хорошо — но означает, что вопросы «под какое пользовательское разрешение (ориентацию экрана)» задавать бессмысленно.
Да, на вашем скриншоте всё прекрасно видно.

Так вот, если на ваш же скриншот прописать оригинальные размеры 2560px x 1600px, то уже не будет так видно, т.к. 80% скриншота уйдет за overflow.

И вопрос остаётся открытый: какой именно размер вписывать в тег?
UFO just landed and posted this here
А зачем вообще эти размеры? Сейчас как бы не девяностые, всё на CSS нормально делается.

Но технически на сервере можно сунуться и таки-узнать размеры.
UFO just landed and posted this here
использую lazy-loading технику для всего

Это вот как раз из-за таких приколистов, когда трафик кончается на телефоне, грузятся только белые страницы с квадратами вместо картинок и пустотой вместо текста, на которой ничего нельзя кликнуть до кучи.

Lazyloading теперь уже встроен в Chrome
Примите тот факт, что иногда для некоторых людей ваш JavaScript не будет работать. Подумайте, что это значит.

Я автора как энтузиастку раннего веба и вообще человека, делающего крутые и забавные вещи — очень уважаю, но.

Уже подумали. Мало того, уже посчитали — и сочли, что проблемы этих некоторых людей не стоят найма программистов и проведения оптимизаций. Проще говоря, пока людей, у которых по некоторым фундаментальным причинам не работает яваскрипт (т.е. им нельзя просто сказать «а ну включили обратно») — мало (а их очень, очень мало) — их проблемы никого не волнуют.
В статье вполне обоснованное доказывается, что некоторые вещи (как минимум), в частности, ссылки, на голом HTML сделать проще и надёжнее. Я даже не говорю про отключение горячих клавиш.
Конечно проще. Только нафиг никому не сдалось.

Вот и не делают.
А зачем же отключение клавиш «сделали»?)

Не отключение, а сделали свою, не обращая внимания или не зная, что она используется в одном из популярных браузеров. Я вот не знал (скорее не помнил) и если спросили как сделать поиск для гиков, то сказал бы "/" как в vim и ко

Сейчас «проще и надёжнее» далеко не всегда в приоритете. Часто в приоритете «быстрее и дешевле». И опять же часто быстрее и дешевле взять какой-нибудь готовый плагин или готовую библиотеку и использовать их.

Особенно если учитывать что «уровень входа» в веб относительно низок, то иногда люди по другому просто и не умеют. Потому что им как на курсах показали, так они и делают…
Может быть. Но Твиттер явно писался с нуля (или почти с нуля), а не с помощью кучи каких-то библиотек, имеющих миллион побочных эффектов, доставшихся «в нагрузку».
Я как бы не знаю как оно там конкретно выглядит внутри разработки твиттера, но на мой взгляд даже если они вообще не использовали сторонние библиотеки/фреймворки, то в какой-то момент они сами для себя сделали что-то подобное.
Ну вот просто не верю я что они все эти годы смогли/захотели без этого обходится.

Бутстрап вроде твиттер и сделал, если не путаю.

Бутстрап в роли набора стилей и системы вёрстки как раз вполне может и без скриптов жить, а та жесть, которую наворотили в твиттере — по ощущениям, мало чего общего с ним уже имеет.

Эти проекты могли пилить абсолютно разные люди из твиттера, отсюда и результат абсолютно разный.
Я бы не сказал, что «уровень входа» в современный веб — низок.
Результат фронт-разработки виден сразу и всем.

А какое говно в на беке или в мобильном приложении — не видишь.
Я бы не сказал, что «уровень входа» в современный веб — низок.

Гораздо ниже чем он был 10-15-20 лет назад. И ниже чем в каком-нибудь эмбеддед.

Результат фронт-разработки виден сразу и всем.

Вот-вот :)
Гораздо ниже чем он был 10-15-20 лет назад

В конце 90х надо было знать основы HTML+CSS, как пользовать таблицы и вставлять картинки. Потом стало модно DIV вместо таблиц. А вот сейчас то как раз порог входа ой как вырос. Тут тебе и тонны собственного JS (согласен с автором — далеко не всегда нужным) и всякие фреймворки и severside js появился, надо уметь прекомпилятор настроить чтобы все эти тонны JS и CSS минифицировать. Как по мне — намного сложнее стало.
Помнится экономил время и трафик во времена Dial-UP\GPRS и пользовался ya.ru именно потому, что русскоязычную инфу хорошо искал и быстро. Сейчас специально открыл ya.ru в свежем хроме без расширений\дополнений. Честные 50 мегабит, Core i5, 8 гигов памяти. 1,9 секунд.
Тут тебе и тонны собственного JS (согласен с автором — далеко не всегда нужным) и всякие фреймворки и severside js появился, надо уметь прекомпилятор настроить чтобы все эти тонны JS и CSS минифицировать.

Это не «порог вхождения», это уже более продвинутый уровень. Я лично знаю людей которые «лепят веб» и в вами перечисленных вещах в общем-то не разбираются. Их научили библиотечные контроли копипастить и они копипастят.

Сейчас веб-приложения — это не голый HTML. И то что кажется простым, если смотреть на страницу просто, как на .HTML не всегда таким является на самом деле.

Да оно генерит это страницу через кучу прокладок давая работу сразу трём-четырём узким специалистам :) и это выгодно касте ИТ в сумме… но в частном это как-то ...

Нельзя.

Дизайнер нарисовал красивую картинку… и ему пофигу, что для реализации его замысла потребутся 100 мегабайт памяти на страницу. На тестовой системе память несколько гигов, одна вкладка и всё отлично.

UX-специалист забацал видео с интересной идей… и ему пофиг, что для её реализации потребуется мегабайт скриптов и страница будет томозить. Начальство довольно и даже выписало премию — а больше ничего не надо. Опять-таки на тестовом стенде с одной вкладкой ничего не тормозит.

И так далее.

А разработчик… ну многие из них понимают что творят, но какая у них альтернатива? Выполнить задумки дизайнеров и получить бонус и премию или «встать в позу» и потерять работу?

P.S. Поищите старую-старую репризу Райкина «кто сшил костюм?»… Вот это вот — современный веб.

P.P.S. В маленьких компаниях всё ещё хуже. Даже если там один «программист» он всё равно общается с дизайнераим и UX-специалистами… только он с ними уже совсем ничего сделать не может. Потому что непосредственно сам браузер не даёт (без CSS) породит не «базовую страницу, с которой приятно работать», а то, что называется «вырвиглаз»…
Я вот дизайнер. Я спроектировал интерфейс, подготовил все материалы в svg, кучу описаний. Все продумано и легко.
А пришли разработчики, нарезали все в пнг, забили на уменьшение картинок, подключили пару бесплатных плагинов, ибо лень написать простую вещь… И страница открывается дофига времени, гугл чекер всеь красный, а виноват опять диз. Ага.

Это я так, взляд с другой стороны ;)
Я спроектировал интерфейс, подготовил все материалы в svg, кучу описаний.
И куда эту кучу SVG разработчики должны вставить?

И страница открывается дофига времени, гугл чекер всеь красный, а виноват опять диз. Ага.
Вы либо плохо прочитали что я написал, либо не так поняли.

Проблема не в том, что дизайнеры плохие или разработчики плохие. Проблема в том, что подобные вот вещи больше невозможны.

Мощности компьютеров таковы, что вот то дерьмо, которое в результате получилось — всех устраивает.

Недовольны только пользователи, но так как они ничего не платят, то, в соотвествии с известной поговоркой — они не закачик, а товар.
Как невозможны? Дефолтный интерфейс андроида (по крайней мере, 7.0) не позволяет отобразить секунды на экране блокировки, не задать время вручную с точностью до секунды. На чем-то экономят и продолжают экономить.
Конкретно вин95 по вашей ссылке работала с зоопарком векторных шрифтов (содержащих внутри тьюринг-полную машину), и это при типичном разрешении экрана того времени 640х480 или 800х600, когда от векторных был один вред.
Конкретно вин95 по вашей ссылке работала с зоопарком векторных шрифтов (содержащих внутри тьюринг-полную машину), и это при типичном разрешении экрана того времени 640х480 или 800х600, когда от векторных был один вред.
В те времена компьютеры предназначались в основном для порождения чего-то на бумаге, а там уже во начала 1990х 300-600dpi были вполне себе не редкостью.

Дефолтный интерфейс андроида (по крайней мере, 7.0) не позволяет отобразить секунды на экране блокировки, не задать время вручную с точностью до секунды. На чем-то экономят и продолжают экономить.
И снова мы наблюдаем пресловутый ГСМ в действии.

Я-то надеялся, что всем будет понятно, что речь в этой истории идёт не о невозможности показа секунд, а о том, что четверь века назад, если оказывалось что можно существенно сократить потребление ресусоров всего лишь чуть изменив дизайн — то так и делалось (за это, собственно ратуют в статье).

Сегодня же подход "я принёс тут кучу SVG, а они всё испортили" более распространён — никому не интересно делать быстрые и маложрущие сайты, хотя поспорить и том, кто именно виноват в том, что мы, на выходе, имеем, извиняюсь, дерьмо — это всегда пожалуйста.

Собственно сегодня как раз отказ от показа секунд говорит совсем о другом — уж четыре-то мегабайта под эти секунды на телефоне с 4 гигиабайтами памяти нашлись бы… просто в результате подхода, когда о конечном результате думает мало кто даже тех гигабайт и гигагерц, которые у современных разработчков имеются не хватает для этого!

Я так и предчувствовал, что вы про печать напишете. Я примерно в то время печатал в основном из доса, используя LaTeX, а через Windows использовал для интернета. Нечего этим шрифтам для печати в ядре системы делать.


если оказывалось что можно существенно сократить потребление ресусоров всего лишь чуть изменив дизайн


Иногда делалось. Чаще--нет, не делалось. В этой же самой вин95 был анимированный диалог копирования файлов. Вы забыли его? Забыли аватар-скрепку и волшебника в мантии?
А еще в windows 3.1 для конверсии уплотнения дисков (drivespace) был режим mini-windows. В котором тоже использовались векторные шрифты. Я бы наверное как-нибудь пережил бы если File Manager и Program Manager отображались бы моноширинным растровым шрифтом, это же не для печати.

Вы забыли его?
Нет, не забыл. Он был — и он отлично всё анимировал даже на 386м с 4мегабайтами памяти. А вот сегодня, почему-то, подобная же анимация делается так, что системы на три порядка мощнее — не хватает.

Я бы наверное как-нибудь пережил бы если File Manager и Program Manager отображались бы моноширинным растровым шрифтом, это же не для печати.
А вот это уже как раз дизайнеры. Шрифт там, кстати, использовался как раз растровый… но пропорциональный. И это преподносилось как достоинство. Более того, так же точно делала GEOS на компьютере, я извиняюсь, с 64 КБ памяти и процессором на один мегагерц (не гигагерц, карл, мегагерц). Она, правда, не особо летала… но мы тут говорим о системе, которая на четыре порядка медленнее современных ПК!

Так что забота об эффективности дизайну не мешает… уж хороший он или плохой — другой вопрос, но мы сейчас не об этом.
Так что забота об эффективности дизайну не мешает…

Так вы ссылались на Раймонда Чена, что таки мешает, и в угоду программированию поменяли дизайн, выпилив секунды в таймере.
А буде секунды в таймере оставлены, вы точно так же могли бы написать что функция "отлично работала", точно как и перелетающий листик в диалоге копирования. Там же конкретная цифра насколько это замедляло работу, не указано. Ваши примеры выше как пропорциональные шрифты использовались в слабых по аппаратной части системах — что они доказывают? Что можно сделать? Можно. Только вот они не доказывают, что эти рюшечки НЕ ухудшали производительность на этих системах. Можно даже сказать, что примеры выше доказывают, что даже в системах с 1 мгц процессором большинство людей хочет видеть замедляющие работу больше, чем секунды в таймере.


Только почему-то оказывается, что рюшечка которая ВАМ нравится, всегда "отлично работает".
Чем анимированный диалог копирования в вин-95 отилчается от «нам надо красить ники в набираемом твите синим цветом» в твиттере?

Так вы ссылались на Раймонда Чена, что таки мешает, и в угоду программированию поменяли дизайн, выпилив секунды в таймере.
Тут у нас с кванторами путаница.

Я имел в виду, что стремление эффективно использовать ресурсы вовсе не обозначает, что программы должнны получаться ужасно выглядящими и неудобными в работе. То есть не всякий хорошо выглядящий дизайн требует умопомрачительных ресурсов для своей реализации.

Однако некоторые дизайнерские изыскания, тем не менее, явно требуют совершенно несоразмерных ресурсов для своей реализации.

Можно даже сказать, что примеры выше доказывают, что даже в системах с 1 мгц процессором большинство людей хочет видеть замедляющие работу больше, чем секунды в таймере.
Совершенно верно — люди, в большинстве своём, хотят видеть пропорциональные шрифты. Но не все. Я это видел воочью у нас в школе. На компьютерах из прошлого века. Древних как гавно мамонта. Pentium II 300MHz, 12MB памяти, вот это вот всё. Там можно было работать в Turbo Pascal в DOS (причём DOS грузился по сети) или в Delphi (загружаемой с локального диска, но всё равно тормозившей). И, в общем, выбиравших тот или иной вариант было… сравнимое число.

Только почему-то оказывается, что рюшечка которая ВАМ нравится, всегда «отлично работает».
Ошибаетесь. Я как раз эти летающие окошки ненавижу и предпочитаю FAR. Но при этом — я понимаю, что если у вас процедура двигает с одного места на другое мегабайты, то уж на прорисовку окошка с листиком ресурсы найдутся.

Чем анимированный диалог копирования в вин-95 отилчается от «нам надо красить ники в набираемом твите синим цветом» в твиттере?
Тем, что анимированный диалог копирования тратит ресурсы только тогда, когда вы чего-то копируете, а функция раскраски ников (как и показ секунд в Windows 95) тратит ресурсы всегда — даже когда вы ничего не делаете.

Но я даже скорее не по поводу синих ников как таковых, а по поводу того, как это сделано. Скажем на хабре ведь тоже ники выделяются синим цветом — но при этом это не мешает Хабру иметь стандартный редактор текста.
кто именно виноват в том, что мы, на выходе, имеем, извиняюсь, дерьмо

Почему дерьмо-то? Как вы это определили, по каким критериям?

Я вот дизайнер. Я спроектировал интерфейс, подготовил все материалы в svg, кучу описаний

Как подготовленные svg помогут сверстать интерфейс без Javascript? Правильно было бы:


Я вот дизайнер. Я спроектировал интерфейс и проверил что все мои задумки достижимы обычным CSS, без хаков.

И много таких дизайнеров будет на свете?

> Как подготовленные svg помогут сверстать интерфейс без Javascript?

Может человек уже сдавал дизайн как все нормальные люди в пайнте.
И потом ужаснулся от реализации.
В следующий раз плюнул, нарисовал так, как оно должно быть, пришел к девелам:
— Вот вам унитаз и жеппа — дайте мне рулон туалетной бумаги! готовый SVG — просто добавь воды!
— Оукееей… (сказали суровые разработчики, привычно разворачивая canvas).
Поясню про svg — одну какую-нибудь иконку можно сделать 2-килобайтным файлом, экспортом из иллюстратора. Потом ее оптимизировать допустим до 500 байт. И прописать все стили внутри, чтобы вид иконки менялся программно легко.
В итоге клиенту прилетает 500 байт и несколько строк в стилях, а не грузится 10 пнг с альфаканалом и размером 4@ для мобилы, потом на яваскрипт определятся какую показывать.

достижимы обычным CSS, без хаков.

В современных инструментах, таких как Figma, трудно нарисовать что-то, не реализуемое css. Но это уже проф качество диза.
UFO just landed and posted this here

Большая часть веба сейчас мобильная. И вот мобильники, которые не могли прожевать сколь-либо большой SVG мне последний раз попадались ладно если в 2011, а трафик, кончающийся в самый неподходящий момент и роняющий скорость до 56 кбит/с — встречается по сей день.

Вопрос от человека который совершенно не разбирается: если мы хотим сделать самый быстрый сайт на свете для всех возможных устройств, нельзя ли сделать две версии: растровую и векторную и спрашивать браузер пользователя, какая из них была бы предпочтительнее, пересылая краткую информацию по возможной нагрузке на канал связи и процессор? А пользователь бы мог, если нужно, настроить политику браузера: экономим трафик или быстро загружаем страницу. Возможно это слишком сложно (невозможно) реализовать и/или не будет выигрыша во времени?
Возможно.
Увеличится стоимость и скорость разработки продукта, его поддержки.
А разницы вы не заметите.
PNG vs SVG на практике — экономия на спичках.
Кроме описанного, надо будет грузить пустую страницу с кусочком JS, который будет что-то там определять и загружать нужную страницу. А если JS не запускается, то будет срабатывать перенаправление через сколько-то секунд. То есть имеем одну лишнюю загрузку и сколько-то секунд на работу скрипта или ожидание таймаута.
Это где такая халява с трафиком? У меня просто рубит наглухо, а дальше — либо доплачивать за продление, либо помегабайтно, что совсем грустно.

SoftBank — 7 гигов месяц, потом скорость грохается так, что от силы текстовые сайты грузить можно.

Смотря что называть "проверил". Одно дело реализовать самому, а совсем другое прежде чем отдавать дизайн в задачу фронтендера, спросить у этого фронтендера "нормально будет или может что-то изменить?".

Всё очень просто. За отстойную реализацию продукта виновата вся команда, а не кто-то один.
Если есть команда. А не контора, нанимающая фрилансеров. Я свою работу выполнил качественно, оплату получил, материалы передал. И в мои обязанности не входит контролировать фронт. А потом жуткий результат видишь, через пару месяцев. Но никто ничего не будет исправлять, так как клиент доволен, все акты подписаны.
Звучит как мечта, а можно с вами поработать?)
А как мне иногда хочется поработать напрямую с фронтом, а не ПМ или ПО. :)
А я тимлид нынче. Ну или просто разработчик со своими интересами)
Может вам и ещё один разработчик нужен 10+ стажа, который любит лёгкий и быстрый софт? Могу не только на пыхе с мускулом и жысом, но и на щах с асмом. ;)
Может, но не сейчас, да и в штат очно все таки.
Тимлид — понятие растяжимое). Поработать можно конечно, если задачи интересные
Я много лет занимаюсь всевозможными ERP решениями: реестры оплат, кассы, продажные интерфейсы и прочее. Итеративно подбираю самый эффективный и быстрый вариант. Вот только шаблонов в этой сфере нет и дизайнеры все пасуют.

Сейчас занимаюсь созданием универсальных компонентов на vue.js, поскольку тех что есть в свободном доступе просто не хватает. Один из этих компонентов — DataGrid, таблица с агрегацией, фильтрацией, контекст меню, поиск, пагинация, тулбар итд и тп. Вот этому делу + шаблон страницы требуют дизайна.

Есть более сложная и емкая задача но под нее пока нет компонентов: идея в том что каждый интерфейс предполагающий заполнение справочников, позволяет это делать через селекты, не заходя в сами справочники, что жутко экономит время, но красивого решения я пока не нашел.

Если интересно и готовы оценить/попробовать то чирканите в личку.

И почему мне все пытаются подсунуть гигантские файлы в формате PhotoShop и Illustrator, которые мне и открыть-то нечем, потому что я, блин, не фронтэндер даже, а чистый бэкэндер и у меня даже винды нет. Эх, кто бы мне давал картинки в готовом виде, да ещё в SVG… Мечты, мечты.
Сочувствую. Я сейчас в основном в Figma работаю, это почти рай. Но есть всякие черти, кто до сих пор в фотошопе рисуют. Им давно пора в продавцы, но блин…
Эта кнопка × в правом верхнем углу и все пустое окружающее пространство? Их единственная функция — отправить вас в мой профиль, который виден за твитом. С таким же успехом они могли быть обычными ссылками, как стрелки влево и вправо для навигации. Но это сделано иначе, поэтому не работает без JavaScript.

Но в таком случае при закрытии этого окна страница будет полностью перезагружаться, а сейчас окно просто закрывается и можно скроллить дальше.

UFO just landed and posted this here
Есть только одна проблема — это никак не отразится на вашей зарплате. И даже премию вам не дадут.
UFO just landed and posted this here
Ну это вам может быть пофигу. А большинству разработчиков web-сайтов как раз не пофигу: они этим занимаются, чтобы денег заработать, а не потому что фанатеют от натягивания формочек…

Большинству разработчиков пофигу в этом плане навешивать или нет, пока их не увольняют за первое или второе, они на окладе

Мне вот даже интересно стало, сколько должно быть не вставших релизов (породивших проблем) чтобы всю руководящую ветвь отвечающих за продукт "отпустили на свободу".
p.s. меня иногда удивляют расстроенные результатом люди, которые сетуют на "людей не опытных и постоянно косячащих в ИТ", при этом рассказывающих что деньги это не мотивация :)

Хорошие руководители чувствуют этот предел шестым чувством и уходят заранее с победной строчкой резюме

А как одно связано с другим? Чтобы не косячить, нужно две составляющих: а) достаточный уровень компетентности, чтобы понимать как сделать не криво, б) жесткие внутренние критерии качества, в частности, установка «graceful degradation и экономия ресурсов компьютера важнее всяких украшательств».
Если этого нет, то никакая мотивация деньгами не поможет.
Нельзя же сказать «вот этот попап мы сделаем работоспособным без JS». Нужно или делать все, или не делать. А если делать, то нужно и тестировать без JS.

Есть конкретные политики:
— поддерживаем ли мы мы работоспособность сайта без JS;
— используем ли инструменты для людей с ограниченными возможностями;
— оптимизируемся по производительности;
— оптимизируемся по скорости загрузки;
— закладываем ли возможность переводов на разные языки;
— закладываем ли адаптивность под мобильные устройства;
— и т.д.и т.п.

Зачем делать то, на что компании пофигу?

Проще да но люди делают копипаст… Учатся на копипастах, используют копипасты из вопросов на so которые не совсем в те у о своих фреймворках… :)

Мало того, уже посчитали
Ну да, конечно, написать тонны js-кода, эмулирующего ссылку или текстовое поле, намного дешевле, чем просто написать <a href="..."> или <textarea></textarea>. Не всё в IT определяется деньгами, и проблемы, поднятые в этой статье — как раз очень характерный пример.

PS Дико поддерживаю статью и… плюсовать не могу, к сожалению, но хотел бы.
Ну да, конечно, написать тонны js-кода, эмулирующего ссылку или текстовое поле, намного дешевле, чем просто написать <a href="..."> или <textarea></textarea>.

Именно так. Потому что руками это мало кто пишет (хорошо, если один раз на контору, а то и вообще ноль, потому что берутся чьи-нибудь чужие компоненты).

Поэтому именно что намного дешевле. А уж искать на работу «реакт-программистов» а не «фронтэнд разработчиков с глубоким пониманием принципов вёрстки» — и вообще радикально дешевле.
И много вы видели сайтов, на которых используется точно такое же эмулированное текстовое поле, как в вышеупомянутом твиттере?

И даже если так, даже если такие текстовые поля повторно используются, не будете же вы утверждать, что (a) в принципах их (повторного) использования проще разобраться, чем в принципах использования textarea и (б) код, который нужно написать для использования этого текстового поля на конкретном сайте и на конкретной странице, проще, чем textarea с параметрами?

PS Есть известная фраза: «не всегда стоит объяснять злым умыслом то, что можно объяснить глупостью». Её можно перефразировать: «не всегда стоит объяснять желанием сэкономить то, что можно объяснить глупостью (а то и злым умыслом)».
И много вы видели сайтов, на которых используется точно такое же эмулированное текстовое поле, как в вышеупомянутом твиттере?

Да порядочно. Везде, где нельзя просто взять кондовый textarea, а нужно чего-то слегка доработать напильником — начинаются такие интересные метания, что решение твиттера даже на самом деле не таким уж и хреновым выглядит. А уж протестировать, как эта доработка напильником будет работать с недогрузившимся JS — лул. И вообще скажите спасибо, что твит таки можно написать без JS. У многих и этого великого «завоевания» нет.
Да порядочно.
А можно примеры? Я имею в виду, чтобы это хотя бы по внешним признакам выглядело похоже именно на повторное использование кода, а не изобретение велосипеда с нуля?
А можно примеры?

Возьмите любой сайт с раскраской текста, от WYSIWYG-редакторов до семантической раскраски кода, и за этим всем всегда будет стоять довольно-таки адовая эмуляция поведения обычного textarea. С исходным кодом — за этим всем будет частенько стоять codemirror (jsfiddle, codepen, и многие другие), а у кого не codemirror — у того редактор от VS Code.
И что, twitter тоже что-то из этого использует? Причём без изменений (или с изменениями, которые проще, чем вставить textarea?)
Нет, в твиттере придумали свою эмуляцию, когда программистам поставили задачу «нам надо красить ники в набираемом твите синим цветом».
Вот и я про то же. Причём из статьи складывается впечатление, что их решение не было оптимально по трудозатратам программистов, которые это писали.
Причём из статьи складывается впечатление, что их решение не было оптимально по трудозатратам программистов, которые это писали.

Если вы из статьи поняли, что можно как-то иначе — вы поняли неправильно. Нет, нельзя иначе. Или раскраска, или textarea. И причем второе у вас честно будет, если вы отключите JS. Вот только переход от такого состояния до обычного — никто особо не проверял (что совсем-совсем не удивляет).
Нет, конкретно в этом случае я имел в виду (а) всякие мелочи вроде написания текста два раза, (б) написания цветного текстового поля (как вы говорите) с нуля, причём очень тормозного (как говорит автор), вместо использования (как опять же как вы говорите) готового с поддержкой раскраски, пусть и js-based, (в) другие мутные места, вроде скриптовой строки поиска, вполне себе одноцветной.
причём очень тормозного (как говорит автор), вместо использования (как опять же как вы говорите) готового с поддержкой раскраски, пусть и js-based

А кто вам сказал, что оно тормозное? Автор? У неё вообще там какой-то цирк с 20-секундными задержками скриптов, так что я бы относился к любым её оценками производительности сильно с прохладой.

Это даже не говоря уж о том, что сам браузер тоже может тормозить, и тогда у вас и кондовый textarea начнёт вести себя очень так себе.

Я о том, что вы делаете далеко идущие выводы без надлежащих оснований. Может ли быть, что у твиттера какой-то особо тормозной код? Конечно может быть. Может ли быть, что нет, вполне себе обычный? Конечно может быть.
ok, проверил на своём компе, у меня 7 секунд на отображение страницы, что тоже не дико быстро (сколько времени занимает открытие формы ответа, проверить не могу, т. к. меня нет в твиттере). И главный мой point был в любом случае не в скорости работы, а в вероятных трудозатратах на разработку.
И главный мой point был в любом случае не в скорости работы, а в вероятных трудозатратах на разработку.
А причём тут трудозатраты? Программист ведь может тратить время на то, чтобы «пиксели по экрану гонять» (и тогда он занят полезной, нужной, работой) или «что-то там непонятно что делать» (и тогда — за что ему платить?).

Всё это — банальные (и легко просчитываемые) следствия эффекта айберга… Получите, распишитесь…
А причём тут трудозатраты?
При том, что вся эта ветка началась с утверждения, что компании экономят деньги на зарплате программистам вместо того, чтобы создавать нормальные интерфейсы. И я хочу сказать, что создавая такие интерфейсы, как описаны в статье, компании (минимум в некоторых случаях) делают что угодно, только не экономят деньги на зарплатах программистам.
Проблема в том, что в большинстве случаев решения в духе «красить ники в синий цвет» принимает какой-нибудь менеджер/маркетолог, далекий от Web-разработки вообще и не понимающий, к какому утяжелению сайта приведет замена стандартного компонента на нестандартный. И не находится никого, кто ему возразил бы.
С этим я и не спорю, «непродуманность решений» — вполне реалистичное объяснение, почему проблема возникает, на мой взгляд. Я спорю лишь с утверждением, что наоборот, «всё давно уже посчитали и поняли, что именно таким способом, с кучей скриптов, можно минимизировать расходы на разработку».
Ну например приличная часть SELECT элементов с другим видом(ну там с закруглениями и другими рюшками) написана с использованием DIV, а сам элемент спрятан
Возьмите например какой-нибудь Kendo UI или что-то в этом роде. Как на нём «формочки лепить» на мой взгляд любой школьник разберётся. Это почти как детский конструктор по сложности.
А с textarea школьник не разберётся? Как использовать textarea (в простейшем случае, понятно, что поверх него тоже можно тонны скриптов накрутить) можно объяснить в одном абзаце, что автор и делает. А можно ли в одном абзаце объяснить, как использовать Kendo UI?

В любом случае, я (и статья, как я понимаю) не совсем о том случае, когда используются готовые фреймворки. Я скорее о написании монструозных велосипедов с нуля (или переделывая имеющийся код для полной неузнаваемости) для решения задач, которые можно решить намного проще.
А с textarea школьник не разберётся?

Проблема в том что просто textarea не особо часто и нужно. Нужно как минимум в определённом месте, опрределённого цвета и чтобы содержание было к чему-то прикручено. И там ещё всякие кнопочки-иконочки и всякая подобная мишура. И вот как такое самому сделать это уже не так и просто разобраться.
А в кендо такое идёт «из коробки». И элементарно кастомизируется в определённых рамках. И там не только textarea, но и куча других контролей.

А можно ли в одном абзаце объяснить, как использовать Kendo UI?

У них всякие модные вебинары и видео на ютюбе. И страничка с примерами откуда можно великолепно копипастить даже не задумываясь что ты вообще делаешь.

Я скорее о написании монструозных велосипедов с нуля (или переделывая имеющийся код для полной неузнаваемости) для решения задач, которые можно решить намного проще.

А это уже следующий шаг. То есть когда внезапно выясняется что функциональности фреймворка не хватает, то его начинают «кастомизировать». Причём часто прямо «по живому», то есть лезут в сам фреймворки начинают в нём ковыряться.

П.С. Поймите меня правильно я не пытаюсь уговорить вас что так правильно делать. Я просто на такое достаточно часто натыкался и у меня вполне себе сложилось впечатление что исключением такой подход не является…
П.С. Поймите меня правильно я не пытаюсь уговорить вас что так правильно делать. Я просто на такое достаточно часто натыкался и у меня вполне себе сложилось впечатление что исключением такой подход не является…
Я тоже не пытаюсь вас убедить, что происходящее (не)правильно. Я пытаюсь только сказать, что это (особенно ваш последний абзац, кастомизация фреймворков вместо использования стандартных контролов, может быть с кастомизацией) далеко не всегда экономит время и деньги компании, а значит обусловлено другими причинами.
А это можно сказать «кумулятивный эффект». То есть поначалу начальству кажется хорошей идеей взять какой-нибудь подобный фреймворк, но зато сэкономить на квалификации программистов и их зарплате. И это вполне себя может работать достаточно долгое время.

И если дело вдруг доходит до «кастомизировать» то уже часто имеется более-менее работающий и приносящий деньги проект. И в такой ситуации начинать с нуля уже тоже никто не хочет.
Возможно. Но во-первых, в статье полно примеров, когда с самого начала вместо фреймворка можно было использовать тупой html, что требует и меньших трудозатрат, и меньшей квалификации.

А во-вторых, согласитесь, что «начальство, которое не думает вперёд и в итоге всё с большим трудом разгребает проблемы» — это совсем не то же самое, что «начальство, которое (успешно) минимизирует расходы».
Ну грубо говоря даже если сначала и берётся «простой html», то в какой-то момент нужно выбирать «дальше простой хтмл и дорогие программисты» или «переходим на фреймворки остаёмся с дешёвыми программистами».

И как раз таки если не особо хорошо разбираешься именно в ИТ, то вполне себе может показаться что второй вариант выгоднее. И часто он действительно выгоднее поскольку до «кастомизации» дело так и не доходит.
нужно выбирать «дальше простой хтмл и дорогие программисты» или «переходим на фреймворки остаёмся с дешёвыми программистами».
Может быть такая дилемма и бывает, но автор пишет явно не о ней, а о выборе «простой html» (причём «простой» именно в смысле простой код, а не низкоуровневый язык, а значит требующий мало времени и дешёвых программистов) или «велосипед на javascript» (требующий много времени непонятно каких программистов). И в ситуациях, описанных автором, даже вариант «фреймворки» явно не выглядит проще в терминах трудозатрат, чем вариант «html».
Проблема в том, что для этого нужно уметь отказываться от второстепенных фич типа тех же «синих ников» (я такие вещи называю «украшательствами»). Но почему-то на это никто не идет.
А во-вторых, согласитесь, что «начальство, которое не думает вперёд и в итоге всё с большим трудом разгребает проблемы» — это совсем не то же самое, что «начальство, которое (успешно) минимизирует расходы».
Нет, это тоже самое. Начасльство, знаете ли, владеет акциями. И им важен их рост в следующем квартале, а не что с ними будет через 10 лет.

Если компания маленькая — так тем более, про 10 лет никто не будет думать, так как компания может закрыться через год.

Так что «начальство, которое (успешно) минимизирует расходы» — может существовать только в некоммерческих проектах. Wikipedia какая-нибудь. Archive.org. Подобные штуки.
Начасльство, знаете ли, владеет акциями. И им важен их рост в следующем квартале, а не что с ними будет через 10 лет.
Не вижу связи. Как из факта владения акциями следует неважность долгосрочной перспективы?
так как компания может закрыться через год.
Закрыться она, конечно, может, но если строить планы в предположении, что через год компания точно разорится, то такие планы глупо даже начинать реализовывать.
Так что «начальство, которое (успешно) минимизирует расходы» — может существовать только в некоммерческих проектах.
В такой категоричности мне кажется, что это уж слишком, чтобы быть правдой. Если бы компании вообще не минимизировали расходы, они бы все разорялись, чего мы не наблюдаем. Но с другой стороны, я тоже говорю именно о том, что в конкретных случаях, показанных в статье, при разработке конкретных интерфейсов, описанных в статье, компании добиваются чего угодно, только не минимизации расходов.
Как из факта владения акциями следует неважность долгосрочной перспективы?
Попробую объяснить как этот механизм работает.

«За хорошую работу» мееджмент получает, обычно, не акции, а так называемые «опционы»: возможность купить, через год, акции по сегодняшней цене. Ну а продать их можно по той цене, которая будет через год.

Понятно что если ваша компания «нормально себя чувствует» и акции «стоят на месте» — то вы лох. Вам гораздо выгоднее сделать так, чтобы акции за год выросли и вы бы на них заработали. А если, в результате вашей деятельности, через 10 лет компания обанкротится — это уже не ваши проблемы.

Или даже хуже — если цена акций через год рухнет, но вы как-то сможете «спасти» вашу компанию — то через два года вы будете «в шоколаде».

Закрыться она, конечно, может, но если строить планы в предположении, что через год компания точно разорится, то такие планы глупо даже начинать реализовывать.
Видно, что вы никогда даже не пытались управлять своим бизнесом. Понимаете в чём проблема: если вы — малый бизнес, то «запас прочности» у вас — от силы год. Если вы «влетели в убытки» и за год не придумали где получить прибыль… то через два — вы закроетесь. Потому у вас нет возможности выбирать планы, которые будут выгодны на интервале в 5, 10, 20 лет… если они не могут вернуть вашу компанию к прибыльности на следующий год — вам это всё не нужно.

Если бы компании вообще не минимизировали расходы, они бы все разорялись, чего мы не наблюдаем.
Как это не наблюдаем? Вы в какой-то другой вселенной живёте. Компании разоряются постоянно. Просто круным на это требуется лет 10-20, но мелким — гораздо меньше.

Просто попробуйте найти фотку гипермаркета рядом с вашим домом и сравнить список арендаторов в 2015м и 2020м… думаю вы будете удивлены.
«За хорошую работу» мееджмент получает, обычно, не акции, а так называемые «опционы»: возможность купить, через год, акции по сегодняшней цене. Ну а продать их можно по той цене, которая будет через год.

Опционы часто бывают привязаны к определённым условиям. Особенно у менеджмента и начальства. Поэтому описанная вами «схема» работает далеко не всегда.
Опционы часто бывают привязаны к определённым условиям.
Как у Элопа, у которого был пункт, что если компания будет продана, то он получит сразу все деньги по своим опционам?

Так это ещё хуже: после этого у руководство появляется очень серьёзный повод сделать так, чтобы эти деньги заработать, даже если сама компания, после этого, перестанет существовать…
Ну во первых если у всех сотрудников есть опционы, то для кого конкретно это «хуже»? Особенно если учитывать что куча стартапов и создаётся именно для того чтобы их кому-то подороже продать в будущем.

А во вторых я как раз наоборот о ситуациях когда опционы либо растянуты по времени(то есть скажем в первый год получаешь 10%, во второй ещё 10% и так далее), либо нужно сначала отработать какой-то минимальный срок, либо привязаны к каким-то финансовым показателям которых фирма должна достичь.
Ну во первых если у всех сотрудников есть опционы, то для кого конкретно это «хуже»?
Для потребителя? Который, собственно, всё это, так или иначе, оплачивает…

Особенно если учитывать что куча стартапов и создаётся именно для того чтобы их кому-то подороже продать в будущем.
Ну да — и вы не видите тут проблем?

А во вторых я как раз наоборот о ситуациях когда опционы либо растянуты по времени(то есть скажем в первый год получаешь 10%, во второй ещё 10% и так далее)
Ни разу такого не видел. Максимум — 4-5 лет. Что вот ни разу не способствует тому, чтобы что-то планировать на 10-летний срок.

либо привязаны к каким-то финансовым показателям которых фирма должна достичь.
Как мы помним Nokia оных показателей успешно достигла, да. Да и Microsoft — тоже.
Для потребителя? Который, собственно, всё это, так или иначе, оплачивает…

Ну если бы у стартапов не было возможности «продаться за большие деньги», то кучи стартапов бы просто и не было и пользователям вообще бы нечем было пользоваться.

Ну да — и вы не видите тут проблем?

Нет. Пусть лучше создаются с такой целью чем не создаются вообще.

Ни разу такого не видел. Максимум — 4-5 лет. Что вот ни разу не способствует тому, чтобы что-то планировать на 10-летний срок.

А вы прямо эксперт по опционам и прямо вот много их видели? :)

Как мы помним Nokia оных показателей успешно достигла, да. Да и Microsoft — тоже.

Ну да, Nokia проблемы получила только из-за опционов. А уж какие у Майкрософта сейчас огромные проблемы…
Ну если бы у стартапов не было возможности «продаться за большие деньги», то кучи стартапов бы просто и не было и пользователям вообще бы нечем было пользоваться.
Очень сомнительное утверждение. Почти всё, чем сейчас люди пользуются либо существовало 20-30-40 лет назад (и было не сильно хуже), либо не могло существовать, так как мощности железа не хватало.

Ну было бы вместо 100 стратапов, пытающихся продвигать видеозвонки 1 или 2. Стало бы пользователям от этого хуже? Я так не думаю.

Нет. Пусть лучше создаются с такой целью чем не создаются вообще.
Зачем? Кому от этого хорошо?

А вы прямо эксперт по опционам и прямо вот много их видели? :)
Не эксперт, но некое понятие имею. Благо условия для топ-менеджеров часто публикуются в отчётах.

Ну да, Nokia проблемы получила только из-за опционов. А уж какие у Майкрософта сейчас огромные проблемы…
Ну если не считать того, что Microsoft вместо «первого без равных» (заработанную под руководством человека, работавшего явно не за опционы) откатился на позицию «даже не совсем и первый» под рукодством человека, работавшего как раз «на биржевые показатели»… то да… всё прекрасно.
Очень сомнительное утверждение. Почти всё, чем сейчас люди пользуются либо существовало 20-30-40 лет назад (и было не сильно хуже), либо не могло существовать, так как мощности железа не хватало.

А это то здесь причём? Я о том что если бы отдельные создатели стартапов не имели бы перспективы продать свои стартапы кому-то за большие деньги, то они бы просто не стали их делать или бы не нашли под это дело инвесторов.
И кстати «железо» оно тоже не из воздуха взялось. Его тоже кто-то придумывал. В том числе и всякие «инженерные стартапы». И как минимум в тех же США подобная практика существует уже лет двести точно.

То есть уже в 19-м веке какие-то «изобретатели» что-то там придумывали и потом продавали своё дело целиком кому-то другому кто его раскручивал.

Ну было бы вместо 100 стратапов, пытающихся продвигать видеозвонки 1 или 2. Стало бы пользователям от этого хуже? Я так не думаю.

Как насчёт того что эти «один или два» появились бы на пару десятков лет позже? То есть естественно всё бы это когда-нибудь бы и появилось, но например с опозданием на 10-20 лет.

Зачем? Кому от этого хорошо?

Мне например.
«За хорошую работу» мееджмент получает, обычно, не акции, а так называемые «опционы»: возможность купить, через год, акции по сегодняшней цене.
Как бы то ни было, а кроме менеджмента есть ещё и «настоящие» владельцы, которые владеют акциями по многу лет и не спешат их продавать, вроде Цукерберга в фейсбуке. И я не верю, что он не может влиять на то, как этот самый фейсбук выглядит и работает внутри, иначе какой же он владелец? И в то, что ему плевать на перспективу разорения через 10 лет, тоже не верю.
Если вы «влетели в убытки» и за год не придумали где получить прибыль… то через два — вы закроетесь.
Может это и так, но перспективы «разориться и потерять все деньги через год» и «разориться и потерять все деньги через 2 года» малому бизнесмену обе неприятны. Может, через год разориться чуть хуже, но решение «не разориться через год, зато почти точно разориться через 2» такому малому бизнесмену тоже вряд ли понравится. Особенно, когда, как в случаях, описанных в статье, есть альтернатива: писать тупой сайт с минимумом скриптов там, где можно обойтись без них, и не тратить дикие деньги ни на разработку в первый год, ни на поддержку во второй. Кстати, и в реальности среди именно сайтов маленьких компаний есть немало написанных с минимумом скриптов и украшательств.
Как это не наблюдаем?
Я имел в виду, что мы не наблюдаем разорения всех компаний, другими словами, есть до сих пор не разорившиеся. И некоторые из них уже существуют и 10, и 20 лет.
И я не верю, что он не может влиять на то, как этот самый фейсбук выглядит и работает внутри, иначе какой же он владелец?
А я верю. Посмотрите на то, что случилось с Microsoft, когда Билл Гейтс ушёл из руководства и остался «настоящим владельцем». сделали жуть ради чьих-то амбиций на десктопе, но слили кучу рынков (включая рынок смартфонов).

И в то, что ему плевать на перспективу разорения через 10 лет, тоже не верю.
Пока «основатели» у руля (то есть не формально владеют акциями, а реально руководят компанией) это работает. После — нет. Можно смотрть куда угодно: Apple, Google, HP, Microsoft и многие другие. Пока владельцы-основатели у руля — это инновации, взгряд на 20 лет вперёд и всё такое прочее. Как они уходят и «эффективные манагеры» побеждают… ну что чего такого прорывного сделал Apple с тех пор, как Стив Джобс перестал им руководить? Или Google?

Я имел в виду, что мы не наблюдаем разорения всех компаний, другими словами, есть до сих пор не разорившиеся. И некоторые из них уже существуют и 10, и 20 лет.
Знаете — вы тут рассуждаете как блондинка, которая считала, что через месяц радиоактивный йод должен весь исчезнуть. Период полураспада же 8 суток, так что за первые 8 суток распадётся одна половина, за вторые 8 суток — вторая…
Посмотрите на то, что случилось с Microsoft, когда Билл Гейтс ушёл из руководства и остался «настоящим владельцем».
Во-первых, я написал «может влиять», а не «влияет». В некоторых компаниях влияние хорошо заметно, например, Цукерберг время от времени делает какие-то заявления про то, что происходит с facebook. Во-вторых, если известно, что компания делает что-то плохое, что «владелец не обращает внимания на происходящее» — это не единственное возможное объяснение. Другое возможное объяснение — «владелец стал плохим».
Период полураспада же 8 суток, так что за первые 8 суток распадётся одна половина, за вторые 8 суток — вторая…
Эта аналогия выглядит спорно. Я сильно сомневаюсь, что статистика разорения компаний такая же, как у ядерного деления, т. е. такая, которая была бы, если бы разорение полностью зависело от случайных факторов.

В любом случае, я хочу сказать, что если бы компании вообще не следили за расходами и не пытались их минимизировать в хоть каких-то частях своей деятельности, то они разорялись бы очень быстро, как показывает пример тех компаний, которые всё же разоряются.
В любом случае, я хочу сказать, что если бы компании вообще не следили за расходами и не пытались их минимизировать в хоть каких-то частях своей деятельности, то они разорялись бы очень быстро, как показывает пример тех компаний, которые всё же разоряются.
Ну возьмите хрестоматийные примеры — Enron или, более свежий пример, Theranos… ну или если чуть копнуть в историю — то Афера Бернарда Мейдоффа

Да, конечно, какой-то конроль над расходами, несомненно, нужен. Но можно десятилетиями жить за счёт того, что вешать на уши лапшу инвесторам. И тут как раз борная деятельность на Web-сайте — только в плюс: неважно, что там, на самом деле, происходит… инвесторы видят «движуху» — и отслюнявливают денежке. Классно же.
Ну возьмите хрестоматийные примеры — Enron или, более свежий пример, Theranos… ну или если чуть копнуть в историю — то Афера Бернарда Мейдоффа…
Эти примеры должны показать что? В первом не очень ясно, когда у компании дела пошли плохо и из-за чего. В остальных двух компании были, я так понимаю, просто мошеннические, и обанкротились, когда их разоблачили. Такое банкротство не очень похоже на избыточные расходы.
И тут как раз борная деятельность на Web-сайте — только в плюс: неважно, что там, на самом деле, происходит… инвесторы видят «движуху» — и отслюнявливают денежке.
Если они не понимают, какая деятельность на вебсайте полезна, а какая является тупой тратой рабочего времени программистов без полезных результатов, то, конечно, им так и придётся терять деньги, пока всё не потеряют. А если понимают, то могут и уволить тех, кто этим занимается. Поэтому я надеюсь, что тексты, подобные этой статье, помогут им отличить одно поведение программистов от другого.
Если бы компании вообще не минимизировали расходы, они бы все разорялись

Ложное утверждение. Компании могут максимизировать доходы, спуская кучу денег в трубу венчурные инвестиции, и жить гораздо лучше чем те, кто минимизирует расходы. Более того, некоторые компании вообще не интересует операционный баланс, а заботит только рост капитализации.

Угу — только вот эта технология уже была протестирована в СССР.

Если неэффективные компании и предприятия не закрывать, а тупо «заливать деньгами», то лет через 20-30 накрывается медным тазом вся система. В СССР этим начали заниматься в 50е, после смерти Сталина, к концу 80х система сгнила.

В США этим начали заниматься примерно в районе 2000го (когда «залили деньгами» кризис докомов) и, в общем, результат уже чуствуется…
Я имел в виду, что компании (обычно) всё же вынуждены следить за своими расходами и стремиться из снизить хоть в какой-то части своих действий. Компанию, которой абсолютно плевать, сколько она потратит в каждой операции, требующей расходов, я как-то слабо себе представляю.

Я, конечно, не про то, что вообще плевать, а про то, что "режем косты" необязательно значимая часть политики любой компании. Например, компания может стратегически платить разработчикам выше рынка и при этом прекрасно себя чувствовать по финансовым метрикам. Могут платить меньше — могут. Как это отразится на финансовых метриках? Неизвестно. Но пока инвесторы не жалуются, лучше стратегию не менять.

С этим я не спорю, вполне возможно делать расходы маленькими, но не минимально возможными. Но в таком случае уж точно написание всё новых и новых js-скриптов этими программистами (о чём, собственно, статья) нельзя назвать «экономией денег компании».

Оно может быть обусловлено попытками экономить время и деньги, а получается как всегда. Или оно реально сэкономило в краткосрочной перспективе, но дальше вышло боком.

Я уже ответил на это соображение в другом комментарии: habr.com/ru/post/490412/#comment_21336370 Коротко: я не спорю с тем, что текущая ситуация местами может быть следствием глупости и недальновидности руководства. Я спорю только с тем, что они реально экономят деньги таким образом.

Ваше "реально" не однозначно. За месяц сэкономили на ЗП 300%, наняв джуна, а не сеньора при одинаковом функциональном результате — это реальная экономия? А то, что эта экономия на отрезке в 5 лет привела к росту расходов в десять раз значимый факт или нет?

Я имел в виду все (предвидимые) последствия. Так что если через 5 лет потратили в 10 раз больше, то я не называю это «реальная экономия».

А если за эти 5 лет заработали в 100 раз больше, чем могли бы? :)

В таком случае компании сильно повезло, она получила хорошую работу за маленькие деньги (а программисту наоборот не повезло, он получил мало за хорошую работу). К чему этот пример? Как он относится к моему утверждению, что перегрузка страницы скриптами — это (часто) что угодно, только не экономия денег компании?

За месяц собрали соляну из реакт-компонентов и зарабатывали деньги, по на соседнем проекте суперпрофи делал всё на CSS

А потом что? (Я имею в виду, когда профи доделал своё решение.) Продолжили тратить всё большие усилия на поддержку тяп-ляп решения (с решениями, которые пишутся непонятно как, обычно так и бывает)? Или всё же перешли на продуманное решение?

Кроме того, в случаях, описанных в исходной статье, не нужно быть суперпрофи, чтобы написать простое и надёжное решение, часто даже без CSS.

"Поэтому именно что намного дешевле."
Из личного опыта:


  1. никто не сравнивал толком потому-что боятся делать дешевле чтобы потом не обвинили в проблемах из-за экономии.
  2. Во многих компаниях принято брать "лучшие продукты на рынке"
  3. Многим нужно о чём-то говорить на конференциях
  4. Руководство принимающие решение обычно не сильно разбирается на столь детальном уровне(у него просто нет времени)
  5. Чем больше денежные потоки в твоём подчинении тем выше твоя значимость.
  6. Кадровый риск это исключительно проблема непосредственного руководителя людей выше по лестнице интересует только 1 уровень снизу.

Хабру в последние недели — особенно. С мобильника читать — боль. И не говорите про приложение, функционал до браузера не дотягивает

Хабр даже прокрутить страницу к нужному комменту не может, когда этих комментов за 500 переваливает, а вы говорите.
Это даже не говоря о том, что сколько бы комментов не было — грузятся они прям все сразу, 500 ли, 1000 ли, живите с этим.

Ну еще пару месяцев назад я не боялся открывать обсуждения на 200+ комментариев. А теперь у меня и 100+ не грузятся никак. Еще и плашка постоянно вылезает про «обновите страницу».
Лента стала фризиться при выходе из браузера, показывает ленту 2-3х дневной давности. Что-то с последними обновлениями прямо ощутимо ухудшилось

Да ладно комменты. Иногда даже некоторые большие статьи прочитать невозможно. Статья просто постоянно рефрешиться и скролл сбрасывается в самое начало.

грузятся они прям все сразу, 500 ли, 1000 ли, живите с этим.

Ну, допустим, что среднестатистический комментарий занимает 500 байт.
Страница на 1000 комментариев — это 500 Кб. Или пусть будет 1 Мб (с учётом сопутствующих расходов).
1 Мб — это, в общем-то, не много.
Тормозит-то рендер (поскольку каждый коммент — это основательный кусок html, да еще и собранный в древовидную структуру зачем-то), а не сама загрузка. На медленном интернете наоборот не видно будет, а на быстром — страница грузится, потом очень ощутимо тупит, потом еще грузится (что там у них еще подгружается после DOMReady).
что сколько бы комментов не было — грузятся они прям все сразу, 500 ли, 1000 ли, живите с этим.

И это прекрасно. Можно быстро Ctrl+F по всем комментам, можно загрузить и спуститься в метро(не мск) читать.
Не сразу, а когда их таки уже отрисует браузер. Что на мобилке может быть еще более не сразу. Ну и «загрузить» и «показать» не обязательно должны идти в паре.

Впрочем, если не ошибаюсь, мобильная версия хабра таки не грузит комментарии в дерево, а показывает простым плоским списком. Что быстрее.
Тут имеется в виду пагинатор против загрузки всего сразу. Имхо, для дерева комментов лучше когда оно сразу подгружается, это какие-то десятки килобайт, что мелочь по современным меркам.
Ну а медленый рендер это видимо поблемы каких-то уж совсем старых телефонов.
каких-то уж совсем старых телефонов.

Нинаю, у меня ZTE blade 2019г с 1ГБ RAM и 32ГБ ROM, вполне так себе средний сегмент. Хабр, как было подмечено ниже, вешает FF напрочь, даже в случае закрытия вкладки (надо ждать секунд 10 пока JS упадет)

1ГБ RAM

Это было норм в 2014, сейчас разумный минимум 3Гб имхо.
FF

К сожалению у них какие-то проблемы с лагами. У меня проскакивают лаги на snap855/8Gb RAM. Приходится использовать ungoogled Chrome форк в виде Bromite.
Ну на хабре может, а на других сайтах Ctrl+F не ищет по загруженному, но скрытому с помощью CSS контенту.

Не работает до полной отрисовки

Это даже не говоря о том, что сколько бы комментов не было — грузятся они прям все сразу, 500 ли, 1000 ли, живите с этим.
И слава богу. Нет ничего хуже идиотских «оптимизато-загрузчиков». Да, они позволяют показать вау-эффект на выставке, где страница грузится вместо пары секунды полсекунды — но в реальном мире страницу я читаю не полсекунды, а несколько минут.

На слабых (или запусоренных) системах (типа как у автора статьи) страница может грузиться секунд 20 — но альтернатива ещё хуже: либо ты ждёшь 20 секунд и получаешь нормальную, отзывчивую страницу, либо 2-3 секунды — и получаешь слупока, где потом любое действие типа нажатия на клвишу PgDn отрабатывается по 3-5 секунд.
Нет ничего хуже идиотских «оптимизато-загрузчиков».

Нет, есть вещи гораздо хуже. Например, возможность грузить сколько угодно всего без малейшей попытки смасштабировать, из-за чего начиная с какого-то момента это всё просто перестаёт работать на практике. И это я даже не про хабр, а про одну b2b систему, в которой «типовой» случай грузил табличку килобайт на 200 итогового html, а вот нетиповой мог и на 20Мб жахнуть, и это всё радостно вешало браузер (простой голый html едва ли висел бы — но разумеется, он был далеко не простой, а очень даже отягощённый кодом, который в огромном DOM тормозил).

Вот и с хабром точно так же — мне в общем-то плевать, сколько времени там комменты отрисовываются, потому что я этого даже и с тормозами не увижу, даже когда их очень много. Но вот кнопочка перехода к непрочитанному комменту — начинает переходить куда угодно, только не к непрочитанному комменту, если вдруг портянка на 500+ комментов еще не прошла все стадии готовности, которые она должна была пройти.
Но вот кнопочка перехода к непрочитанному комменту — начинает переходить куда угодно, только не к непрочитанному комменту, если вдруг портянка на 500+ комментов еще не прошла все стадии готовности, которые она должна была пройти.
А разве эту проблему не решили? У меня врое эта кнопочка просто не появляется пока все эти 500+ комментариев не обработаются.
А разве эту проблему не решили? У меня врое эта кнопочка просто не появляется пока все эти 500+ комментариев не обработаются.

Видимо нет. Я даже не готов утверждать, что дело тут именно в производительности, мало ли что там еще может ломаться. Сам факт — когда комментариев много, первый непрочитанный я никогда не вижу, у меня просто скроллит не к нему, а куда попало. Когда совсем-совсем много (впрочем, портянки в 1000+ комментов на хабре редкость) — то и второй не вижу. С какого-то момента — работает нормально. Или если делать очень-очень ощутимую паузу после открытия страницы, тогда тоже нормально.

Еще интересная штука. Без интернета на телефонах не работают все спойлеры. Не знаю как это может быть связано, но факт в том, что для открытия спойлера в статье на странице без интернета необходимо включить интернет и обновить страницу.

Чем меня бесит в этом плане Хабр — новые комментарии получают статус прочитанных в момент запроса страницы, а не в момент окончания их загрузки. Не загрузилась страница до конца, обновил — всё, новых комментариев нет, страдай.

UFO just landed and posted this here
Ну вы же понимаете, что нет там никакого «статуса прочитанных». Там есть время последней загрузки страницы. И его проще всего обновить когда начал загружать страницу, а не когда закончил.

Можно было бы и по окончании загрузки конечно… но важнее же рюшечек добавить… и вообще — почему бэкэндер должен думать о проблемах фронта?

Всё тот же «костюм», как бы…

Его проще всего обновить по отдельному запросу по завершении загрузки страницы.

«Разумнее» — может быть. «Проще» — нет. Что может быть проще, чем обновить статус в той же процедуре, которая его запрашивает? Не нужно отслеживать что там происходит, если страницу грузят с двух разных устройство, всё в одной транзкции и вообще кода меньше и он проще.

А что пользователь страдает — так то такое. У нас «на бэке» всё хорошо, а что там «у них на фронте» — это не наши проблемы.

Пользователь же всё равно страдать будет — только теперь уже в тех случаях, когда страница никак не может загрузиться до конца (ну, допустим, попали на какой-то рекламный сайт, который отдаёт картинку, но потом не закрывает соединение и, в результате, страница считается «не до конца загруженной» часами).
Не знаю, чего они там в новых комментариях накодили, но у меня Firefox иногда полностью зависает. Данный эффект был замечен только на Хабре
Грустно, но и будущий путь известен. Повторит игровую индустрию, где сначала более-менее все шло у всех, а потом нужно лучше железо. И даже причины понятны, в мире где люди готовы раз пару лет обновлять телефоны, а пк остаются для геймеров, да и вообще производится очень большое количество чипов за единицу времени, сложно заботить о ресурсах.
Полностью солидарен с автором статьи.
У меня ещё жива машина с Pentium 4, на которой можно было играть в Crysis.
А вот открыть сейчас в браузере сервис почты или погоды для него — ох как тяжко.
Ресурс явно расходуется куда-то не туда. Вернее на огромное количество упомянутых «квадратных колёс».
Жаль только, что бизнесу на это наплевать.
Жаль только, что бизнесу на это наплевать.

Бизнесу на это наплевать по очень понятным причинам: потому что вы и так хаваете.

Вон, даже на хабре ситуация ухудшается. И что, вы перестали на хабр заходить? Ну-ну.
потому что вы и так хаваете

Если нет хлеба, приходится есть жмых и лебеду.
Именно так. Особенно когда вы ни за жмых ничего не платите, ни за хлеб не собираетесь ничего платить, даже если вам вдруг его кто-то предложит.
Если предложат хлеб — я его готов купить за разумную плату.
Даладно? То есть, если вам кто-нибудь выкатит, скажем, твиттер на голом html и оптимизированных скриптах (где без них точно никак) — вы реально пойдете платить за него ежемесячную подписку?

И как вы думаете, по вашей оценке, сколько в % от общей аудитории твиттера будет таких как вы?
Что любопытно, аналоги Twitterа, причем бесплатные и с легким и быстрым интерфейсом, уже есть. Например, Mastodon. Но тут уже сказываются социальные факторы: мало кто захочет переходить туда, где почти никого нет, пусть даже там и лучше с технической точки зрения.
Про это я уже писал: превращение продукта в дерьмо — как это ни удивительно выигрышная стратегия. Не на догосрочном интервале, конечно, на промежутке в 10-30 лет (именно поэтому у нас на телефонах ядро Linux, а не Windows NT), но коммерческие компании просто не выживают так долго, чтобы что-то другое смогло выиграть…
Чтение корпоративных блогов на Хабре и есть оплата, которую предлагает большинство посетителей Хабра.
Спускаем по воронке ниже — зарегистрированные пользователи пишут комментарии. Когда полезные, когда бесполезные, когда холиварные (которые, несмотря на свою бесполезность, увеличивают обсуждение статьи и повторные заходы на сайт).
Еще ниже в воронке люди, которые статьи пишут.
UFO just landed and posted this here
UFO just landed and posted this here
забавно. от ОЙJQuery к ванильному JS, от JS к HTML/CSS… которые тоже, если подумать не везде нужны
Хороший набор хитрых хаков, но не самый лучший выбор для чего-то чем будут пользоваться люди

Каждый пример имеет какое-то ограничение: не работает на старых браузерах, отсутствие интерактивности, хардкод размеров элементов, хардкод id самих элементов в css, ограничения с навигацией и с доступностью, сильно урезанный функционал.

Вот и получается что необходимо выбрать 2 пункта из 3 возможных:
— отсутствие JavaScript
— поддержка
— функционал

А что если этот гигантский архитектурный провал сделан намеренно? Почему бы не подавлять новации в своей сфере, ведь они могут привести к переделу рынка.

Больно всё это наблюдать. Когда-то я мог потратить пол дня, чтобы найти решение для «дизайнерских изысков» на чистом html/css, вместо того чтобы за пару минут, условно говоря, через js получить размеры вьюпорта. Да, не слишком продуктивно, но «железобетонно». И главное, мой внутренний перфекционизм не страдал. Любая задача по вёрстке сложного лэйаута, действительно превращалась в Задачу. Приходилось некоторое время просто обдумывать варианты реализации.
Сейчас же к таким «вызовам» прибегаю всё реже и реже.
Во-первых, по причинам озвученным автором — «а чего сидеть-пыхтеть с css, если сейчас все и так обмазались скриптами по самое немогу».
Ну а во-вторых, это крайне редко кому надо. Твои «мозговые штурмы» все равно никто не оценит. Код мало кто смотрит — «лишь бы выглядело прилично».
Так что сам постепенно скатываюсь в подобную «халтуру»…

А CSS-in-JS ещё больше провоцирует…

А если зайти с другой стороны? Почему анимация твиттерных кнопок и простенький «красивый» редактор текста отжирают десятки и сотни мегабайт? Почему они останавливают страницу на несколько (а порой десятки) секунд?

Может быть, дело не в самом JS, а в неумении им пользоваться, в спешке, в бездумном использовании тяжёлых библиотек («готовая библиотека ускорит разработку»).
Дело в сочетании: «пипл хавает», «деньги есть» и «надо что-то делать, а то премию не дадут».

Всё это опирается на Закон Меткалфа.

Все эти ухудшения и прочий ужас, как ни странно банально выгодны. Потому что за счёт закона Меткалфа люди, которые у вас уже есть — никуда не убегут. Альтернатива в 2-3 менее популярная будет в 10 раз менее привлекательной. А все эти синенькие стикеры и прочее позволяют вам привлекать людей, которые, в противном случае оказались бы не у вас.

Всё это, внезапно, ломается когда вы достигаете планетарного масштаба: новых людей больше привлекать неоткуда, так что ценность вашго сайта перестаёт расти — а альтернативные решения всё равно лекче и удобнее.

И тогда Facebook приходит на смену MySpace, а Google Docs вытесняют MS Office.

Но цикл занимает десятилетия. И за это время вы увидите десятки умерших конкурентов, пытавшихся сделать что-то «маленькое и простое». Так что всё равно выгодно.

Сейчас google и Facebook решают эту проблему (передела) скупкой всего того что хоть на 1% в потенциале будет угрожать, и что-то я не вижу у них желания (реального выливающегося в какие-то действия) по конкуренции друг с другом..

А зачем им конкурировать друг с другом? Конкурент появится на новом поле, как Google повился в Web, который, в своё время, «упустила» Microsoft. После XP были планы сделать «великую OS всех времён и народов» с WinFS и разными другими чудесами, потому Microsoft на развитие Web-технологий «забил»… они должны были умереть… Google и Facebook этим воспользовались…

Что, и, главное, когда, «упустят» Google и Microsoft — мы не знаем…
UFO just landed and posted this here
Гораздо интереснее сделать веб-сервер, который будет рендерить тсраницу и отдавать поток в браузер. Т.е. такая Stadia на своих серверах :)
По идеологии это получается даже не ранний web, когда HTML полностью генерился на стороне сервера, а что-то типа telnet-доступа, который был ещё раньше :)
Тонкий клиент для браузера. Ух, до чего докатились :)
pici.picidae.net
Существует если не с прошлого века, то уж с самого начала нынешнего.
1. Оно не работает.
2. Даже если и работает, то явно хуже браузера
Сейчас да, а когда появилось было вполне на уровне тогдашних браузеров.
Я про сам принцип «тонкого клиента для браузера»
Единственный выход, как и всегда, стараться находиться максимально далеко от устройств которыми пользуются обычные юзеры. Если все сейчас сидят на пеньках то надо i5-i7, если на i5 то i7-i9. Вот и весь рецепт.
Предложение в духе «лучше быть здоровым и богатым, чем бедным и горбатым». Вроде и все правильно, но совершенно бесполезно. Не говоря уж о том, что идти покупать новый компьютер вместо того, чтобы писать feedbacks в духе «ваш сайт отстой, потому что тормозит на моем компьютере» — это поощрять и дальнейшее сохранение подобной ситуации.
Гораздо лучше было бы наоборот, сделать нормой, что разработчики (а в идеале и не только сами разработчики, но и те, кто принимает решение делать ненужные украшательства типа тех же «синих ников») должны тестировать свои продукты на компьютерах десятилетей давности и неустойчивом 3G-соединении. Вот тогда бы все быстро оптимизировали как надо или просто поотключали все лишнее. Жаль только, что непонятно, как такое сделать…
Инструмент должен быть хорошим, это не роскошь. Хотя я бы согласился чтобы некоторые разработчики работала на слабых машинах, но многие и так на ноутах работают.
Фидбек ничего не исправит потому что остальным 95% и так норм. Вилять можно только самому стараясь оптимизировать где получается и не косячить.

Я люблю пользоваться встроенными виновыми программами по типу Photos. Так вот, мою библиотеку из 50к фоток и видео приложение индексировало несколько часов на 9900k. Даже после индексации на hdd фотографии показывались с задержкой в несколько секунд, особенно если быстро скроллить. И только после переноса всей библиотеки на ssd этим стало можно пользоваться. При этом загрузка процессора спокойно скачет до 100%.
Вот такое делать не надо, ложить болт на оптимизацию.
Вот такое делать не надо, ложить болт на оптимизацию.
Почему же не надо? Большинство ведь довольно (у них столько фоток нету), а меньшинство будет пользоваться просто в силу отсуствия альтернативы.
Ну это сугубо с точки зрения моментальной прибыли. Но в перспективе это плохо.
Когда есть выбор, всегда выбирайте существующие HTML-механизмы.

HTML механизмы отлично подходят для (полу)статических страниц. Делать на них приложения, сравнимые по UX с нативными, огромная боль. История написана в 2016, и возможно твиттер тогда был ужасным веб приложением, но с тех пор они стали использовать еще больше JS технологий и стало лучше — теперь это PWA c кешированием кода в воркерах, пуш нотификациями, отложенной загрузкой, обновлениями в реальном времени. И все работает на слабых смартфонах с плохим интернетом.
Так, что дело не в том, что разработчики усложняют веб, а в том, что требования к сайтам выросли и нужно делать из говна и палок HTML+CSS+JS что-то сравнимое с нативными приложениями. И призывать нужно к ускорению JS, а не к его устранению.
UFO just landed and posted this here
Такие нынче тренды. Тяжелые all-in-one фрейморки очень понизили входной уровень, а 99% бизнесов важны в первую очередь стоимость и скорость, при чем скорость на первом месте. Большинство не готовы платить за найм более дорогих узких специалистов, тех же джабаскрипт инженеров для фронта, если производительность/качество решения не на первом месте у продукта, а таких мизер.
Это не только JavaScript касается, проблема намного глобальнее. Например, в одной компании где я работал, было одно приложение, вся функциональность которого сводилась к одной задаче — периодически вызывать заранее заданный HTTP endpoint и если вызов завершается с ошибкой — звонить тревогу. В приложении было больше 100 классов, неимоверное количество паттернов и использовалось более 20 внешних библиотек.
Просто есть такой сорт людей, которые думают, что чем сложнее решение задачи — тем лучше.
Просто есть такой сорт людей, которые думают, что чем сложнее решение задачи — тем лучше.
Но они ведь правы. Для их кошелька — это действительно лучше!
Решать задачу просто — ведь не интересно )
UFO just landed and posted this here
Зачем вы принижаете PHP? За последние 5 лет он ускорился на сотни процентов, принял много новых стандартов написания кода и много новых фишек.
UFO just landed and posted this here

React — велосипед от реального Фейсбука, Angular — от реального Гугла :)

Нельзя просто взять и решить все задачи с помощью нативных инструментов.
Пример с кастомизацией скролбара. Если в вебкит еще есть возможность сносной кастомизации, то в FF такую возможность добавили совсем недавно, про ie и edge не знаю. В macos скролбар вообще не отображается у контейнера.
Есть множество велосипедов которые решают эту проблему полностью эмулируя прокрутку через js. Вот тут я предпочел быть путь автора, оставив нативное поведение и события скрола, просто рисуя бары через js. В таком случае без js пользователь будет видеть то же что в macos — контейнер без скролбаров, но скролящийся.


Что касается select. Его кастомизация тоже сильно ограничена. Нельзя например использовать html разметку в тегах option. Эмодзи в ff в списке выбора не отображаются. Css свойства применяемые к options могут работать, а могут и не работать, в зависимости от браузера (ios safari).
Есть вариант сделать свой select с сохранением всего нативного функционала используя веб компоненты. Но опять же, без использования js не обойтись.


Вообще как и автор я противник больших бандлов и кривых велосипедов. Но видно что автор смотрит только с точки зрения пользователя и ударяется в крайности.

UFO just landed and posted this here
Вы вот так вот взяли и за всех сразу решили что «не нужно»? Вам может и не нужно, а у кого-то может быть целевая аудитория фетишисты кастомизированных селектов и скроллбаров :)
Ну если так пойти — и дизайн тогда уж не нужен. А следовательно и css.
UFO just landed and posted this here
Жаль, что не могу поставить вам плюс. Согласен целиком и полностью. Кастомизировать что-то нужно только тогда, когда это критично важно для основных функций сайта/приложения. В остальное время следует обходиться стандартными элементами.
Кастомизировать скроллбар можно. Но…
Во-первых, на это нужны конкретные причины, а не «просто так», «шоб было», «у других оно в крапинку».
Во-вторых, это нужно делать не убивая нафик полностью нативный скролл.

А селект-то нафига кастомизировать? Просто не могу представить где это действительно необходимо.
Ну и если вдруг окажется что надо — думаю можно сделать и через CSS без скриптов.
Продублирую свой комментарий: проблема обычно в том, что решения кастомизировать select/scrollbar или еще что-то принимают люди, которые не понимают, насколько это утяжелит код и какие проблемы это может создать.

Все перечисленные категории людей составят дай боже чтоб один процент от аудитории среднего сайта и дай боже чтобы приносили прибыли на зарплату одного программиста. А уж про то, чтобы переписать законченное комплексное приложение наподобие твиттера и фейсбука для повышения скорости работы при помощи каких-то хаков, нужен далекооо не один программист… Вы сами за это все заплатите?

После этого комментария в карму прилетело 2 минуса. Это какая-то вселенская обида на очевидный факт или что?

Итак, давайте конструктивно.
yandex.ru за 45 секунд — это сильно. Ради этого стоит зарегаться на хабре и ответить.
Я ни разу такого не встречал, поэтому сразу вопрос. 45 секунд window.load или domcontentload? Не приплюсовали время асинхронной загрузки?
Если нет, то стоит задуматься о провайдере. Нет серьезно. На канале не может быть 100 честных мегабит. Или как говорится 100 мегабит 100 мегабитам рознь. Я лично вообще не смотрю на эту цифру. К черту — я даже на пинг не смотрю. Я просто открываю страницу, и если прелоадер на вкладке крутится неприлично долго без видимых причин — у меня начинается ломка и рези. В таких случаях я даже не пытаюсь звонить в поддержку. Далее следует просто смена провайдера.
Я наблюдал недавно один случай. Клиент просто горел от того что у него все медленно работает. Я лично подключился к нему через TeamViewer и убедился в том, что железо у него нормальное, среднее. Но скорость соединения — раза в 3 все медленнее на глаз. 1 секунда превращается в 3. 10 секунд превращается в 30. Это действительно раздражает.
Но вы ведь знаете — чудес не бывает. Мне остаётся гадать как вы умудрились прожить столько, сталкиваясь с подобной проблемой, и не сойти с ума.

Справедливости ради, автор (видимо ради громкого заголовка) как бы пишет о JS.
Но, в реальности, огромная часть всего этого проблемы сетей и браузеров.


Будь в браузерах Java ничего бы не изменилось.
Остается необходимость подгружать скрипты, на каждом прыжке tracert с вас все еще пытаются собрать всю информацию, удостовериться, что на вас висит правильный рекламный маркер и на всякий случай дать вам уникальную возможность зарезолвиться в CDN вне своего региона… просто так.


Гугл отличный пример абсолютного бессилия перед безумием контент-сервисов.
Pagespeed порой абсолютно непонятным образом загружает свои собственные шрифты с google.fonts целую вечность, рекомендуя на хранение их локально. (а в реальности, перенос их с CDN, где они давно закешированы почти у всех на собственный сервис — безумие).

Вам никогда не приходилось использовать сервисы одной страны в другой стране через 3g с неидеальной связью? Или сайты только для городов и тех кому повезло?

UFO just landed and posted this here
Потому что в эпоху медленного интернета, сайты, злоупотреблявшие рекламой (в виде картиной или gif-ок, чуть позже — swf), загружались хоть и медленно, но всё равно работали.
А сейчас — автообрыв соединения через 30 секунд, мегабайты JS кода, синхронные вызовы счетчиков/соцкнопочек, и так далее.
Раньше просто было. Настраиваешь: картинки — загружать не загружать, SWF загружать по клику, у анимаций — только первый кадр, и так далее.
Но даже пока ты ждешь картинку радиосхемы (в отдельном окне, как правило, потому что в саму страницу вставляли превью), весь остальной текст уже скачался и доступен для прочтения. Осталось лишь дождаться схемы в полный размер во втором окне…
UFO just landed and posted this here
вопрос. 45 секунд window.load или domcontentload? Не приплюсовали время асинхронной загрузки?

По секундомеру.
От нажатия Enter в адресной строке до исчезновения полоски индикатора загрузки и появления всей странички, когда ней уже можно пользоваться.


Меня, как пользователя, не интересует windows.load или domcontentload.
Мне надо доехать из точки А до точки Б за минимальное время.


PS. и, кстати, с отключенным JS эта же страничка грузится 1 секунду. По секундомеру.

То что вы говорите это domcontentload, или document ready на jquery.
Я понимаю, что как пользователя вас это не интересует. Пользователям вообще на все наплевать. Но я говорю с вами не как с пользователем, а как с разработчиком, коли уж вы так подробно все расписали.
В общем мой вердикт таков. О подобных проблемах я слышу очень редко. Следовательно в относительной картине мира у всех все ок. Значит проблема носит частный характер и не стоит ее так глобализировать. Попробуйте поработать в иных условиях, уверен экспириенс будет другим

Продажи должны расти, каждый год. А телефоны, компьютеры (машины, холодильники и т.п.) так медленно стареют, если ничего не предпринимать.

Заголовок спойлера
Комментарий написан на восьмилетнем ноутбуке.
Так эта статья тоже написана в 2016 году. То есть 4 года назад. Это только перевод свежий.
js — это возможность верстальщику почувствовать себя программистом ) Зачем лишать этой возможности )
Очень правильная статья. И защитники дендрофекального подхода упорно не видят того, что весь этот js зачем-то массово используется на страницах, которым интерактивность вовсе не нужна.

Так у нас же (из заявлений Big fourв т.ч.) data-driven (или как там правильно) экономика, вот пустая страничка и делает свой вклад собирая "цифровой отпечаток"

Как перестанут за него баксовать, так и успокоимся сразу же.
Авторка злая. Пытается лишить хлеба всех ява-бомжей, пригревшихся у труб всемироной паутины. Если они перестанут иметь «работу», то пойдут грабить, ибо на стройках все места разнорабочих заняты таджиками.
Подобное WEB-кодирование — полное неуважение к пользователям.
Создающие подобные сайты «вебмастера» скорее всего не видели, или забыли, времена загрузки сайтов через обычные телефонные модемы, и 386, 486 компьютеры, с памятью 2-16MB.
К интернет имели доступ в основном инженеры и руководители компаний, очень много было сайтов с интересной и полезной информацией, т.к. люди делились своими разработками и документацией.
Сейчас же интернет превратился в засилие рекламы, — мало того что стало практически невозможно найти полезную информацию, так ещё и компьютеры «дымят» от скриптов.
Дошло уже до откровенного вебмастерского хамства — некоторые сайты попросту не открываются если у тебя «неподходящий браузер» под «сверхтехнологии».
Совсем разучились писать сайты руками, лепят их на всевозможных движках, навешивают огромное количество модулей, скриптов, рекламы, и всё это с перекрёстными ссылками…
Таким «вебмастерам» и вправду нужно работать через обычные телефонные модемы на компьютерах не мощнее первого пентиума.

Я вот собственно на те времена и ориентируюсь. Я ждал минутами загрузки/рендеринга/реакции на 18кбит, и они подождут столько же на 1 гбит. Злая шутка, если что

Всё так. Полностью поддерживаю.
И подобное творится не только в Web.
Я ненавижу неумелое использование динамического HTML. Я не против JavaScript. Мне не трудно дотянуться курсором до правого верхнего угла либо открыть это же меню комбинацией клавиш.
Мою точку зрения можно рассматривать как мнение веб-мастера с браузером, у которого на всех сайтах по-умолчанию JavaScript выключен и, работает только локальный JS сайта, и также JS, который хостится на CDN-доменах, входящих в белый список, который пополнялся семь с лишним лет, и всё также как и тогда содержит 0 доменов.

Нет, нет, я не использую NoScript. Мой джентельменский набор расширений на каждый день куда более скуден (под спойлером).

Мои расширения



Какой JS заблокирован на habr.com



Вы наверняка подумаете, вот ещё один ненавистник JS. А вот и нет. Бесит меня не JS. Бесит меня лишь кроссдоменный JS. А еще больше бесит тот JS, который ожидает загрузки тех кроссдоменных JS и препятствует отображению сайта до их загрузки, — аля lazy-loading и прочие защиты от индексирования поисковыми системами.

Вопрос пользователям расширения NoScript. А вам не паказалось что с включенными AdBlock и NoScript сайты грузятся чуть дольше, чем без них?

Кстати, в ответ на первый комментарий, по моему мнению, Хабр сделан идеально. Весь заблокированный JS не мешает отображению информации. И пусть так будет всегда.

Конкретно на Хабре у меня ещё есть следующее блокирующее правило фильтра:


habr.com##.layout__elevator

Просто мне так удобнее. А скрипты — да, не мешают.

UFO just landed and posted this here
ublock убил майл ру, а там у меня файлопомойка есть, а umatrix уложил vimeo, самое нормальное что я видел это были списки в ИЕ, рекламы почти нету, а все сайты работают
Когда я узнал году в 2015-м, что в JS нельзя просто так получить текущую дату и время в нормальном формате, я понял, что у JS незавидное будущее.
«Что может быть проще времени» (с) Клиффорд Саймак
Что-то типа var current = Date.now(«d.m.Y H:i»)
И на выходе «03.03.2020 08:53»
оорячая клавиша, которая показывает цифру или букву рядом с каждой ссылкой на странице

хоткей не подскажете?

Пользуюсь плагином Vimium в Firefox. Для него эта клавиша "F"

Не понимаю всей этой шумихи с <textarea>. Все WYSIWYG редакторы текста или кода, которые мне когда-либо попадались, начинаются с textarea. То есть, в вёрстке добавляется элемент ввода textarea и после загрузки страницы он переколбашывается js-ом в полноценный WYSIWYG. То есть, по у молчанию у всех WYSIWYG редактором есть совместимость с NoScript. Аналогично с кастомизацией select, input[type=file] и т. д.


Зачем Twitter решил использовать WYSIWYG для сообщений уже другой вопрос.
Первое, что пришло в голову — для оптимизации создания твитта и уменьшения вероятности внесения правок в него после публикации или полный запрет изменения твитта после публикации.
Поясню. Оптимизация показа твитта во всех лентах может привести к удорожанию процедуры публикации твитта и внесение правок в твитт приводит фактически к повторению процедуры публикации твитта только ещё сложнее из-за необходимости найти твитт в других лентах. Цена внесения правок в твитт может измеряться во вполне реальных долларах (лет 8 назад разрабатывал аналог стены ВК для одной соцсети и я имею некоторое представление о вопросе). Поэтому, вполне логичным шагом может быть подключение WYSIWYG с целью оптимизации пользовательского интерфейса и уменьшения собственных расходов.


Медленная загрузка страницы из-за обилия JS это конечно проблема и её надо решать. Во времена IE6 шел разговор о внедрении jQuery в браузеры. С появлением ES6, популяризацией движка Chromium и отказом от старых браузеров необходимость в jQuery резко сократилась. Но появилась новая проблема — фреймворки. Частично проблему решает SPA, и я не думаю, что белый экран у пользователей с NoScript повод отказываться от него.

UFO just landed and posted this here

Ну как сказать. Это заметное увеличение объема работ которые ещё должен кто-то оплачивать. Это уже давно не актуально для поисковиков. Для шаринга в соцсеточках достаточно отдать og: теги. Вот и получается, что это нужно для крайне малого процента пользователей с NoScript и сомнительных грабероф. Поправьте меня если я ошибаюсь.


Как уже писали выше, если вы не входите в ЦА, то почему за вас должен платить бизнес? А главное, почему из-за вас должны страдать пользователи из ЦА из-за добавления полифилоф, хуков и прочего? Да и безнес будет компенсировать увеличение расходов за счёт увеличения цен для ЦА.

UFO just landed and posted this here

Articles