ищу общий совет и / или мысли ...
Я создаю то, что я считаю скорее веб-приложением, чем веб-страницей, потому что я намереваюсь сделать его похожим на приложение Gmail, в котором вы бы оставляли страницу открытой весь день, а обновления «выталкивали» на страницу. (для интересующихся я использую технику программирования комет). Я никогда не создавал веб-страницы, которые были бы настолько богаты ajax и javascript (теперь я большой поклонник jquery). из-за этого, снова и снова, когда я внедряю новую функцию, которая требует динамического изменения пользовательского интерфейса, о котором сервер должен знать, я сталкиваюсь с одним и тем же вопросом:
1) я должен сделать всю обработку на клиенте в javascript и отправить как можно меньше сообщений через ajax
или же
2) если я отправлю запрос на сервер через ajax, сделаю так, чтобы сервер выполнил всю обработку, а затем отправил обратно новый html. затем в ответе на ajax я делаю простое задание с новым HTML
Я был склонен всегда следовать за # 1. это веб-приложение, которое я представляю, может быть довольно болтливым со всеми запросами ajax. моя мысль сводить к минимуму максимально возможный размер запросов и ответов и полагаться на постоянно совершенствующиеся движки javascript для выполнения как можно большей части обработки и обновлений пользовательского интерфейса. я обнаружил, что с помощью jquery я могу сделать так много на стороне клиента, что раньше не смог бы сделать это очень легко. мой код JavaScript на самом деле намного больше и сложнее, чем мой серверный код. Есть также простые вычисления, которые мне нужно выполнить, и я выдвинул это на стороне клиента.
Полагаю, главный вопрос, который у меня возникает, заключается в том, должны ли мы ВСЕГДА стремиться к обработке на стороне клиента, а не к обработке на стороне сервера, когда это возможно? Я всегда чувствовал, что чем меньше сервер должен справляться, тем лучше для масштабируемости / производительности. пусть мощность клиентского процессора сделает всю тяжелую работу (если это возможно).
мысли?