LINUX.ORG.RU
ФорумTalks

Философия о будущем веба

 ,


2

1

Далее будет немного тупняка и флуда.

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

Сейчас я пишу сервер с админкой. В админке буквально несколько кнопочек, ничего сверхсложного, поэтому все сделано по старинке - страница генерится на сервере, браузеру отдается хтмл, все как завещали отцы. Обратная связь - GET и POST. И это работает. Работает шустро, память не жрет.

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

Открыл ютуб и решил послушать хипстеров про фреймфорки. Чувак 30 минут рассуждает о какой-то фигне, в 10 полезных минутах он… Генерит обычный хтмл из скрипта. То есть…. ОН. ГЕНЕРИТ. ХТМЛ. ИЗ. СКРИПТА. То есть вместо того, чтобы просто отдать браузеру готовый хтмл, он отдает браузеру JS, который подтягивает кучу какого-то шлака с удаленных реп и генерит тот же хтмл с тремя полями и кнопкой. Вангую, что все это весит в разы больше голого хтмла и жрет дофига ресурсов.

Вопрос - зачем? Или я неправильно понял суть этого всего?

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

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

//Тема скорее вброс, но все равно интересно.

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

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

Возможно. Поэтому и пришел сюда с вопросом.

Zhbert ★★★★★
() автор топика

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

Да. Если можешь выбирать - выбирай elm или svelte.

ddidwyll ★★★★
()

s/будущем/будующем/ , ага.

Вопрос - зачем? Или я неправильно понял суть этого всего?

Чтобы делать UI полностью в контексте задачи: вот у тебя виджеты создаются, вот у них код. Точно так же как ты писал бы нативного клиента, который работает с СУБД через коннект.

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

То есть это смена парадигмы. Мы пишем не от бека, который куда-то там выплёвывает морду, которая рисуется хрен знает как, и об этом никто толком не думает и не делает её адекватной.

Мы пишем от UI, берем виджеты и херачим сразу формы под задачу.

Для админок это самое то.

Для нетривиальных вставок на главной морде сайта — тоже. Так банально дешевле.

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

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

Да. Если можешь выбирать - выбирай elm или svelte.

Могу, все в моих руках, как говорится. Спасибо, посмотрю.

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

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

Ну вот у меня так и есть, по сути.

Zhbert ★★★★★
() автор топика

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

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

Ну то есть это имеет смысл, только если у меня хайлоад с кучей клиентов? В режиме полутора коннектов в минуту это не имеет смысла вообще?

Zhbert ★★★★★
() автор топика

Как я понимаю, автор не в контексте современной веб разработки, отсюда и удивление от современных тенденций.
Например, мой любимый Реакт (да, да, я знаю, что это не фреймворк, а библиотека для рендеринга) создает VDOM, который работает гораздо быстрее и по весу гораздо легче (за счет исключения неиспользуемых объектов), чем DOM.
В нем уже реализованы все узкие места вроде ререндеринга только той части (V)DOM, которая изменяется, процессы вроде всплытия событий оптимизируются в делегирование и т.д., и т.п.
Приложения пишутся (и работают, - бабах!) в разы быстрее, чем на чистом vanilla js.
Непонятно, чего тут нудеть о том, что молодежь генерирует html скриптом, надо самому попробовать. Рекомендую в свободное время осилить курс по какому-нибудь реакту, как минимум, помолодеешь.

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

Ну то есть это имеет смысл, только если у меня хайлоад с кучей клиентов? В режиме полутора коннектов в минуту это не имеет смысла вообще?

Нет, это вообще боком.

Суть в том, как ты относишься к своей «разработке», как к приложению или как к набору html-шаблонов.

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

Непонятно, чего тут нудеть о том, что молодежь генерирует html скриптом, надо самому попробовать. Рекомендую в свободное время осилить курс по какому-нибудь реакту, как минимум, помолодеешь.

Так я не нудю, я скорее интересуюсь как раз. Где еще расширять кругозор, как не на ЛОРе?

Zhbert ★★★★★
() автор топика

Эта идея появилась в лохматые времена медленного интернета на мобилках, т.е. выглядело так, что экономнее один раз прогрузить скрипты а потом бегать на сервер только за голимыми данными. Допилить идею до вменяемого состояния удалось не сразу, и к тому времени интернет даже на мобилках оказался уже довольно быстрым. Сейчас профит от такого действа часто сомнителен т.к. готовая страница вгружается и рисуется быстрее чем 10 метров скриптов, которые её сгенерят.

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

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

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

А так, когда приложение разрастается за пределы пары формочек и страниц, тот же react делает разработку намного более приятной (а главное, более структурированной)

Fizzika ★★
()

Вопрос - зачем?

Я и сам излишне привязан к старому доброму Web 1.0 (1 2), но приведу пример, когда «активная» страница без генерации HTML на сервере имела смысл.

Мы в лаборатории разработали физическую модель. Она принимает набор параметров и выдаёт то, что получилось бы в эксперименте, если бы параметры в нём были именно такие. Позже научрук решил, что хорошей идеей будет сделать из этой модели веб-интерфейс (а не приложение для десктопов, потому что всё - это вебсайт, чёрт побери). Он хотел интерактивный график, так что без JavaScript тут в принципе не обойтись, но один <script src="plot.js"> - это ещё не тонна фреймворков.

Первая редакция архитектуры веб-сайта работала вот так:

  • index.html с формой подгружает библиотеку для рисования графиков и делает запрос к CGI на сервере
  • CGI линкуется с моделью и с какой-то библиотекой для генерации JSON, больше в нём ничего нет. Он вызывает модель, заворачивает результаты её работы в JSON и печатает это всё на stdout
  • JavaScript на клиенте принимает этот JSON с сервера и распихивает информацию оттуда по элементам DOM, а также показывает график

