Фреймворки JS/PHP или JS/(foo) для построения full ajax систем?
Здравствуйте. Интересуюсь на ночь и на следующий день вопросом построения full ajax систем.
Не я один наверное по этому поводу думал, поэтому ищу какие-нибудь готовые системы.
По моему имхо мне кажется, что в таких системах контроллер и представление полностью вынесено в браузер, а сервер заправляет только за моделью — фактически, как API вконтакте с сессиями и куками и передает все данные по json.
Желательно jQuery в качестве основы для работы с событиями приложения, php в качестве сервера. (мне кажется, что для удобства разработки это достаточно интегрированная система, поэтому написал так)
Мне кажется, что работать оно должно как-то так:
Есть некий код в JS браузере, который динамически по требованию подгружает представления, и другие контроллеры (читай подписчики событий на jQuery), и то и то является статическими данными по сути. Далее код обращается к серверу, что бы подгрузить данные. Система конечно же должна быть оборудована шаблонизатором, я где-то видел в плагинах jQuery. Система наверняка кеширует представления и контроллеры и вероятно есть функциональность для кеширования данных. Желательно система должна как-то сама подгружать дополнительные стили представления, при чем не знаю как, но лучше что бы они не конфликтовали (динамическая подгрузка/выгрузка).
Ну вот что-то вроде этого я ищу. Подскажите что есть, чем пользуетесь, какие отзывы, буду благодарен.
Используем Backbone.js и очень довольны. Хорошая документация, есть куча доп. информации (на stackoverflow backbone.js популярный тег) и howto. Логику отделяем от Въюшек (создается отдельный контроллер), таким образом не захламляется код. Но в большинстве howto роль контроллера выполняет View. На вкус и цвет… Так же есть хороший шаблонизатор, хотя можно прикрутить и другой.
Приложения собираем с помощью Ant, но в сети есть и куча других примеров (r.js например) backbonetraining.net/resources — множество полезных ссылок
pure PHP для чего-то очень простого сгодится, для среднего приложения удобнее использовать микрофреймворки, типа, Slim или Silex. На них можно быстро реализовать REST API для доступа к данным.