LINUX.ORG.RU
ФорумTalks

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

 ,


2

1

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

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

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

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

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

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

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

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

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

★★★★★

Вангую, что все это весит в разы больше голого хтмла и жрет дофига ресурсов.

В разы? Может быть даже в сотню раз. Очень часто js бандлы весят под мегабайт.

rupert ★★★★★
()

Вангую, что все это весит в разы больше голого хтмла и жрет дофига ресурсов.

Если не тащить тонны говна, то ничего не жрёт. Можешь также поставить бекенд жаба фреймворк с орм, шаблонизатором и всем ынтерпрайз говном, чтобы отдать тупой хтмл и посмотреть на толщину своего артефакта.
Есть 2 подхода. Server-side html как делали диды и server-side api с json + single page application, как делает молодёжь. Spa подход более прогрессивен, т.к. в нормальном приложении тебе нужен ajax, а нахрена делать server-side реднеринг, который жрёт ресурсы, если тебе все равно дёргать хост запросами. Конечно, хипсоры сразу положили член на kiss, клиент - не хост, работать там можно сколько угодно и ресурсы там неисчерпаемые. Поэтому всё скатилось в сранину с микрозависимостями, кучей говнокода и spa на 3 кнопки, которые стартуют по 10 секунд.

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

В разы? Может быть даже в сотню раз. Очень часто js бандлы весят под мегабайт.

Ничего не тащи будет столько же. Можно и вместо скрипта на похапе поставить жабку со спрингбутом и всей хернёй.

crutch_master ★★★★★
()

Смысл современного динамичского вэба в SPA(Single Page application)

Суть их том, что вы манипулируете HTML и DOM с помощьюб ЯП в котором все для этого есть и обмениваетесь с серверов дянными в JSON формате вместо того чтобы постоянно гонять фоpмы и страницы

Серверное приложение упрощается и может использовать сильные стороны ЯП и библиотек для этого предназначенных.

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

Если планируете писать вэб приложения и в будущем - то стоит изучить.

Кратний обзор Вэб UI

  • Angular
    • Настоящий фрэймворк. Т.е. позволяет создавать приложения пользуясь только возможностями этого фрэймворка.
    • Так как кроме Angular ничего не используется то проще разобраться с другими проектами на Angular
    • Несколько сложнее для начала, но наличие angular cli позволяет очень быстро начать работать.
    • Использует typescript из-коробки что является важным преимуществом. Большие проекты на React как правило в конце концов перебираются на Typescript но постепенно, со всеми всязанными с этим страданиями.
  • React
    • Создан PHP программистами Facebook и поэтому очень напоминает PHP с его смесью JS и HTML в специально соданных .jsx файлах
    • Легче начать так как это бибилиотека и для создания приложений обычно добавляют ещё много бибилиотек, что делает большинство проектов уникальными.
    • Страдать и изучать особенности придётся долго, так как даже после 3х лет использования многие программисты продолжают удивляться его особенностям.
  • Vue
    • По словм коллег которые работали с ним, начинать ещё проще чем с React
    • По их же словам, Angular лучше для больших проектов.

PS
Начал писать когда все было на 1й странице, но отвлёкся :)

PPS
Для изучения Angular рекомендую https://www.udemy.com/course/the-complete-guide-to-angular-2/
Я его сначала нахаляву посмотрел, потом купил на распродаже на Udemy

PPPS
Редактор: VS Code или Idea. Мне больше нравится Code

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 5)
Ответ на: комментарий от Stanson

https://en.wikipedia.org/wiki/Software_framework

https://en.wikipedia.org/wiki/Library_(computing)

Не использовать всё это тормозное и тупорылое говнище - аццкий грех.

Вам кто это сказал?

Это как противопоставлять Assembly и Typecript. Для всего есть место под солнцем.

Агриться совершенно бессмысслено и бесполезно.

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

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

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

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

Так было бы лучше. Особенно для админки, т.к. проще реализовать автоматизацию. Например, скриптовать операции через org-babel в emacs. А если морда гвоздями прибита к html это уже не так просто и элегантно.

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

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

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

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

