Модернизация существующего приложения Backbone для рендеринга на стороне сервера с помощью node.js?

У меня есть веб-приложение, чья текущая структура заключается в том, чтобы отображать все в браузере с помощью backbone.js и шаблонов на стороне клиента, извлекая весь динамический контент из JSON API на основе Python. Некоторые приложения достаточно содержательны, поэтому я был бы не против предоставить их Google и поддерживать клиентов, отличных от JS, поэтому я обдумывал переход на архитектуру, в которой первый запрос обрабатывается приложением Node, которое отображает первую страницу и обслуживает ее обработанной, после чего Backbone возьмет на себя управление клиентом, если JS включен для обработки последующих запросов, как они работают сейчас.

Я знаю о нескольких попытках (например, Development Seed) реализовать именно такую ​​стратегию, но они, кажется, ожидают, что приложение будет спланировано заранее с учетом их использования, чего, к добру или к худу, у меня не было.

Я ищу инструменты, библиотеки и т. д., которые облегчили бы этот переход. Бонусные баллы, если будет практично предложить немного другой опыт в некоторых областях для клиентов, не использующих JS. Мысли?


person Andrew Pendleton    schedule 27.08.2012    source источник
comment
На самом базовом уровне Node.js будет отображать что угодно, используя встроенный механизм шаблонов Jade (что очень удобно, IMO). Я не понимаю, в чем проблема с объединением рендеринга на стороне клиента. Ваше приложение должно отображать хоть что-то, хотя бы <head>, куда вы будете включать JS-файлы и т. д.   -  person mvbl fst    schedule 28.08.2012
comment
Да, в основном в тот момент, когда вы запрашиваете / (или что-то еще, что не является конечной точкой API), вы получаете страницу с ‹head› со скриптами и пустым телом, а магистральный маршрутизатор выясняет, что отображать. , захватывает его через API и отображает тело на клиенте. Я хотел бы взять эту существующую инфраструктуру маршрутизации/рендеринга и перейти на сервер, чтобы первоначальный запрос получил тело, которое уже заполнено, и мне интересно, есть ли библиотеки, которые упрощают это.   -  person Andrew Pendleton    schedule 28.08.2012


Ответы (1)


У Airbnb была хорошая статья об этом. Я предполагаю, что это пространство будет развиваться довольно быстро в течение следующих нескольких месяцев.

http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product

person philfreo    schedule 04.02.2013
comment
Очень хорошие статьи. Спасибо, что поделился. - person AlessMascherpa; 09.02.2013