LINUX.ORG.RU

Дискуссия: нужны ли скрипты на стороне клиента?

 , , ,


0

1

Часто сползаем в этот разговор, поэтому создаю отдельную тему.

Предполагаю проведении дискуссии. Для тех кто не в курсе (спасибо Википедии) Дискуссия – это обсуждение спорного вопроса, проблемы; разновидность спора, направленного на достижение истины и использующего только корректные приёмы ведения спора. Т.е. сообщения не аргументированные – это просто флуд.

В связи с чем этот вопрос назрел? Многих людей (включая меня), так или иначе связанных с веб-разработкой, раздражает тот факт, что WWW используется не по назначению, в частности многие современные «сайты» не могут отобразить вообще ничего без JS/WASM, потому что как таковыми сайтами они не являются. Это ужасно медленные веб-приложения, которые максимально неэффективно используются для того, чтобы отобразить тот же самый HTML / XHTML, либо решать что-либо такое для чего веб не предназначен, решать то, что по хорошему надо бы запускать непосредственно в ОС.

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

Интересно узнать ваше мнение, конструктивную критику, поддержку.

UDP: Дискуссия не удалась, можно сказать. У всех в корне разная точка зрения. Компромисс не найден.

UDP: Вернее найден: каждый волен поступать как хочет. Кто-то может писать скрипты, а кто-то может их исполнять / не исполнять по своему желанию. Большего добиться не удалось.

★★★

Последнее исправление: zx_gamer (всего исправлений: 2)
Ответ на: комментарий от liksys

но вот онлайновый текстовый процессор для совместной работы с документами - явное благо.

И который работал бы быстрее и плавнее в виде отдельгого приложения без веба. При этом имея функцию совместной работы.

rumgot ★★★★★
()
Ответ на: комментарий от liksys

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

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

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)

Ещё один аспект. Подобная схема реализована в телефонах, с нативными приложениями, единым репозиторием. Результат собственно видно на практике.

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

sv_warvar
()
Ответ на: комментарий от Radjah

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

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от hobbit

Мне интересно, что он скажет про мою задачу с квм. Пропиши мне расстрел или писать в одно рыло пяток разных версий десктопного кода? Но я у него в ЧС, кажется :)

liksys ★★★★
()
Ответ на: комментарий от rumgot

Все верно. Но учитывая, что эти затраты не только для меня, но и для остального веба, можно считать, что это неизбежное зло. Все, что я могу сделать - оптимизировать свой код, чтобы отнестись с уважением к ресурсам юзера, и не жрать их без необходимости. Поэтому я пишу морду на чистом жс, делаю всё что можно статикой и перерисовываю только по мере острой нужды. Весь интерфейс вместе с картинками весит 750кб и работает даже на моем древнем Lenovo x220. Я считаю, что мой грех использования веба не по назначению искуплен :)

liksys ★★★★
()

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

uwuwuu
()

Вполне нормальный эволюционный процесс. Тонкий клиент начал развиваться и стал тем, что есть. Меня вот другое удивляет. Как эволюция на бэке пошла по пути http и json. Сейчас весь м2м общается на этом ущербстве, которое даже для этого не было предназначено. А что больше всего улыбало, так это аргументация сторонников этого недоразумения - «человекочитаемый транспорт легко дебажить без сторонних тулзов». Смешное в этом для меня всегда было и есть то, что в этих «светлых» головах никогда даже не зарождалась мысль, что именные из-за ущербности этого подхода им и нужно «читать» транспорт. В пример всегда привожу ерланг с его сетевой прозрачностью, где разработчику даже думать не надо про сеть.

ergo ★★★
()
Ответ на: комментарий от rumgot

А мой ноут прошлогодний с i7 11565G7? Почему то при параллельно запущенной компиляции некоторые сайты умудряются тормозить при том что остальные приложения нет.

Использую для работы системы с процессорами Core i5-2450M и Core i7-4700MQ. При компиляции ничего в браузере не тормозит. Разбирайся с программными или аппаратными проблемами на своей системе.

Перегреют процессор с паршивой системой охлаждения, а потом жалуются…

Вот мой старый смарт samsung galaxy j1 2016 как по твоему?

Не имею представления. Но после историй про тормоза на i7-11565G7 – крайне неубедительный пример.

wandrien ★★
()
Ответ на: комментарий от ergo

Причина в универсальности. HTTP и JSON есть везде, так как надо общаться с фронтом и другими серверами, поэтому состыковать компоненты, использующие разные стеки и языки оказалось проще всего именно кусками от веба. Плюс для HTTP уже есть всякие штуки типа nginx и балансеров, что тоже сильно упрощает жизнь и избавляет от строительства велосипедов. Так что это не только универсальная связка протоколов, но ещё и стиль построения архитектуры.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от ergo

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

А это как в анекдоте:

Математику и физику была предложена одна и та же задача: вскипятить чайник. Даны подсобные инструменты: плита, чайник, водопроводный кран с водой, спички. Оба поочередно наливают воду в чайник, включают газ, зажигают его и ставят чайник на огонь. Затем задачу упростили: предложен чайник, наполненный водой и плита с горящим газом. Цель та же — вскипятить воду. Физик ставит чайник на огонь. Математик выливает из чайника воду, выключает газ и говорит: «Задача свелась к предыдущей.»

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от rumgot

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

