Web Dev Stacks - GONE WILD --- Лучшая практика архитектуры и развертывания? - PullRequest
3 голосов
/ 05 ноября 2019

Я столкнулся с проблемой, с которой, я уверен, сталкиваются многие новые / младшие веб-разработчики. Прежде чем я констатирую проблему, лучше сначала перечислить события, которые привели меня к «проблеме».

Шаг 1 - Front-End: я следовал учебным пособиям, которые позволили мне создать проект Vue, используяvue-cli - у меня теперь есть хороший внешний интерфейс, готовый к работе, хотя и в некотором роде "автономный". Он находится в своем собственном каталоге.

Шаг 2 - Back-End: я двигаюсь дальше, я начинаю смотреть на Back-end. Laravel хорошо играет с Vue, поэтому я согласен. Я снова следую инструкциям, создаю базу данных и API. Фантастика.

Теперь у меня есть базовые элементы barebones для приложения CRUD. Однако способ соединения задней и внешней частей кажется запутанным (хотя это может быть связано с моей неопытностью и неправильным пониманием).

Решение 1. Некоторые учебные пособия настаивают на том, что проект Vue "воссоздан"«в каталогах Laravel, поэтому Laravel отвечает за рендеринг представлений.

Решение 2. Из всего, что я могу сказать, держите их физически отделенными и взаимодействуйте с интерфейсом только с Laravels API.

Каковы лучшие практики, когда дело доходит до стековой архитектуры? Должны ли мы стремиться связать стек вместе, как предложено в решении 1? Возможно ли решение 2 или это из-за моего недопонимания? Если это так, как осуществляется развертывание?

1 Ответ

1 голос
/ 05 ноября 2019

С моей точки зрения, оба являются правильными, и ответ зависит от того, что вы хотите построить First

Во-первых, если у вас есть простой веб-сайт, и вы хотите, чтобы его интерфейс был vueи это только один веб-сайт, вы можете собрать все это вместе и сделать фронтенд в Vue, который обрабатывается laravel в бэкэнде, и все готово.

Во-вторых, шаг вперед для этого случая, что вы можете иметь несколько интерфейсов для вашего проекта. Пример: у вас есть веб-сайт и несколько (нативных или универсальных) приложений для отображения ваших данных. В этом случае вы можете создать API, который обрабатывает всю логику, все бизнес-секреты и все такое, что никто не должен знать подробно. После этого вы можете свободно создавать любой интерфейс (Vue, native, plain-HTML) и т. Д.), Который вам нравится, единственная цель - показать данные, которые API возвращает (с небольшой долей логики, причины,но секретная бизнес-логика скрыта в API). Вы даже можете произвести генерацию приложения на стороне, поэтому вы создаете веб-интерфейс в Vue, а другой может создать ios-приложение с помощью swift или приложение для Android с kotlin.

Надеюсь, вы поняли,Ответ, как часто: это зависит ?

...