Генерировать красивый HTML в этом же CGI было бы сложно (работа со строками и в C, и в C++ довольно болезненна), а так даже выполняется single responsibility principle: сервер отвечает за данные, клиент - за их представление.

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

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

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

anonymous_sapiens ★★★★★
()

Вопрос - зачем?

Типо модно, чтобы сделать из сайта приложение, которое будет грузится пол часа, а потом тупить, особенно на мобилках. А, да. И самое главное - чтобы жрало память и грузило проц. И даже не пытайся найти какое-то оправдание или объяснение. Встречал даже такие кадры, которые нос воротят от готового html, хотят чтобы он генерировался именно у пользователя. И никак иначе. Мне кажется, это какая-то отдельная форма аутизма, которая ещё не изучена.

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

Например, мой любимый Реакт (да, да, я знаю, что это не фреймворк, а библиотека для рендеринга) создает VDOM, который работает гораздо быстрее и по весу гораздо легче (за счет исключения неиспользуемых объектов), чем DOM.

Это всё прекрасно, только сайты почему-то нихрена не работают быстрее. А бывает и просто не работают. Крутят спиннер и всё. И нужно принудительно перезагружать страницу ожидая по минуте когда весь шлак прогрузится заново. Може конечно дело в исполнителях, но скорее нужно что-то в консерватории подправить.

bread
()

И тут я решил посмотреть, что же это за фреймфорки такие

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

Открыл ютуб

Вторая ошибка, поберегите своё время. :P

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

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

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

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

fernandos ★★★
()
Ответ на: комментарий от ya-betmen

Сейчас профит от такого действа часто сомнителен т.к. готовая страница вгружается и рисуется быстрее чем 10 метров скриптов, которые её сгенерят.

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

bread
()

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

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

Серьезно, тыжблядьинженер. Не шлангуй пожалуйста.

Тянет на шаблон универсального ответа «пятизвёздам».

vvn_black ★★★★★
()

Этому есть название: «всратые технологии».

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

фишки вроде реактивности

Что под этим имеется ввиду? Тормоза реакта на среднем количестве событий?

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

Фига себе ты расписал!
А потом браузер рисует всё по-новой и уже плевать, вдом там или дом... А не плевать на то, что навешано в луп сейчас.

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

Но людей переклинило

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

ya-betmen ★★★★★
()

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

ТС, наверное, и про AJAX слышал где-то в книжном магазине в конце 00-ых

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

А json у вас наверно святым духом пересылается за нулевое время.

bread
()
Ответ на: комментарий от Psilocybe

Ну так сотни запросов к сотне микросервисов!

Shadow ★★★★★
()

Философия о будущем CPU

Вот я старообрядец. Входил в эти ваши компьютеры еще во времена zx spectrum, познавал как все это работает там же. По некоторым причинам долгое время касался всего этого больше как школьник, но часто читал про всякие там новомодные ibm pc и прочие ненужнокомпы

Сейчас я пишу с ARM CPU. В дефайсе буквально несколько кнопочек, ничего сверхсложного, поэтому все сделано по новинке - пальчик водишь по дисплею, есть встроенный браузер хтмл, все как завещали отцы. Внешняя связь - LTE и WIFI. И это работает. Работает шустро, память не жрет.

menangen ★★★★★
()

И тут я решил посмотреть, что же это за Apple ARM такие, о которых все вокруг говорят. Нет, я знаю, что такое iPhone и его назначение, у меня даже есть iPhone 8 и пара iPad, которые выполняют какую-то банальщину в виде отображения этой страницы или просмотра Ютуба на поле. Но…

menangen ★★★★★
()

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

vaddd ★☆
()

что же это за фреймфорки такие

plain.js и vanilla.js хватит всем :)

slackwarrior ★★★★★
()

Открыл ютуб и решил послушать хипстеров про новомодный M1 CPU. Чувак 30 минут рассуждает о какой-то фигне, в 10 полезных минутах он… открывает Android Studio. То есть…. ОН. ОТКРЫВАЕТ. СТУДИЮ. НА. МАКЕ. То есть вместо того, чтобы просто создать для андроида готовый C++ SDK, он запускает студию, которая подтягивает кучу какого-то шлака с удаленных реп и генерит ту же апп с тремя полями и кнопкой. Вангую, что все это весит в разы больше голого C++ и жрет дофига ресурсов.

Вопрос - зачем? Или я неправильно понял суть этого всего?

Нет, я понимаю, когда речь идет про какой-то мобильный аналог ворда или что-то типа того, так без Java и фреймфорка (?) не обойтись, скорее всего, но зачем это все для простейших действий?

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

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

вместо того, чтобы просто создать для андроида готовый C++ SDK

Чего блин?

Вангую, что все это весит в разы больше голого C++

Если извернуться, то для андроида можно делать миниатюрные приложения: https://play.google.com/store/apps/developer?id=Alex+Mezhevikin&hl=en&gl=US

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

Некоторые умудряются данные измерения температуры гонять по JTAG, да так, чтобы на одно значение уходило 16 kB (это при том, что сам сенсор восьмибитный).

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

Но ассемблер действительно рулит…

Да кто ж спорит-то. Я вообще с него начинал свой путь кодинга. Под пикмикро еще.

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

ассемблер действительно рулит…

Только если это LLVM IR

Недаром я про ARM начал. Скоро зоопарк этих ассемблеров и SIMD будет. Щас с этими нейропроцессорами будет новый виток дрочева на сетки

menangen ★★★★★
()
Ответ на: комментарий от system-root

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

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

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

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