А библиотека не может быть одновременно и фреймворком?

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

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

Всё хрень, на Уно писать надо. Там интерфейс на хамле, логика на сисярпе. После компиляции серит интерфейс тем, что есть на платформе - хтмл элементами там, или какавой а не рисует на канвасе уродство.

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

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

Всё это может быть в минималистичном/компактном/упакованном варианте?

Angular очень продвинулся по пути уменьшения бандл. Я думаю Hello World будет не больше чем на Реакте а по мере роста проекта станет меньше реакта благодара тому что все ненужные функции, переменные, классы, картинки из проекта и библиотек выбрасываются при компиляции.

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

естественная стратегия задирания ценника на квалифицированных спецов

добавление в фильтр приёма и сотрудничества таких критериев которые вымывают квалифицированных - как следствие те кто смог среди квалифицированных занижают свою квалификацию

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

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

d09
()

Чтобы отдаваемый хтмл не делал интерфейс куцым, т.е. ты смог его нормально расширять и развивать, надо знать про технологии Веб Компонентов (гугл: Web Components), т.е. Custom Elements, Native Templates, Shadow DOM и джаваскрипт на современном и культурном уровне (модули, классы и т.п.). Но сейчас айтишный эфир оккупирован разными вредителями, которые лоббируют впаривание всяких лысапедных фреймворков типа рякта, вуе и ангуляра (есть еще специальная дисциплина лезущих везде с каким-нибудь фимозом типа свельте) которые переизобретают все эти технологии, браузерный рендеринг и требуют всяких транспиляторов-минимизаторов. Вот пять страниц обсуждения без единого упоминания об том что тян, т.е старые вело-фреймворки не нужны это все подтверждают, даже чуткий до тенденций отрасли ЛОР тут проявляет себя как обрюзгший поехавший вижалбейсик программист, неся какую-то околесицу из прошлых десятелейтий. Если быть совсем точным, лет 5-7 назад браузеры были не очень готовы к модулям и веб-компонентам поэтому вышеперечисленные фреймворки появились и заполонили ит-рыначек создав понятие «фронтенд программиста» и много чего еще всякого для тов. Оккама.

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

Ну это в абстрактном идеальном мире. А в реальном, на чем уже написан софт, на том и поддерживаем. Как всегда всё упирается в деньги и время, чтобы сделать не «нормально», а хотя бы, чтобы работало.

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

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

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

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

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

Ну вот смотрите:

У заказчика древняя админка на ExtJS, на которую еще тогда было потрачено очень много человеко-часов и денег, и много предстоит потратить на новые фичи.

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

Переписывать с нуля денег у него нет.

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

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

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

Я предпочитаю метод постепенного рефакторинга существующего кода.

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

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

Не думаю, что максимализм тут был бы уместен.

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

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

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

ну обычно ваш вариант выглядит так:

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

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

уже есть такое искал недавно в гугле про авокадо (ессно без авторизации) закрыл гугл открыл ютуб так же вот и авокадо.

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

с точки зрения микросервисов quarkus (microprofile и jackartaee) сейчас выглядит поинтереснее, но вообще порталы сделаны пограмотнее

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

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

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

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

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

ЕМНИП:

  • ВК — пиэйчпи, своя версия https://github.com/vkcom/kphp
  • Фейсбук — когда-то был пиэйчпи, который работал на виртуальной машине хип-хоп, теперь там работает пиэйчпи-подобный ЯП хак.
  • Гитлаб и гитхаб — руби.
fernandos ★★★
()
Ответ на: комментарий от fernandos

Я помню, что вконтакт начинался на пыхе, как и пейспук, а потом они на что-то другое ушли. А вот на что - тут ты, может, и прав.

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

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

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

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

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

компиляторы пхп в бинарный код

Эвона как. То есть они не пожелали оставить тонкий слой размазанного по ФС кода, к которому при желании можно получить доступ с полпинка? (вспоминаю форум на phpbb, который я прикручивал к сайту и забыл на полгода, а потом он мне каких-то негров показывать стал голых)

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

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

Syncro ★★★★★
()
Последнее исправление: Syncro (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.