Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Есть ли смысл делать SPA на ванильном JS?

Союз Здравых Сил Профи (517), на голосовании 8 месяцев назад
Начинающий фронтендер, знаний у меня не очень много(html/scss/JS(немного продвинутый)/gulp/git)
Пока я занимался только созданием статич. веб-сайтов, мне посоветовали разобрать что такое SPA, и сделать что-то своё на чистом JS(перед этим ещё понять webpack, вебсокеты). Ну что это такое, что такое роутинг, схема разработки это я +- понял.

Но у меня вопрос: есть ли смысл заниматься этим и делать на ванильном JS, без фреймворков? Пока у меня нет знакомства ни с React, ни Vue. Тут не тех.вопрос, мне просто нужен совет от того, кто поопытней

Куда мне лучше сейчас потратить время? Заниматься разбором WebPack(там вообще пока ничего не понятно) и пробовать делать SPA на ванильке ИЛИ сразу начинать учиться React-у? Если можно, дайте подробный ответ, потому что я сейчас решаю, куда потратить время следующих нескольких недель. В общем, как вы думаете, чем мне сейчас лучше заниматься, куда потратить время?
Голосование за лучший ответ
Evgeny1990 Мудрец (14042) 9 месяцев назад
Учи Webpack + Vanilla SPA для базовых понятий, потом берись за React для реальной боевой практики и работы.
Союз Здравых СилПрофи (517) 9 месяцев назад
Vanilla SPA - это типо просто название SPA на чистом JS? А то звучит как библиотека какая то

А могу я сделать SPA на чистом JS, но без вебпака? Мне сказали, что это прям очень нужно. Но я начал смотреть видео, начал читать - и я ну почти ничего не понимаю. Там либо про какой-то сложный JS, либо про фреймворки
Evgeny1990 Мудрец (14042) Союз Здравых Сил, Ванильный SPA – это да, SPA без фреймворков, на чистом JS. Можно и без Вебпака, но это тусовка для ретро-девелоперов или учебных проектов. Вебпак большое дело – модули юзай, все зависимости тяни, в продакшене особо ценится. Если муторно, держись стандартов ES6+, мастери модули, это прокачка, стартуешь потом в Vue/React уже с чётким багажом.
Dlazder Мудрец (16875) 9 месяцев назад
Ты главное принцип пойми плюс минус, как происходит роутинг и т.д., а делать свой велосипед смысла особого нет
Союз Здравых СилПрофи (517) 9 месяцев назад
Да я принцип понял вроде
Но советуют типо перед изучением реакта что-то по web приложухам на ванильке сделать. И советуют вебпак разобрать. С этим главная сложность
Dlazder Мудрец (16875) Союз Здравых Сил, все по разному советуют
Петр Алексеевич Оракул (82071) 9 месяцев назад
Очень редко делают SPA без реакта/вью, поэтому можно ограничиться изучением, как это работает и написать простенькое приложение, но не погружаться глубоко в дебри. Далее переходить уже к подходящим инструментам
Pure function Просветленный (36430) 9 месяцев назад
>Заниматься разбором WebPack

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

>и пробовать делать SPA на ванильке ИЛИ сразу начинать учиться React-у

Зачем что-то делать если в этом нет смысла? Смысл мучатся с ручным DOM если все равно ты это выкинешь и будешь использовать React? Чтобы разобраться с DOM API будет предостаточно возможностей и так - React не избавляет от работы с DOM полностью, все равно будут ситуации когда придется брать ref и заниматься этим.
Bulat_Almukhametov Мастер (1160) 9 месяцев назад
Вот в начале твоего вопроса: разобрать что такое SPA и поделать на ванильном JS. Это 2 разные вещи. Не нужно делать SPA на чистом JavaScript'е -- это пустая затея!

Просто почитай, что такое SPA (если в 2-х словах, то просто генерация HTML-ки с помощью JavaScript в браузере вместо генерации HTML-ки на сервере на PHP или другом языке), поделай простые примеры на JavaScript: отправка запроса, изменение DOM, event'ы и promise, прототипы и наследования как реализуются, spread оператор (это три точки когда) как работает и т.д.

WebPack можешь просто почитать, что такое, в React'е он уже настроен и изучить уже на примере будет проще. Многие курсы по React объясняют, что это такое, если тебе попадется такой курс, то по ходу изучения React познакомишься. Не прям обязательно перед этим изучать.

Роутинг идет отдельной библиотекой к React, удивительно как ты с ним разобрался, если React не начинал)) После того как изучишь React, можешь дополнения к нему изучить такие как роутинг, redux, axios, стили как подключаются и т.д. Это все обычно с книгами и курсами по React объясняются дополнительные библиотеки.

Вебсокеты -- не думаю, что прям обязательно знать. Часто их и не спрашивают, да если и спросят, то можно сказать, что служит, чтобы получить сообщение с сервера, когда сервер является инициатором. Т.е. по HTTP ты можешь послать серверу запрос и сразу получить ответ, а когда хочешь получить ответ от сервера (например, тебе кто-то написал в ВК или в друзья добавился), то создаешь соединение через веб сокет и слушаешь, не отправит ли тебе сервер вдруг данные.
Похожие вопросы