Я ищу лучшую возможность для написания веб-приложений, насыщенных JavaScript. Поэтому я хотел бы представить вам свои идеи и спросить ваши мнения и альтернативы по этому вопросу, пожалуйста:)
1 год назад я начал искать возможности для веб-разработки помимо PHP. Я нашел JSP и Django. Я решил пойти с Джанго. После запуска некоторых проектов с Django я пришел к выводу, что Django, для меня, не предоставляет возможности для простой веб-разработки. Мне нужно беспокоиться о слишком большом количестве функций и особенно о необходимости сохранять баланс между кодом клиента и сервера.
Итак, я снова начал поиск и нашел CouchDB, который предоставляет своего рода классный бэкэнд для приложений Ajax. Поэтому моя идея заключалась в том, чтобы использовать CouchDB в качестве сервера базы данных, который обеспечивает только проверку и хранение данных, а все остальное - клиенту. Что, по-видимому, вовсе не новая идея, но я пока не нашел хорошего примера по этому поводу. Знаете ли вы?
Я бы хотел иметь архитектуру со следующими компонентами:
- хранение и проверка данных (CouchDB)
- веб-сервер: который обрабатывает файлы и WebSockets или Polling (Tornado или Eventlet)
- клиентский JavaScript для обработки всего остального (fav: самописный MooTools)
- язык шаблонов на стороне клиента (вы знаете какой-нибудь крутой?)
Есть ли у вас какие-либо предложения по использованию другого программного обеспечения для этих точек?
, который обрабатывает запросы, подобные следующим:
Первоначальный запрос отправляет клиенту файлы JavaScript и базовый HTML (только теги <body>
и <head>
). Загруженные функции JavaScript создают HTML-код и вставляют его в тег <body>
. Отныне вся навигация по сайту запрашивает только JSON, который предоставляется через Websocket и обрабатывается клиентским JavaScript.
Плюсы:
- Весь код написан на JavaScript на стороне клиента
- Анимация по обновлениям может быть реализована очень просто
- Логика страницы будет очень легкой и прозрачной
- Вероятно, нет проблем с масштабированием на стороне сервера
- Очень высокая производительность приложений благодаря отличным возможностям кэширования на стороне клиента. Например, используя Webstorage
Минусы:
- Обработка шаблонов может быть очень медленной на компьютерах с низким аппаратным обеспечением?!
- Код приложения открыт для всех
Вопросы
- Знаете ли вы какое-либо доступное решение для такого рода веб-разработок?
- Как вы думаете, писать веб-приложения таким образом было бы чудом?
Пожалуйста, посмотрите также Ответ 2