LINUX.ORG.RU

Толстый web-сервер или толстый web-клиент

 , ,


0

1

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

Ответ на: комментарий от anonymous

чтобы и клиент не хотел веб-страницу закрыть из-за тормозов, и чтобы сервер не сильно нагружать

Конечно, решается элементарно — докупкой серверов и размазыванием нагрузки.

deep-purple ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Вёрстка (шаблон) — тупо формат ответа, как жсон или хмл. Сегодня шаблон один (как формат, фиксированый), а завтра может уже другой. В чём разница с точки зрения формата между:

{"list":[1,2,3,4]}
и
<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul>
???

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

Перечислите лучшие образцы для вебстроения

ism ★★★
()
Ответ на: комментарий от deep-purple

XLS, например, отвечать и разбирать документы — норм?

Я, кстати, видел клоунов, которые так делали. Разработчики апишки, правда, не знали об этом, и такого не подразумевалось.

WitcherGeralt ★★
()
Ответ на: комментарий от deep-purple

А ты видел как втупляет твитор в браузере?

Да твитору как скипидаром намазано по сравнению с фб, где из сложной логики разноцветные лайки

wxw ★★★★★
()
Ответ на: комментарий от deep-purple

У меня твитор даже на мобилке летает. Он как раз нормально сделан.

WitcherGeralt ★★
()
Ответ на: комментарий от deep-purple

Если интерфейс достаточно сложный, то и для пользователя. Потому что если при каждом нажатии любой кнопки или сортировки происходит перезагрузка страницы, то удобства пользования таким сайтом для пользователя никакого. Явно ж SPA более user-френдли. А если медленный интернет, то юзер даже анимацию переходов между страницами не увидит. Нажимает - и ждет. Да, можно все заяксить и заанимировать все загрузки без всяких Реактов, но давай смотреть правде в глаза, мы оба знаем, как выглядит в плане качества кода фронтенд таких сайтов. jQuery-лапша, которую поддерживать невозможно. Или такая же в плане качества парашная ванилька.

от ваших десятимегабайтных говн

Не наших. Я бэкенд-разраб, но Реакт юзал

десятимегабайтных говн ворочающихся на простой с виду страничке

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

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

А ничего, что в нормальных сайтах для SPA делают server side rendering, благодаря которому в браузер прилетает при первоначальном заходе готовый html, вытащенный из кеша причем + маленький чанк js и маленький чанк стилей? Что там минуту грузится?

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

Go+Vue+Tailwind.

И чем это лучше django bootstrap jquery для большинства штампованых проектов не требующих производительности и сложного интерфейса ?

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

если у разрабов руки откуда надо

То там ни минификация, ни гзип, ни чанки не нужны — там вся обвязка копейки весит.

Что там минуту грузится?

Да, что? Открывай тот же твитор, дивися.

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

там вся обвязка копейки весит

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

Открывай тот же твитор, дивися

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

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

Питон силен большой базой библиотек, всегда можно найти удобное

Bootstrap поддерживается в crispy forms

Jquery не обязателен, но удобен, его почти всегда хватает

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

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

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

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

Апишка может отдавать конкретный документ до идетификатору, это нормально. Но ты почему-то забываешь суть. Это интерфейс, он нужен для обмена данными между каким-то сервисом и приложением. Что у тебя в случае с отдачей страничек бекендом — приложение?

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

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

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

для обмена данными между каким-то сервисом и приложением

Да, между сервисом (бекендом, сервером) и приложением (браузером). Что не так?

Парсить их нельзя, точнее тупо

Так этим какраз занимается приложение (браузер).

как я уже обосновал выше

Не катит. Потому что не надо говны от говн отделять. Всмысле, не забывай что и то и это — говны из одного и того же места (сервиса).

deep-purple ★★★★★
()
Ответ на: комментарий от WitcherGeralt

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

deep-purple ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Именно! И не надо вот этих разделений у кого там какой формат в ответах. Ещё и потому, что разный формат может быть даже с одного места, типа: /foo/bar?format=xml /foo/bar?format=json

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

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

Требование выглядит как говно.

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

Ты когда такой таск выполнял, ты валидацию данных делал? А обвязку регистрация-забыл-пароль-войти? А роли юзеров и права доступа? Явно же — нет.

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

Ну и смысл какой этих джунотасков?

Я хз, TODO list в вебразработке это аналог hello world

И вот оно везде так сейчас — куда не плюнь кругом джуны со своими микросервисами с парой фич

