2011-01-20 2 views
5

Что я имею в виду, так как направление, похоже, связано с тем, чтобы делать больше на клиенте ... Почему бы просто не иметь веб-сайт, который является только jquery/HTML на лицевой стороне и ничего, кроме веб-служб .NET, на заднем плане, что вызывается командами jquery ajax?Возможно ли создать или создать веб-сайт jQuery/.NET Service?

Это делается где угодно? Я не вижу, чтобы это делалось .. как получилось? Похоже на простое решение. Не нужно иметь дело с уровнем абстракции ASP.NET.

+1

Возможно, потому, что это не связано с «изящной деградацией» и «прогрессивным улучшением» - если пользователь отключил JS, сайт становится непригодным на 100%. – thirtydot

+1

Не имея JS включен, как работает Windows 3.1. Конечно, ничего нового и захватывающего не будет работать :) Люди с деньгами, потраченные, все используют браузеры с поддержкой JavaScript. – jmort253

+0

Я забыл о JS. Я надеюсь, что в 2011 году вы можете потребовать, чтобы у людей был браузер, который его использует – punkouter

ответ

0

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

+0

Так кажется, что эта концепция была сделана во всем, кроме .NET. Я действительно удивляюсь? Мне, должно быть, не хватает какой-то большой причины, почему никто этого не сделал. – punkouter

+1

Не знаю, я уверен, что у кого-то есть, просто я об этом не знаю. Это хорошая вещь о наличии протокалла. Обе стороны согласны отправлять JSON через HTTP и какие языки используют каждая из сторон, гибко –

3

В Google есть демонстрация, демонстрирующая эту методологию, на которую вы ссылаетесь. Это Autoshoppe Demo для Google App Engine. Хотя это Java, эти концепции также применимы к приложениям .NET.

Приложение содержит простые HTML-страницы ванили с расширениями .html. Нет технологий просмотра на стороне сервера, чтобы усложнить жизнь программиста HTML. На страницах HTML используется JavaScript AJAX для взаимодействия с веб-службами REST, созданными с использованием Spring 3.0, которые взаимодействуют с хранилищем данных.

  • Данные запроса передается как JSON в запросе
  • Данные ответ возвращается в качестве JSON в ответе.

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

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

Он также требует довольно сильного понимания REST, чтобы увидеть преимущества, предлагаемые этим методом, а младшие разработчики иногда борются с этими понятиями.

Если вы решили заняться этим в .NET, используя демонстрацию AutoShoppe в качестве ориентира, скорее всего, вы захотите использовать объект mapper, который может преобразовать ваш JSON в объект .NET и обратно в JSON. Это гораздо более чистый подход, чем попытка самостоятельно разобрать JSON.

Преимущества этого подхода RESTful заключаются в том, что ваш контент, поведение и презентация полностью, на 100% отделены от точки, где вы могли бы дать вашему веб-программисту файлы HTML, и он/она может запускать их полностью за пределами. NET. Затем ваши дизайнеры могут использовать свои инструменты и сосредоточиться на своих сильных сторонах, не имея необходимости устанавливать, настраивать или запускать Visual Studio.NET. Фактически, файлы будут работать прямо с рабочего стола.

EDIT: Возможно, недостатком является то, что во многих инфраструктурах MVC не так много поддержки, главным образом потому, что это новая концепция. Мост между клиентской стороной и серверной частью должен быть написан разработчиком.

В демонстрации AutoShoppe разработчики написали класс прототипа в JavaScript, чтобы обрабатывать преобразование данных в JSON перед отправкой на сервер, и им пришлось написать код JavaScript для сортировки JSON в объектах JavaScript и манипулировать этими данными обратно в HTML , На стороне сервера они использовали Object Mapper для десериализации JSON для объектов. Большая часть сложности была на сервере.

Преимущества превращения компонента на стороне сервера в 100% -ный многоразовый сервис RESTful, с которым дизайнеры и клиенты могут легко взаимодействовать, могут уменьшить вес недостатков, в зависимости от сценария. Хорошим примером может служить услуга, в которой вашим клиентам рекомендуется кодировать свои собственные пользовательские интерфейсы или иметь полный контроль над whitelabeling продукта. Это одна из многих причин why I won't use server side view technologies.

+0

, так почему веб-сервисы REST вместо обычных мыльных веб-сервисов? Я полагаю, что самая сложная часть будет заключаться в создании клиентских шаблонов и необходимости делать в jquery то, что было сделано автоматически для вас с помощью viewstate, может быть? Странно, что есть новые .NET-доказательства понятий этого, учитывая чрезвычайно приятное разделение проблем. – punkouter

+0

А где .NET MVC вписывается в это? Нет концепции webform .. но вместо вызова веб-службы, чтобы затем заполнить HTML на стороне клиента, он перезагружает весь HTML со стороны сервера. – punkouter

+0

@punkouter - REST более гибкий и намного более простой, чем SOAP. REST может поддерживать сложную многоуровневую систему или простой сервис, доступный только через URL-адрес. Одним из недостатков является то, что в настоящее время нет простого способа обработки автоматических просмотров. Я обновлю свой ответ, чтобы задуматься. Для веб-форм вы должны использовать AJAX для отправки запроса и использовать метод обратного вызова для обновления полей формы. Нет необходимости делать полное обновление, что делает веб-страницу более насыщенным интернет-приложением. – jmort253

Смежные вопросы