Ориентированная на сервер или клиент-ориентированная архитектура

StackOverflow https://stackoverflow.com/questions/40723

  •  09-06-2019
  •  | 
  •  

Вопрос

Для типичного бизнес-приложения следует сосредоточиться на обработке клиента с помощью AJAX, т. е. извлекать данные с сервера и обрабатывать их на клиенте, или вы предлагаете более классический подход ASP.Net, при котором сервер отвечает за обработку большинства событий пользовательского интерфейса? Мне трудно придумать хорошую «архитектуру по умолчанию», с которой можно начать. Может быть, у кого-то есть пример приложения с открытым исходным кодом, которое они могли бы порекомендовать.

Это было полезно?

Решение

Это действительно зависит от приложения и ситуации, но имейте в виду, что каждое попадание на сервер обходится дорого как с точки зрения увеличения нагрузки (возможно, минимально), так и с точки зрения отзывчивости пользовательского интерфейса. Я считаю, что делать что-либо в JavaScript, когда это возможно, - хорошая идея, если это может сделать ваш интерфейс более быстрым.

Конечно, все зависит от того, что вы пытаетесь сделать, и от того, имеет ли значение, является ли пользовательский интерфейс быстрым (внутреннему веб-приложению, вероятно, не требуется дополнительная разработка, чтобы сделать пользовательский интерфейс более привлекательным и более быстрым / простым в использовании в то время как то, что используется широкой публикой массовой аудиторией, вероятно, должно быть как можно более отшлифовано и настроено).

Другие советы

Это сильно зависит от приложения и пользователя. В общем случае, однако, вы всегда будете лучше масштабироваться, и пользователь получит лучший опыт, если на клиенте будет происходить как можно больше обработки.

Кроме того, с помощью Google Gears и других подобных сред можно отделить клиента от сети и по-прежнему использовать приложение. Если весь пользовательский интерфейс находится на сервере, гораздо сложнее внедрить решение для роуминга.

Нужно ли доверять данным? Если это так, имейте в виду, что тривиально и злонамеренно подделывать данные, обработанные клиентом, очень просто. В таком случае вы захотите обработать информацию на сервере.

Также имейте в виду, что кодировать приложения javascript может быть намного сложнее, поэтому они стабильны, надежны и не содержат ошибок. Можете ли вы заблокировать своих пользователей, чтобы они использовали только один конкретный браузер?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top