WCF jQuery Support

Últimamente el equipo de Microsoft dedicado al desarrollo de WCF ha venido desarrollando algunos proyectos que mejoren nuestra experiencia al desarrollar aplicaciones con WCF y especialmente en el consumo de nuestros servicios a través de clientes HTTP, una de estas iniciativas es el proyecto WCF Support for JQuery , dicho proyecto consiste en un API que nos permite que nuestros clientes web interactúen fácilmente con nuestros servicios WCF a través del intercambio de objetos JSON .

Por otra parte este proyecto es de código abierto y lo podemos encontrar en wcf.codeplex donde además de este proyecto ser irán sumando otros proyectos que el equipo de WCF vaya desarrollando para extender el desarrollo de WCF.

Cuando instalen el paquete de instalación WCF jQuery Support, este añadirá una nueva plantilla entre nuestras aplicaciones web que además nos muestra un sencillo ejemplo de como empezar a usar esta API y como consumir y enviar objetos JSON desde nuestro cliente WEB.

La documentación de este proyecto aún está en proceso de desarrollo pero puede ver sus avances aquí.

Además dos ejemplos: Envió de datos de un formulario HTML y Manejando una colección de objetos desde el servicio.

DNJ un Framework JQuery para .Net

DNJ  es un Framework JQuery para desarrollo de aplicaciones ASP .Net el mismo trata de hacernos la vida mas facil a la hora realizar desarrollos basados en el uso constante de JQuery y Ajax, por medio de DNJ podemos realizar llamadas a métodos de manera remota y provee muchas otras funciones  para extender el comportamiento Ajax de nuestros controles entre ello la posibilidad de convertir todos nuestros controles web en controles ajax.

Por otra parte DNJ posee una serie de controles JQuery UI que ademas son wysiwyg y entre los cuales se encuentran Tabs, accordion, Datepicker, slider y themeswitcher.

En mi opinión es una buena alternativa para aplicaciones cargadas con mucho logica del lado del cliente y que aprovecha las bondades de JSON y JQuery.

Para visitar la pagina de DNJ pueden hacer click aquí donde además de descargar el Framework DNJ tendrán acceso a la documentación.

¿Por qué debo empezar a usar JQuery?

Para los que no lo saben, JQuery es una librería javascript que permite de una manera bastante rápida y sencilla acceder y manipular el HTML DOM. Pero porque deberíamos de empezar a usar JQuery? pues aquí van algunas razones:

-Primero: podemos manipular nuestro DOM con menos código, es decir menos código que hace mas, obviamente además de facilitarnos la manipulación del DOM con consultas más sencillas conllevara a páginas más ligeras.

Por Ejemplo

$(‘#txtName’); En lugar de document.getElementById(‘txtName’);

-Segundo: soporta JSON por lo que nos permite realizar aplicaciones AJAX ligeras y sencillas a través del uso de funciones que nos permiten obtener datos del servidor codificados en JSON sin necesidad de refrescar la pagina usando una petición Get HTTPRequest.
Las siguientes son algunas de las funciones que  nos otorga JQuery para trabajar con AJAX.

Low-Level Interface Perform an asynchronous HTTP (Ajax) request.

Global Ajax Event Handlers Register a handler to be called when Ajax requests complete. This is an Ajax Event.

Global Ajax Event Handlers Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event.

Global Ajax Event Handlers Show a message before an Ajax request is sent.

Low-Level Interface Set default values for future Ajax requests.

Global Ajax Event Handlers Register a handler to be called when the first Ajax request begins. This is an Ajax Event.

Global Ajax Event Handlers Hide a loading message after all the Ajax requests have stopped.

Global Ajax Event Handlers Show a message when an Ajax request completes successfully.

Shorthand Methods Load data from the server using a HTTP GET request.

Shorthand Methods Load JSON-encoded data from the server using a GET HTTP request.

Shorthand Methods Load a JavaScript file from the server using a GET HTTP request, then execute it.

Shorthand Methods Load data from the server and place the returned HTML into the matched element.

Collection ManipulationFormsHelper Functions Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request.

Shorthand Methods Load data from the server using a HTTP POST request.

FormsHelper Functions Encode a set of form elements as a string for submission.

FormsHelper Functions Encode a set of form elements as an array of names and values.

-Tercero: nos permite separar nuestro código javascript de nuestro HTML

Por ejemplo podemos asignarle una función al evento click de un botón de la siguiente manera:

<script src=”_scripts/jquery-1.3.2.min.js” type=”text/javascript”></script>

<script language=”javascript”>

$(document).ready(function() {

$(‘#btnSubmit’).click(function() {

alert(‘Submit Clicked!’);

});

});

</script>

en Lugar de:

<input id=”btnSubmit” onclick=”javscript:Save()” type=”button” value=”button” />
-Cuarto: JQuery es ampliamente usado y soportado por lo que es multinavegador, existen muchos plugin disponibles, posee soporte Intellisense desde Visual Studio 2008 y se puede obtener desde los CDN de google  usando:

<script type=”text/javascript” src=”http://www.google.com/jsapi”></script>

<script type=”text/javascript”>

google.load(“jquery”, “1″);

google.setOnLoadCallback(function() {

alert(“Welcome to Google Hosted JQuery!!”);

});

</script>
Si te convenciste de usar JQuery este es el  link de su site oficial desde el que puedes tener acceso a la documentación, ejemplos, plugin, etc.

Exponiendo Web service con JSON

json

JSON es un formato de intercambio ligero que al igual que el XML puede ser  leído fácilmente  y es independiente de la plataforma, esta basado en sub conjunto de javascript por esta razón puede ser convertido a javascript rápidamente y por lo tanto es ideal para aplicaciones Web basadas en AJAX, pero la ventaja de JSON sobre AJAX es que es capas de representar la misma información en un formato mas ligero que el XML y por lo tanto es mas rápido de transportar y consume menos ancho de banda.

Seguir leyendo