Не связанные вещи, как я писал выше - это hello world который могут попросить реализовать как на react так и на jquery или ваниле.

abs ★★★
()
Ответ на: комментарий от deep-purple

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

Бакланы согласовали формы отчётов, но они их не устроили, так они сделали другой XLS с макросами, который при открытии выкачивал отчёты с апишки, разбирал их и самообновлялся на их основе.

Когда xls заменили на xlsx, клоуны обосрались. Мораль: нужно апи, согласуй его, а не страдай хернёй.

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

Это был пример где можно/нужно применить SPA

Это было говно. Говно для чесания самолюбия собеседующего. Руками джуна.

Да делал

В тестовом джуновом таске? Не верю! А так то да — я тоже делал. И там ну вообще никак не коррелирует с этим джуновским заданием, которое ничего реального о кандидате не расскажет. Ну если только совсем имбецилов отсеить. Но в таком случае всё очень грустно.

hello world который могут попросить реализовать как на react так и на jquery или ваниле

Ах если бы в жизни были все варианты...

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

Разница огромная. Использовать разные сериализаторы в зависимости от параметра — дело не хитрое.

Апишка может отдавать документы, это нормально, но это не основная её работа. Это может делать и веб-сервер. Основная — RPC.

Если бек отдаёт страницы, то сам бек и есть приложение. А браузер в любой парадигме — это не приложение, а тонкий/толстый-клиент для приложения, он же терминал.

WitcherGeralt ★★
()
Ответ на: комментарий от deep-purple

Это было говно.

и так, наш диалог со стороны.

третий) Просят пример где не нужна связь с беком
я) привожу ее
ты) Говорит что требования (причем тут требования???) говно
я) говорю что это не требования
ты) говорит что это все равно говно.

Еще раз, трелло прекрасный пример где можно средствами js/spa/react реализовать некую логику без ожидания ответа от бекенда. Еще раз, я приводил ПРИМЕР, не таску, не задачу для джуна.

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

Если бек отдаёт страницы, то сам бек и есть приложение

Ты клонишь к тому, что отдаваемое должно быть хуйман-реадабле.

Но это не так.

Ответ, не важно в каком формате, текстовый он или откровенно бинарный — его, при получении, всегда пропускают через какое-либо приложение.

Так, хтмл — это просто текст. Но то, что показывает браузер — это не то, чем ответил ему бекенд, а то, как приложение интерпретирует ответ бекенда. Иначе не было бы Ctrl+U ))

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

То, что рендерит браузер, — это не то, что отрисовывает монитор. Значит браузер — бекенд, а монитор — приложение.

Пеши ищё.

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

Сохраним хтмл-ответ и жсон-ответ в текстовые файлы. Откроем их в редакторе и... увидим тупо статичный текст.

Причём тут монитор?

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

то, что показывает браузер — это не то, чем ответил ему бекенд, а то, как приложение интерпретирует ответ бекенда

Понесло тебя, а я лишь передразниваю.

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

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

У нас тут вроде не макаковирус бушует, недостатка в макаках не предвидится.

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

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

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

Между каких строк Вы это увидели? И одно другому не мешает кагбэ.

mertvoprog
()
Ответ на: комментарий от deep-purple

Любопытный критерий! То есть проприетарщики SPA не любят? Да вот не похоже что-то.

mertvoprog
()
Ответ на: комментарий от deep-purple

Она вся просрана на этой десятке метров, на резолве днс и коннектах с парой десятков гугло-анало-шрифто-жкверё-вуё-реакто и наконец родных сайту сидиэнов

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

mertvoprog
()
Ответ на: комментарий от WitcherGeralt

по-определению фиксированный

Это только ООП-ное понимание интерфейсов фиксированное, а общее гораздо шире. GUI, тащемта, тоже — Graphical User Interface, а меняются постоянно, особенно на всяких сайтах, вантузах и банкоматах.

mertvoprog
()
Ответ на: комментарий от deep-purple

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

mertvoprog
()
Ответ на: комментарий от dimuska139

Что там минуту грузится?

На GPRS в лучшем случае мегабайт в секунду пролезает (это если всё через одно соединение, канал больше ничем не забит и работает EDGE). В реальности ждать придётся ещё дольше. И это если загрузка не порвётся (а чем больше независимо загружающихся ресурсов — тем больше вероятность, что страница придёт к неконсистентному состоянию с поломанными скриптами) — иначе придётся перезагружать, по многу раз. А если к этому прибавить вхардкоженные на сайтах таймауты, и отпинывающий медленные соединения Anti-DDOS…

mertvoprog
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.