Я создал бэкэнд REST API с использованием Django и сейчас нахожусь на стадии разработки клиентского интерфейса. Однако я не могу понять, как должен быть структурирован этот клиентский интерфейс и какие языки он должен использовать.
PHP на стороне сервера, и обычно используется в качестве языка для создания бэкэндов. В сочетании с такой структурой, как Codeigniter, ее также можно использовать для работы с сеансами, маршрутизации URL-адресов и выбора шаблонов. Хотя я не верю, что его можно использовать для вызова моего REST API для извлечения ресурсов (здесь может быть неправильно, поправьте меня, пожалуйста, если есть).
Javascript ориентирован на клиента, но используется только после того, как веб-страница была получена с сервера. AngularJS великолепен, но из того, что я прочитал, кажется, он только помогает добавить очень динамичную функциональность в уже отрисованные статические страницы.
Я действительно открыт для любых идей, предложений и советов, основанных на вашем опыте создания клиентских интерфейсов. Итак, вернемся к моему первоначальному вопросу: как структурировать клиентский интерфейс REST, какой язык лучше всего подходит для этой цели и какие фреймворки следует использовать?
Обновление 1
Кто-то спросил, будет ли этот клиентский интерфейс запускаться в браузере — ответ — да, так и будет. Я пытаюсь создать интерфейс веб-клиента в стиле Twitter, который взаимодействует с интерфейсом REST API в стиле Twitter. По сути, все, что вы видите там, когда заходите на сайт Twitter.
Отдых действительно, действительно не нов. Это было частью HTTP, по крайней мере, так же, как HTTP 1.1
Посмотрите на этот вопрос: Интерфейс Backbone.js с бэкэндом RESTful Rails? В верхнем ответе перечислены 20 возможных рамок для построения внешнего интерфейса.
Поскольку это браузер, я бы использовал только HTML / JavaScript. Нет необходимости использовать PHP или любой язык на стороне сервера ИМХО. Преимущество в том, что он чрезвычайно портативный.
Для этой цели я бы также использовал JS-фреймворк (в настоящее время эта тенденция представляется угловой).
Спасибо за вашу помощь всем. Нашел именно то, что искал здесь:
http://docs.python-requests.org/en/latest/
Хорошая небольшая библиотека для Python, которая позволяет мне в основном делать вызовы к REST-серверу из приложения Django, которое служит моим внешним интерфейсом.
AngularJS также будет использоваться для того, чтобы сделать статические страницы, которые Django возвращает, более динамичными. Зачем? Потому что AngularJS сам по себе может быть полным решением только если Весь ваш сайт состоит из одной страницы. Если у вас есть несколько страниц, каждая из которых имеет свой собственный набор динамических элементов, вам нужна комбинация Django и AngularJS.
Очевидно, REST все еще довольно новый, и, похоже, не так много людей, которые сталкивались с таким фундаментальным вопросом, как я.
Еще раз спасибо!