Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.02.2020, 09:23
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

По SPA приложениям и современным реалиям
Народ, всем привет.

Просидел все это время на бэкенде.
Но сейчас (а может и даже совсем не сейчас, а давно) все популярнее подход со SPA, когда бОльшая часть приложения создается например на vue, а бэкенд чисто через rest данные из базы выдает.


Это у меня вызывает несколько вопросов:
1) А что уже не требуется чтобы "сайт" работал в том числе и с отключенным JavaScript?
2) Что насчет индексирования таких сайтов?
3) Или это не для "сайтов" вовсе, а там для админок или приложений?
4) Посмотрел например начало Vue, они там довольно специфичным способом реализуют ту задачу, которая элементарно всегда решалась на php - вывод шаблона
5) Ну допустим то что раньше на php всегда делалось, теперь на vue/js, что с последним JavaScript, появились в нем куча удобных функций по работе со строками/массивами и т.д., как на php или это надо дополнительными библиотеками решать?
6) или 5-ый пункт принято решать вообще каким нибудь препроцессором типа TypeScript?
7) А что там например для vue, такой же огромный выбор всяких плагинов как у jQuery или их предлагается совместно использовать?


p.s. Впечатлило что pgAdmin (pg-постгрес), тот что недавно поставил, тоже уже из браузера работает.
Ответить с цитированием
  #2 (permalink)  
Старый 26.02.2020, 15:58
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

8) Ну и вопрос конечно безопасности. Того что js не защищен от вмешательства в работу, в отличие от php. И сколько там не валидируй на фронте, все равно все это надо дублировать на беке.
Ответить с цитированием
  #3 (permalink)  
Старый 26.02.2020, 16:04
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

1) кроме жуликов вряд ли кто-то будет отключать javascript
2) делается на стороне сервера SSR (server side rendering)
3) для сайтов тоже, SSR опять таки
4) javascript не php, подход другой
5) обычного функционала javascript вполне хватает, (map, filter, forEach, reduce, every, includes ...)
6) без TypeScript можно жить, с TypeScript лучше работает autocomplete
7) jquery не нужен в фреймворках типа react, angular, vue ... плагинов то много, но постоянно выходят новые версии фреймворков, всякие библиотеки должны тоже обновляться, а то могут быть не совместимы с новыми версиями
8) с таким же успехом можно бэк на js написать, и общую валидацию расшарить с клиентом

p.s. уже VS Code в браузере запускается...
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2020, 14:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

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

Про стаковерфлоу знаю, но имею неудачный опыт общения там, темы там уползают на 20-ю вкладку в момент и ответа нет никакого.
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2020, 15:17
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

Чтобы уверенно писать на этих фреймворках, надо отлично знать javascript. В основном, вопросы пишут нубы на тривиальные ответы. Зачем плодить себе конкурентов... и ты напишешь ответ, он скопипастит, и ничего не поймет - главное работает )

В этих фреймворках основная проблема это SSR + CodeSplitting, на мой взгляд ни один фреймворк, на данный момент, не предоставляет это из коробки... да, оно в каком-то виде есть, типа запросите все данные перед рендером страницы, и будем вам счастье... или бандл мегабайт... но нам же надо чтобы вложенные компоненты были асинхронными и рендерелись как stream + SSR + CS, для разработки еще и HMR, здесь и начинаются проблемы...

Все это (SSR) нужно в основном для SEO, здесь придется раскашелиться еще на VPS/VDS.

В корпоративном сегменте (Сбер, и т.д.) SSR для внутренних программ не нужен, но там будут другие проблемы: тесты, typescript, генералы и генералисимусы...

"Постоянные требования" - тот еще вопрос, один хрен, рано или поздно в голове созреет мысль, что тебя использовали и выкинули )) а ты как был нищебродом хоть за 300, так ты им останешься...
Ответить с цитированием
  #6 (permalink)  
Старый 16.06.2020, 08:05
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от SuperZen Посмотреть сообщение
Чтобы уверенно писать на этих фреймворках, надо отлично знать javascript. В основном, вопросы пишут нубы на тривиальные ответы
Если б это было так, то и не нужны были бы форумы по ларавел или Yii, но это же не так.
Фреймворки добавляют кучу своего кода, логики, магии и идей и вот по ним неплохо было бы иметь обратную связь.
Я например в Vue, после прочтения документации, даже не понял того момента, что Vue на лету новые объекты делает реактивными(когда присваиваешь их св-ву реактивного объекта), качество документации страдает. Или вот человек спрашивает интересный логический вопрос, а в ответ тишина.
Сообщение от SuperZen Посмотреть сообщение
Зачем плодить себе конкурентов...
Наверное все таки это.

Последний раз редактировалось micscr, 16.06.2020 в 08:39.
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2020, 11:08
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

Сообщение от micscr
Если б это было так, то и не нужны были бы форумы по ларавел или Yii, но это же не так.
если бы все было так плохо и не понятно, вряд-ли бы кто-то пользовался этим )

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

https://vuejs.org/v2/guide/state-management.html
https://github.com/vuejs/vuex/tree/d.../shopping-cart
https://vuex.vuejs.org/guide/structure.html

https://apollo.vuejs.org/

https://github.com/vuejs/awesome-vue
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2020, 12:28
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Ну то не мой вопрос был, но даже сразу вот по вашим ссылкам, если не считать awesome-vue, в которой надо непонятно как искать:
Эти ссылки не проясняют его вопрос, vuex то он уже выбрал, а в нем этот момент не объяснен.
Вопрос то у него законный: если использовать вот этот паттерн для хранения состояния, то где лучше запускать эти vuex события?
Когда компонент состоит из компонентов, состоящих из компонентов, каждая ли мелочевка должна выстреливать эти события, что проще, но делает их непереиспользуемыми. Или поднимать эти события вверх, уже к логическому компоненту. Может для фронт девелоперов это и очевидные вещи, но мне, например, пока ответ не очевиден.
Ответить с цитированием
  #9 (permalink)  
Старый 16.06.2020, 12:42
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

Делать нужно так, чтобы задача решалась ), на мой взгляд, вот здесь https://www.apollographql.com/blog/d...ement-solution, хорошо описаны все текущие проблемы с управлением состояния (local, remote) пусть там не про vue и vuex, в целом про запросы, кэш, инвалидация, optimistic update и т.д.
Building data layer infrastructure is expensive
и подход заключается в том, есть только один достоверный источник состояния, и хранится он как flat array (все вложенные и связанные объекты хранятся в плоской структуре), и из любого места приложения можно вызвать query, mutation, и не важно переиспользуемые или непереиспользуемые компоненты.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор фреймворка для крупного SPA приложения. AgRuN Библиотеки/Тулкиты/Фреймворки 1 25.03.2017 15:56