В 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.
Возможно, потому, что это не связано с «изящной деградацией» и «прогрессивным улучшением» - если пользователь отключил JS, сайт становится непригодным на 100%. – thirtydot
Не имея JS включен, как работает Windows 3.1. Конечно, ничего нового и захватывающего не будет работать :) Люди с деньгами, потраченные, все используют браузеры с поддержкой JavaScript. – jmort253
Я забыл о JS. Я надеюсь, что в 2011 году вы можете потребовать, чтобы у людей был браузер, который его использует – punkouter