Intro
В настоящее время я пишу очень стандартное приложение на основе Django (в основном фантастические CRM / списки контактов).Это своего рода работа, но, поскольку я продолжаю пытаться улучшить интерфейс с помощью все большего и большего количества кода пользовательского интерфейса AJAXy (с использованием jQuery), становится все труднее работать.Я получаю длинные блоки хрупких обработчиков событий jQuery, которые анализируют DOM, отправляют изменения обратно на сервер, возвращают некоторый JSON и пытаются обновить DOM, основываясь на этом.
Я чувствую, что наминимум, я, вероятно, хочу добавить некоторые шаблоны на стороне клиента в смесь.В качестве альтернативы, я мог бы попробовать перейти на JS-фреймворк и просто использовать свое приложение Django в качестве уровня абстракции базы данных.Или, хотя я знаю и люблю Python, я могу отказаться от приложения Django и попробовать использовать решение JS / Node.js или что-то подобное.
Кто-нибудь еще был в такой ситуации?Как ты это решил?
Цели дизайна
- СУХОЙ: я не хочу копировать свои модели или шаблоны (или, по крайней мере, больше, чем необходимо).
- Я хочу, чтобы посетители, заходящие на страницу, получали результаты для серверной стороны.
- Когда посетители нажимают на вещи, я бы хотел обрабатывать их с помощью шаблонов и рендеринга на стороне клиента и обновлять сервер через AJAX.вызовы интерфейса REST.
Итак ... как мне это сделать?Я собрал ссылки на несколько фреймворков и шаблонных систем.Без определенного порядка:
Это, очевидно, , используемый LinkedIn для решения аналогичной проблемы.Он использует Node.js на стороне сервера, который не идеален (я никогда не использовал Node), но, по крайней мере, он не основан на JVM.Похоже, что он неактивен на github - я нашел списки рассылки, где люди задавались вопросом, куда отправился сопровождающий.Звучит довольно неплохо - пост в блоге LinkedIn хорошо продает технологию, особенно возможность ее компилировать.Но, похоже, это просто шаблон.Этого достаточно для того, что я хочу?
Этот вариант имеет реализации как на Python, так и на JS, и кажется популярным ... но я никого не могу найтикоторый, кажется, использует шаблоны усов с Django.Это потому, что это слишком легко заслужить сообщение в блоге, или это невозможно или иначе нежелательно?Это также довольно ограничено;как минимум, мне, вероятно, понадобится обратиться к какой-то среде MVC JS, верно?
Магистраль, Spine, KnockoutJS, EmberJS, JavascriptMVC и т. д. фреймворки, это довольно сложно.Все они на первый взгляд кажутся совершенно хорошими.Похоже, мне нужно было бы переписать ЛОТ моего приложения, если бы я пошел по этому пути, и я действительно хотел бы найти кого-то, кто уже сделал что-то подобное.Кроме того, было бы неплохо, если бы у кого-нибудь из Джанго был четкий выбор;Я не хочу изучать полдюжины различных фреймворков для их оценки. DerbyJS
Это выглядит интересно, так как обрабатывает как клиентскую, так и серверную стороны водна упаковка, но немного незрелая.Они предупреждают против использования его в производстве, и если я понимаю документы, он еще не поддерживает какую-либо форму постоянства, которая ... ограничивает.У меня такое ощущение, что если бы оно было закончено, это было бы идеально для того, что я хочу, хотя ...
Так ...
Так, э-э ...что теперь?Кто-нибудь использовал любой из этих инструментов, чтобы попытаться добавить рендеринг на стороне клиента в веб-приложение Django?Как все прошло?