frost18
@frost18
Программист PHP

Что использовать на backend для SPA приложений?

Мой проект работает на Yii2 и MySql на бэкенде и JS с jQuery на фронте. Сейчас я понимаю в необходимость SPA архитектуре, Angular или React пока не определился. Понятно одно, что толстый клиент обменивается JSON данными по средству REST API. Мне не понятно что использовать на сервере для обработки API запросов приложения. В будущем планируются мобильные приложения, так что на сервере мне хочется иметь одну логику работы.

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

Есть вариант использовать Node.js, но это надо еще время на изучение, переписать логику с его асинхронностью. Так же возникает вопрос в рациональности использовать базу mySql или же переходить на mongoDB, как организовать архитектуру, есть ли фреймворки или достаточно express использовать.

Что лучше на данный момент использовать на бэкенде и что на практике используют чаще?
  • Вопрос задан
  • 3131 просмотр
Пригласить эксперта
Ответы на вопрос 3
qonand
@qonand
Software Engineer
Yii2 или другой php фреймворк, то какой вообще в нем смысл если бОльшая часть его функционала будет не нужна, контроллеры, экшены, роутинг,

С чего это вдруг? Для REST API как раз контроллеры, роутинги и т.п. ой как нужны

т.д, по сути мне от него нужны только модели будут и все.

А вот как раз модели лучше делать независимыми от фреймворка, т.к. модели это бизнес-логика, и когда она зависит от фреймворка это Bad Practice

Так же возникает вопрос в рациональности использовать базу mySql или же переходить на mongoDB

Рациональность использования базы данных никаким образом не относиться к взаимодействию с API. Без разницы используете ли Вы REST API или нет. Все зависит от того какие задачи решает Ваш проект, какие данные в нем хранятся, какие требования у Вас к базе и т.п. Во общем ответ на этот вопрос зависит от множества факторов и индивидуален для каждой задачи. Есть ряд задач для которых оптимальным является использование реляционной СУБД, есть задачи для которых лучше использовать документированную базу.

Что лучше на данный момент использовать на бэкенде и что на практике используют чаще?

Все опять таки зависит от Ваших требований и задач. Нужно сделать быстрое приложение за короткое время - используйте Yii, нужно сделать приложение с хорошо организованной архитектурой используйте Symfony
Ответ написан
Комментировать
gadfi
@gadfi
https://gamega.org
если вам не нужен серверный рендеринг то особого преимущества в node.js нет
если у вас все работает на mysql то смысла переходить на mongodb тоже нет, nosq нужно использовать с умом и когда он нужен, если он не нужен то и не нужно его использовать
Вот если я буду использовать Yii2 или другой php фреймворк, то какой вообще в нем смысл если бОльшая часть его функционала будет не нужна, контроллеры, экшены, роутинг, хелперы и т.д, по сути мне от него нужны только модели будут и все

а в чем проблема то ?
если вы хорошо знаете Yii2 используйте его, не знаете Yii2 но знаете php возьмите микрофреймоврк slim или аналог
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Мне не понятно что использовать на сервере для обработки API запросов приложения

www.yiiframework.com/wiki/748/building-a-rest-api-...

Сейчас я понимаю в необходимость SPA архитектуре

Возможно в этом и есть необходимость, но из описания не очевидно

Вот если я буду использовать Yii2 или другой php фреймворк, то какой вообще в нем смысл

Создание REST api почти в две строчки кода

Есть вариант использовать Node.js

Да есть такой вариант

использовать базу mySql или же переходить на mongoDB

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

Что лучше на данный момент использовать на бэкенде и что на практике используют чаще

Лучше использовать то что знаешь и то что подходит под проект. А вот чаще используют wp, но вряд ли это значит, что стоит его использовать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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