Мой проект был бы своего рода craiglist, местом, где пользователи могли публиковать анонсы (объекты жизни, автомобили, квартира и т. Д.). Итак, аутентификация, страница профиля, создание контента, отображение продаваемых объектов и т. Д.Клиентская или серверная структура?
Я разработал очень большую часть бэкэнд: у меня есть API RESTful в трехуровневой архитектуре, разработанной в Java. Он создает связь с db, чтобы предоставить мне разные URL-адреса и отправить мне соответствующий JSON.
URL, например:
http://api.mywebsite.fr/user?userid=1 посылает меня:
{"user": {"username": "jdoe1234", "email", "[email protected]"}}
У меня есть адреса для всех действий, выполняемых на всей территории (создание, обновления Анонс последние данные ... все, и я тщательно декларировали их POST, GET, UPDATE, DELETE и т. д.). Существует также oAuth для защиты API от запросов, которые не разрешены для токена.
Это все для аспекта «сервер», я думаю, что с этим нет никаких проблем.
Но если все действия управляются веб-сервисом, я не вижу интереса, который может принести мне большую инфраструктуру на стороне сервера, такую как Symfony/cakePHP, Zend и т. Д., Чтобы сделать HTTP-запросы в разных точках входа , извлекать JSON и заполнять HTML.
Итак, я посмотрел на инфраструктуру клиента, например, на Угловое, Ember и т. Д. Сначала мне показалось, что это очень подходит для моего случая: возможность HTTP-запросов, управление тем, что делать в случае успеха или ошибки, непосредственно использовать полученный JSON для заполнения вида и т. Д.
Мне даже не удалось сделать мой выбор между angularjs и Ember, оба очень похожи, но с выпуском Angular v2 я опасаюсь поддерживаемости v1 (если я выберу Angular, это будет v1, потому что большинство уроков и вопросов относятся к Angular 1.X).
Я не знаю, правильно ли я делаю это, выбирая рамки на стороне клиента, я боюсь, что они «бразильские» (не уверенные в этом слове, извините) меня. Кроме того, он полностью создан в браузере, поэтому пользователь может полностью изменить весь код и данные, которые я предоставляю. Мне это кажется странным.
Я хочу быть абсолютно уверенным в технологии, которую я использую, если я сделаю это приложение доступным для общественности, например. Я хочу делать все правильно, чтобы избежать проблем с ремонтопригодностью или безопасностью.
Резюме: С теми вещами, которые у меня уже есть (webservice/api), неплохо использовать клиентскую инфраструктуру, такую как Angular, или я должен оставаться на большой стороне сервера, например Symfony/Zend и т. Д.? Зная, что я позиционирую себя в контексте, в котором эта платформа будет широко использоваться (сопоставимый трафик).
Зачем исправить то, что не сломано, или ввести внешние зависимости, которые вы говорите, не нужны? – dandavis
На самом деле у меня есть только API для бэкэнд, поэтому мой вопрос здесь заключается в том, чтобы знать, что для меня лучше использовать API. На данный момент я не использую рамки сервера или клиентской стороны :) – Nuzzob