Как стать автором
Обновить
2
0

Фронтэнд-разработчик

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

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

Ну нет, не «любому». Чаевые — это культурная традиция, и кое-где (как в России) она вполне себе успешно выведена, пусть и не совсем.

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

Тут многоэтапная фигня:
1) Хром и не-хром переносят элементы по-разному. Хром — единственный, кто оставляет у элемента всё тот же прототип, остальные (как минимум FF, но по-моему другие браузеры тоже ведут себя как FF) меняют прототип элемента как минимум однажды. Из этого, в частности, вытекает то, что в хроме кастомные элементы можно переносить между документами, не регистрируя такой кастомный элемент в новом документе. И оно будет работать, а у других — не будет. Хотя по стандарту вообще-то надо регистрировать.
2) FF, насколько я его понял (но надо учесть, что я не рыл вопрос очень уж глубоко) — сначала даунгрейдит элемент до HTMLUnknownElement, а потом апгрейдит обратно, если он зарегистрирован. То есть, прототип пару раз поменяется.
3) Ну и еще одна отдельная вишенка на торте — adoptNode() не вызывает конструктора! Оно вызовет сначала adoptedCallback(), потом connectedCallback(), и всё. Если в конструкторе происходит что-то интересное (я не уверен полностью, но в этой репе в конструкторе что-то не совсем банальное таки происходит, типа addEventListener у кнопки) — то это всё при переносе ноды перестанет работать.

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

С того, что вы выдумали себе целую альтеративную реальность с ужасными людьми, которые даже во сне думают, как бы самоутвердиться за счёт бедных ранимых авторов опенсорса.
Если взять количество усилий, которые я потратил на изначальное замечание за k, количество усилий на ваши комментарии за m, а мои ответы за n, то k <<<<<<< n < m (количество операторов приблизительно выражает разницу). И я в этом продолжаю участвовать только потому, что люди с забавными альтернативными реальностями мне по-человечески любопытны.

Я уже объяснил, что нужно было сделать с этим интересным фактиком.

Я уже объяснил, что ваши объяснения не имеют смысла.

Ишъю уже заведён или вы просто местный балабол?

Любопытно, что за всё это время вы так и не осознали разницу между issue и интересным фактиком.
facepalm.jpg

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

Ну, удачи.
Какой смысл писать о нём в комментариях?

Если автор пишет статьи на хабр — то и комментарии прочитает. Наверное.

Вы считаете, что нашли глобальный недостаток библиотеки, который ставит на ней крест?

Нет. Предлагаю подумать вам над тем, что иногда лопата — это лопата.
Справедливости ради, реклама идёт в подсознание, бренд становится «родным» и привычным

Ну и это максимум, чего можно добиться навязчивостью. Те, кто не выбирают по «привычности» бренда — им вообще не жарко и не холодно. Да и даже те, кто выбирают — не сильно-то и прогадают, потому что контора, которая на протяжении длительного времени может себе позволить вещать из каждого утюга свой бренд (это я про «кока-колу», да) — она скорее всего норм, и её и следует предпочесть условной «рога-копыта-коле».
Я так и не понимаю, что вы мне пытаетесь доказать. Что корпоративный софт в основном никто не продаёт в виде кросс-платформенных релизов? Спасибо, я это и так знаю. А вы интересовались, что у этого софта внутри?

Работал я вот тут, к слову. И да, кросс-платформенных релизов у нас не было примерно совсем. Были разные релизы под разные системы. Вот только (сюрприз!) у множества этих релизов во внутренностях скрывался всё тот же код, только урезанный (или наоборот, дополненный) специально под релиз.

Допускаю, что у контор одного продукта (те, кто пилил какую-нибудь ERP и жил её внедрением) было попроще.
Можно конечно верить в то, что где-то специально для всех этих депутатов и прочих царей держат группу нормальных медиков, которые не будут нести пургу про лактобактерии и оксолинку, но тут же можно припомнить и про бритву Оккама…
Дело в том, что люди всё-таки имеют мозг. Допускаю, что не все — но очень многие. И очень многие из них могут пользоваться им по назначению и вырабатывать в себе полезные для них (а не для маркетологов) привычки.

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

