LINUX.ORG.RU

Разработка Web-интерфейса с пользователем.

 ,


1

4

Уважаемые коллеги!

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

Поэтому резонно возникает вопрос: какой технологией для создания качественных (простых и надёжных) web-интерфейсов, которая вас не подводила, пользуетесь вы, уважаемые коллеги, профессиональные web-разработчики? :-)

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

там вся логика за логином
Я хотел делать приложение типа википедии. Чем отличается залогиненная страница от незалогиненной? ...

Речь шла совсем о другом - о том, что роботу доступна только главная страница веб-приложения с приглашением ввести логин и пароль. Остальное роботу вообще недоступно. Это не сайт в обычном смысле, а именно приложение.

А вообще, SPA - это не догма.

Т.е. ненадёжность SSR заменяется ненадёжностью Prerender.io + PhantomJS, ...

SSR вам надо программировать - лишние сложности. И это неотъемлемая часть сайта. Какие-то частичные отказы пререндеринга не так страшны - просто возвращаешь роботу 504-й код. Позже ткнется и получит свою HTML-ку.

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

SSR вам надо программировать

В vue - нет - в этом и состоит сила vue. Это просто конфиг, настройка и ограничение на то, что в коде нет типично клиентских вещей, таких как window (или я не знаю что там ещё типично клиентское, отсутствующее в ноде). Код будет выполняться ЛИБО на сервере, ЛИБО на клиенте, но код - один и тот же.

И это неотъемлемая часть сайта.

Ну это - да.

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

SSR вам надо программировать

В vue - нет - в этом и состоит сила vue. Это просто конфиг, настройка и ограничение на то, что в коде нет типично клиентских вещей, ...

Это очень сильно не так. SSR накладывает ограничения на мышление чистого Vue-программиста и на варианты «правильной» реализации даже при отсутствии «типично клиентских вещей». Читаем, к примеру, документацию:

"... из всех хуков жизненного цикла будут вызваны только beforeCreate и created во время серверного рендеринга (SSR). Это означает, что код внутри любых других хуков жизненного цикла, таких как beforeMount или mounted, будет выполняться только на клиенте.

Теперь смотрим конкретный, успешно работающий код:

...
async beforeMount() {
  await Promise.all([
    здесь запускаются начальные AJAX-запросы
  ])
  ...

Ну, т.е. портировать этот код в SSR уже не реально - его надо весь перекраивать, если это вообще возможно.

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

При переключении на SSR уже готовому Vue-программисту придется перестраивать свои навыки и привычки. И не факт, что его квалификации вообще хватит на такой переход. Вот это всё я и обозначаю фразой «SSR вам надо программировать».

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