lshw | grep date
          date: 03/29/2012  

Кажется, я что-то делаю не так.

wandrien ★★
()
Ответ на: комментарий от wandrien

Разбирайся с программными или аппаратными проблемами на своей системе.

Ой, ну конечно же. Гений ты наш.

Перегреют процессор с паршивой системой охлаждения, а потом жалуются…

Хахахаха, система охлаждения паршивая, не то что вся эта вебня.

Но после историй про тормоза на i7-11565G7 – крайне неубедительный пример.

Умвр, ага.

Вот на, читай. Я уже писал про это. Там тоже товарищ не верит Почему программы на с++ тормозят :) (комментарий)

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Какая-то галерея тормозит, значит весь веб тормозит.

Какая-то галерея тормозит, значит каждый год надо обновлять железо.

Логики не увидел.

Гений ты наш.

Ну што поделать, приходится нести крест гения на себе, с такой логикой собеседников.

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

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от zx_gamer

Не понимаю почему график нельзя в SVG отрендерить, но да ладно.

Во-первых, потому что он писал про

интерактивный график внутри документа рисовать

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

metalbeaver
()
Ответ на: комментарий от rumgot

Там еще и форточка.

Я как раз хотел написать парой постов ранее, что в линукс проблемы с распределением CPU для задач давно пофикшены, но решил не метать бисер. Оказалось, правильно решил.

Пиши багрепорты в MS.

wandrien ★★
()
Ответ на: комментарий от wandrien

Воображаемый кирпич всегда легче реального.

Ты выпивши? Один кирпич легче двух, дядя. Компилируемый код быстрее интерпретируемого при равной сложности. Что ты доказываешь?

rumgot ★★★★★
()
Ответ на: комментарий от wandrien

Давай свой «онлайновый текстовый процессор в виде отдельного приложения без веба».

Я тебе что-то обещал дать?

Это просто сетевое приложение. Какие то есть принципиальные причины невозможности его реализации без веба?

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

У меня есть ноут возраста примерно лет 10-12 1Gb ram Celeron 1 core 2GHz. Расскажи мне, как на нем ничего не должно тормозить. Особенно вебня.

Celeron 550/575 на ядре Merom с памятью DDR2? 2007-й год. Выкини на помойку. Они точно так же тормозили 15 лет назад, просто вы уже не помните, потому что «раньше было лучше», и не с чем было сравнить.

Не подойдёт даже для печатной машинки.

wandrien ★★
()
Ответ на: комментарий от wandrien

Celeron 550/575 на ядре Merom с памятью DDR2? 2007-й год

Я не помню точное название.

Но он работал прекрасно. Потому что сайты лет 12 назад не были обмазаны js сверху донизу. Да еп же ш вашу мать, я на нем в q3/cs1.6 играл. Почему на их хватает производительности, а на современный веб нет.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Но он работал прекрасно. Потому что сайты лет 12 назад не были обмазаны js сверху донизу. Да еп же ш вашу мать, я на нем в q3/cs1.6 играл. Почему на их хватает производительности, а на современный веб нет.

12-15 лет назад, чтобы в браузере нарисовать красивый интерактивный элемент UI, приходилось делать это из говна и палок на куче div-ов, синей изоленте и черт знает чём. При чем работало оно более-менее в опере, а под IE, который тогда еще собака такая не помер, ставило браузер раком. Банально тормозила выборка элементов по getElementById(), а JS-код исполнялся с черепашьей скоростью.

Я на Celeron D в HL2 играл. Может бизнесу на движке HL2 сайты делать тогда?

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от rumgot

Ну да. Нужно быстро и дешево лепить тонны говна. Тут уж не поспоришь.

Вместо mail/yandex/google-облака предложишь другое решение для организации работы преподавателей школы дистанционного образования?

Опять нет?

wandrien ★★
()

Где-то здесь в теме очень хорошая мысль прозвучала, но как-то мельком.

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

Еще раз: ВСЕ.

Спасибо, но такого говна на телефоне мне не надо.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

getElementById(), а JS-код исполнялся с черепашьей скоростью.

Если не херачить в js кучу логики, для чего он и не предназначен, то все норм работало.

Я на Celeron D в HL2 играл. Может бизнесу на движке HL2 сайты делать тогда?

Тебе видимо сопоставление производительности ничего не говорит.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Если не херачить в js кучу логики, для чего он и не предназначен, то все норм работало.

А для чего он предназначен? Кем? И когда?

все норм работало

Как щас помню «норм работающие» CSS-фичи, которые в firefox прокрутку превращали в слайд-шоу из-за проблем в его системе рендеринга.

wandrien ★★
()
Ответ на: комментарий от wandrien

Вместо mail/yandex/google-облака предложишь другое решение для организации работы преподавателей школы дистанционного образования?

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

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

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

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

Эксперта сразу видно.

wandrien ★★
()

Из Wiki:

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

Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

QsUPt7S ★★
()
Последнее исправление: QsUPt7S (всего исправлений: 1)
Ответ на: комментарий от wandrien

Он предназначен пару свойств поменять. А вовсе не аля десктопные приложения делать. А то что сейчас происходит - это натягивание сам знаешь кого на сам знаешь что.

rumgot ★★★★★
()