Поэтому любые действия маркетинга, направленные не на то, чтоб сделать пользователю лучше — будут иметь только лишь временный эффект. Потом пользователи привыкнут избегать этого.
Бизнес в массе своей кросс-платформенности не требовал ни тогда, ни сейчас. Кто-то сидел всей конторой на юниксах, кто-то на винде. А кто-то на AS/400. У всех были свои приложения, не переносимые, но это в общем-то и не требовалось.

Да что вы говорите. То, чем я занимался в те времена (вернее: то, чем я занимался ближе к 2010м, но даже к тому времени картина не сильно изменилась, только инструментарий получше стал) — было на 80-90% на яве. Но не на 100%. И вот оставшиеся 10-20% — нужно было собрать под винду (там разработчики, там большая часть демонстраций), под какой-нибудь из юниксов (там прод для заказчиков поменьше), или вообще под z/OS (там прод для крупноты).

И на яве оно уже в районе нулевых было на 80-90% именно потому, что бизнесу собирать весь код под целевые платформы (и дебажить потом) совсем не улыбалось.
Тогда там уже повсеместно встречалась Java

Вот и подумайте, почему Ява довольно оперативно влезла в B2B софт, и обосновалась там до сих пор.

И что такого в B2B надо было собирать под несколько платформ 20 лет назад?

Всё, что не Java.
Двадцать лет назад у вас вообще бы не возникла задача выполнить нативную сборку под 2-3 целевых платформы (кроме каких-то весьма экзотичных кейсов)

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

Поясню на примере. Кто любит от души попинать Electron — тот знает, что несмотря на всю прожорливость Electron-приложений — они в общем-то нормально работают в большинстве случаев. Но есть нехитрые пути поставить их колом: например, когда N открытых электроновских приложений наконец-то съедают всю память, или начинают конкурировать за /temp, или еще что — все N встают разом и одновременно, и «отмораживаются» опять же все разом, если хорошенько подождать.
Вы скорее всего без труда сообразите, что причина этого всего в том, что каждая абстракция виртуальной машины, создаваемая Electron, течет одинаково: она хочет доступа к тем же ресурсам (винту, памяти, итд) примерно в тех же обстоятельствах и в том же объеме, что и все другие машины. И достаточно всего лишь запустить VSCode скайп слаку дискорд (что там еще на электроне?) чтоб внезапно получить пиковую нагрузку, достаточную, чтоб «подвесить» все Electron-приложения на минуту-другую на медленном винте. Несмотря на то, что каждое приложение по отдельности «ничего такого» не делает.
Ну так я об этом и пишу.
Я просто за то, чтоб называть вещи своими именами — считаешь ты, что у тебя «внутреннее чутьё» на людей, и тебе надо обязательно услышать, что они отвечают на вопросы о хобби, спорте, и «побухать» — так и прекрасно. Но не стоит обижаться, когда кто-то придёт и назовёт это клановостью и отбором «своих».
Каков человек в общении имеет прямое отношение к эффективности выполняемых им функций

Не подскажете, как вывести «каков человек в общении» из вот таких вводных:
Я на собеседовании кандидатам задаю вопросы про их хобби, про занятия спортом, про вечерние «побухать»

?
Статья безусловно толковая, но вот увеличения уровней абстракций и понижения общей эффективности работы кода ради ускорения разработки — она не отменяет.

В 2020 году можно за час сделать некоторое интерактивное приложение, которое заработает где угодно, где вообще есть браузер, в то время как двадцатью годами раньше раньше вы этот же час бы потратили на то, чтоб выполнить нативную сборку под 2-3 целевых платформы (да и то это оптимистичная оценка). Но и ресурсов современное браузерное приложение сожрёт на несколько порядков больше, чем вообще требуется под задачу, чисто на дополнительные уровни абстракции.

Это не всегда имеет значение для пользователя (а чаще всего просто не заметно невооруженным взглядом), но это всегда имеет место быть.
Хотите интересный фактик?

Ваши компоненты все без исключения обрушатся на попытке переноса их в другой документ (importNode() или adoptNode()), если дело будет происходить не в хроме. Да и насчёт хрома я уверен не на 100%.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность