В чем разница между терминами «пользовательский интерфейс, отображаемый на стороне клиента» и «на стороне сервера»? - PullRequest
0 голосов
/ 12 января 2010

В чем разница между термином «пользовательский интерфейс, отображаемый на стороне клиента» и «на стороне сервера»?

Какие-нибудь примеры технологий?

  • UI Client Side =?
  • UI Server Side =?

не только веб-разработка - отстой Я полагаю, что на стороне сервера ничего не отображается?

Ответы [ 4 ]

4 голосов
/ 12 января 2010

Я предполагаю, что веб-среда.

Клиентская сторона

Страница, которая использует JavaScript для создания окончательного DOM, его рендеринга на стороне клиента. GWT по примеру. AJAX в целом.

Если вы используете Flash, вы также используете рендеринг на стороне клиента. Плагин, который рисует все.

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

Серверная часть

На стороне сервера будет страница JSP (или любая другая технология) для создания окончательного HTML. В любом случае, браузер - это тот, кто выполняет рендеринг, но решение «есть 5 клиентов, так что есть пять строк по одной с каждым LastName», принимается на стороне сервера, а не на стороне клиента.

2 голосов
/ 12 января 2010

Если вы говорите о веб-среде, то:

Сторона сервера относится к любому html-файлу, который генерируется на сервере (например, в ASP.NET) и отправляется в веб-браузер. Это, вероятно, большая часть веб-страницы.

Клиентская сторона относится ко всему, что запускается в браузере и изменяет html страницы оттуда. Обычно это означает, что Javascript (с одной или несколькими библиотеками Javascript, такими как jQuery) манипулирует документом веб-страницы (DOM), когда он уже находится в веб-браузере.

Например, в мире «Ajax» это часто означает, что сервер визуализирует начальную веб-страницу, но этот javascript на клиенте затем вносит изменения в веб-страницу. в ответ на пользовательский ввод (вероятно, фактически связавшись с сервером за кулисами), без необходимости фактически отправлять всю страницу обратно на сервер для повторного рендеринга.

1 голос
/ 12 января 2010

Я считаю, что для того, чтобы клиент / сервер классифицировался как «рендеринг» чего-либо, он должен включать в себя некоторую форму расчета, основанную на некотором входном сигнале, для получения выходных данных, предназначенных для просмотра или печати. Кроме того, мы должны посмотреть, сколько работы делается, условно говоря, чтобы получить результат.

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

Лучше подумать о Примерах приложений и попытаться описать их в терминах клиент / сервер.

  • Настольное приложение, которое считывает базу данных и отображает ее данные, выполняет рендеринг на стороне клиента.

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

  • Игра Direct3d, которая загружает данные вершин с сервера, является клиентской

  • Однако, если данные вершин являются динамическими, и серверу необходимо выполнить некоторые вычисления, чтобы их обслужить, то можно также утверждать, что выполняется рендеринг клиент + сервер.

  • Веб-страницы почти всегда представляют собой смесь клиент + сервер, особенно те, которые основаны, например, на Asp.Net, JSP или PHP; поскольку вывод страницы является динамическим и, следовательно, HTML должен быть «отрендерен» сервером, а затем отрисован клиентом.

Трудно дать конкретные ответы для любой единственной технологии.

Windows Forms, Direct3D, OpenGL, iPhone и др., Flash, Pure WPF, Silverlight и все остальные могут быть просто пользовательским интерфейсом на стороне клиента, а в зависимости от приложения - смесью.

Полагаю, вы могли бы поспорить, однако, что не существует такого понятия, как чистый пользовательский интерфейс на стороне сервера (не могу дождаться комментария от того, кто может указать на него!)

0 голосов
/ 12 января 2010

Я полагаю, что рендеринг в этом смысле = процесс создания некоторых данных «что я должен отобразить», а не фактическое преобразование «того, что я должен отобразить» в растровое изображение, отображаемое на дисплее.

  • UI Client Side = формы Windows, XPF, Delphi, Qt, GTK, ....
  • Серверная часть = HTML + CSS
...