@NikSIk31

Какой путь изучения выбрать для изучения построения SPA с SSR?

Здравствуйте! Хочу сделать веб приложение для практики и в перспективе для дальнейшего использования как продукта. Для этого мне посоветовали laravel + vue (т.к. у меня раньше был опыт в создании простого сайта с js, php, вот и решил перейти на фреймворки). Немного разобравшись в laravel, я решил продолжить с vue и заодно поглядываю на SPA приложение.
Вопрос: как мне лучше плавненько подойти к разработке SPA, что я должен ещё изучить и в какой последовательности? (Мб какие-то другие фреймворки/библиотеки). Хочу сделать с поддержкой индексации, слышал, что для этого SSR надо, что для него изучать? Думаю, в любом случае необходимо начать с Вью, а вот дальше как хотелось бы услышать у опытных разработчиков.
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dimuska139
Backend developer
  1. Изучаешь Laravel (или что-то более простое, потому что большая часть функций для SPA-сайта тебе из него не потребуются все равно - погляди в сторону Lumen, например). Всякие шаблонизаторы и т.п. изучать не надо. Просто взаимодействие с базой (создание моделей, миграции), кешем, чтение конфигов, написание тестов и т.п., что надо для создания API
  2. Разбираешься, как делать API, как авторизовываться через токен, осваиваешь swagger, чтобы делать (или даже генерить) документацию к API - она тебе очень пригодится, когда будешь делать фронтенд. Не пропускай этот этап
  3. Разбираешься, как покрывать проект тестами - и покрываешь ими свое API.

На этом бэкенд-закончен.

Что касается фронтенда, насчет Vue тебе не скажу, потому что знаю только React, но я действовал так:
  1. Освоил React, разобрался с жизненным циклом компонентов, props, prop-types, понял, как прикручивать стили и т.п.
  2. Освоил Redux и redux-thunk
  3. На этом шаге научиться хорошо бы писать тесты для фронтенда, но я, каюсь, пока забил на это
  4. Прикрутил к проекту NextJS, который позволяет рендерить React-приложения на сервере


Ну и, конечно, важно разобраться, как это все разворачивать на сервере. То есть разобраться, как устанавливать и настраивать Nginx, базы данных (sql/nosql), php/python, прикручивать ssl-сертификат к сайту. Еще советую освоить Docker (и docker-compose). Но не потому, что это модно, а потому что его удобно использовать для локальной разработки.

И еще совет: не делай сразу что-то огромное в плане функциональности - задолбаешься. Сделай просто пару-тройку методов АПИ, а к ним начинай делать фронтенд. Потому что сложно долго что-то пилить и не видеть результат. А так уже будет что-то, чем можно будет гордиться. :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы