Javascript-фреймворки/движки для создания сайта, работающего в браузере клиента?
Прошу прощения за сумбурный заголовок. Не знал, как сформулировать правильно, чтоб было сразу понятно.
У меня есть задача создать "сайт", который должен работать в браузере пользователя.
Принцип действия - отправка/прием запросов и ответов к/от REST API определенного сайта, с последующей визуализацией данных пользователю.
То есть, юзер заходит, допустим на localhost/index.html (к которому подключены jquery, скрипты для общения с API, и др.), попадает на страницу логина. Вводит данные, жмёт Sign in, AJAX отправляет данные серверу, сервер в json присылает ответ (профиль пользователя). Скрипт обрабатывает ответ, "натягивает" данные на шаблон, и отображает шаблон с нужными данными пользователю, скрывая при этом форму логина.
Примерно таков весь принцип действия, серверная часть нужна лишь для доступа к html-кам, css, js.
Вопрос: Что может помощь в реализации этого замысла? Существуют ли готовые Javascript-фреймворки, "cms"-ки?
Для того чтобы всем было проще вам ответить, советую написать чем отличается то, что вы хотите сделать от "обычного" сайта? Сделайте акцент на особенностях, покажите разницу между требованиями к "обычному" и к вашему.
Interface, имеется в виду то, что сайт не должен иметь исполняемой серверной части. Вся логика должна быть завязана на JS и исполняться локально на компьютере клиента, используя хранилище браузера для сохранения данных. Все что касается сайта: js-шаблонизатор, клиент rest, и др.
Задача сервера единственная: при открытии, допустим, localhost/, отдать юзеру index.html и все ресурсы, что с ним связаны. Логика и работа сайта должна выполнятся на компьютере клиента, то есть в браузере.
К примеру, сайт лежит на голом lighttpd, клиент переходя по ссылке, запрашивает index.html, браузер получает index.html соответственно, подгружает необходимые css, images, js. На этом задача сервера всё. Дальше сайт работает локально, используя AJAX для передачи данных между сайтом и сервером.
По сути все что вам нужно - это написать SPA (как уже писали выше), потому что у вас не может быть серверной шаблонизации. Для этого можно использовать любой инстурмент по душе.
При этом ваше приложение (SPA) будет ходить в API стороннего сервиса (который должен это поддержать).
Короче говоря, вам нужен самый обычный SPA, только у него будет особенность в том, что сервер отдающий статику и сервер API будут разные. Что не вызовит у вас проблем, если сервер API это поддержит. Если у вас возникают вопросы - скорее всего они либо про написание SPA, либо про AJAX & CORS etc. Но это уже не какая-то уникальная проблема и это все гуглится