jLight – Hablar con el DOM utilizando Silverlight y jQuery.


Con mayor frecuencia se ejecuta en un navegador web y, a menudo como un control. En muchos casos es necesario comunicarse con el navegador para obtener información sobre los cuadros de texto, eventos o detalles sobre el mismo navegador. Para ello puede utilizar JavaScript de Silverlight. Aunque Silverlight funciona de la misma en todos los navegadores, JavaScript no y no pasará mucho tiempo antes de que surjan problemas. Para superar las diferencias en el navegador me gusta usar jQuery . La única desventaja de esto es que existe un código mucho más necesario que se suele utilizar cuando se escribe en jQuery JavaScript.

Últimamente, he tenido que coger los cambios es el navegador de la barra de desplazamiento y actuar a la nueva posición. También tuve que mover la barra de desplazamiento cuando el usuario arrastra todo en la aplicación Silverlight. Con jQuery se cacahuetes para obtener y establecer los atributos correctos, pero me di cuenta que tenía que escribir una gran cantidad de código en el lado de Silverlight. Con una refactorización pocos que tenía un separan las tuberías en una nueva clase y podría llamar a sólo unos pocos métodos en que para obtener la misma cosa por hacer. La idea de jLight nació.

jLight vs jQuery

El objetivo principal de jLight es tomar la facilidad de uso de jQuery y lo pongo en Silverlight para controlar la interacción DOM. Por ejemplo, para cambiar el color del texto de un DIV al rojo, en jQuery que iba a escribir:

jQuery(«div»).css(«color»,»red»);

En jLight lo mismo se ve así:

jQuery.Select(«div»).Css(«color»,»red»);

Otro ejemplo. Para cambiar el desplazamiento en los últimos SPAN se podría escribir esto en jQuery:

jQuery(«span:last»).offset({left : 10, top : 100});

En este jLight haría lo mismo:

jQuery.Select(«span:last»).Offset(new {left = 10, top = 100 });

Callbacks

Nada especial hasta ahora. Para conseguir lo mismo hizo con el «normal» HtmlPage.Window.Eval , no requieren demasiado esfuerzo. Sin embargo, en el hilo de un controlador de eventos desde el navegador es una historia completamente diferente. Normalmente es necesario registrarse ScriptMembers , ScriptableTypes o escribir algo de código en JavaScript. jLight se encarga de la instalación de cañerías y le proporcionará una interfaz sencilla en la misma forma que jQuery.

Si usted desea para controlar el evento de desplazamiento del cuerpo de su página HTML, que tendrá que enlazar el evento usando jQuery y tienen una función de llamada a una función social en Silverlight. En el siguiente ejemplo supongo que hay un método «SomeMethod», y es registrado como un ScriptableObject como «RegisteredFromSilverlight» de Silverlight.

jQuery(«body:first»).scroll(function()

{

var sl = document.getElementbyId(«SilverlightControl»);

sl.content.RegisteredFromSilverlight.SomeMethod($(this));

});

El uso de Silverlight jLight el código sería aún más simple. El registro de RegisteredFromSilverlight como ScriptableObject se puede omitir. Además de eso, usted no tiene que escribir JavaScript o evaluar cadenas con JavaScript.

jQuery.Select(«body:first»).scroll(SomeMethod);

Lambdas

El uso de un lambda de Silverlight puede hacer que sea aún más simple. Cada uno es el equivalente de jQuery foreach en C #. Se llama a una función para cada elemento que se encuentra por jQuery. En este ejemplo, todos los elementos de entrada del tipo de texto seleccionado. El método FromObject se utiliza para crear un jQueryObject de un objeto que contiene un ScriptObject. El método de Val de jQuery se utiliza para obtener el valor de los elementos de entrada.

jQuery.Select(«input:text»).Each((element, index) =>{

textBox1.Text += jQueryObject.FromObject(element).Val();

return null;

});

Ajax

Una cosa jQuery es a menudo utilizado para realizar llamadas Ajax es. La realización de llamadas a los servicios a los servicios externos se puede hacer de Silverlight, pero tan fácil como usar jQuery. Como ejemplo me gustaría mostrar cómo jLight hace esto. A continuación se muestra el código subyacente de todo. Busca mi nombre en Twitter y muestra el resultado. Este ejemplo se puede encontrar en el origen del proyecto. El método GetJson pasa un Silverlight JsonValue a una devolución de llamada. Esta devolución de llamada ejecuta objetos Twit y los agrega a un control ListBox denominado TwitList.

public partial class DemoPage2 : UserControl

{

public DemoPage2()

{

InitializeComponent();

jQuery.Load();

}

private void CallButton_Click(object sender, RoutedEventArgs e)

{

jQuery.GetJson(«http://search.twitter.com/search.json?lang=en&q=sorskoot», Done);

}

private void Done(JsonValue arg)

{

var tweets = new List();

foreach (JsonObject result in arg[«results»])

{

tweets.Add(new Twit()

{

Text = (string)result[«text»],

Image = (string)result[«profile_image_url»],

User = (string)result[«from_user»]

}

);

}

TwitList.ItemsSource = tweets;

}

}

public class Twit()

{

public string User { get; set; }

public string Image { get; set; }

public string Text { get; set; }

}

jLight se puede encontrar en:

http://adf.ly/2MYSJ

El Futuro de Silverlight – Silvelight5

Como bien saben, Silverlight es la plataforma estratégica de Microsoft para desarrollar aplicaciones interactivas a través del escritorio (desktop), el teléfono y el browser. Es por lo anterior, que este producto es de suma importancia para la comunidad de desarrolladores, entusiastas y estudiantes del mundo tecnológico ya que en su siguiente versión incluirá aspectos realmente importantes.

En esta ocasión, se detallaron grandes temas en el ambito del desarrollo en Silverlight y el gran anuncio de Silverlight 5 con su primera version beta que sera liberada para la primavera y la version oficial para Octubre del proximo año,

Llamado Silverlight Firestarter! que tuvo lugar en la ciudad de Redmond Washington pero que se transmitio en vivo para todo el mundo con 3:30 horas de diferencia aca en Venezuela y para el mundo respectivamente. En esta ocasión la conferencia magistral o mundialmente conocido como Key Note, fue impartido por Scott Guthrie quien hablo del futuro de esta importante plataforma y la forma en que le permite a los desarrolladores integrar las diversas pantallas por la que las personas pasan horas conectados a la tecnología, de forma eficiente, dinámica y con una grandiosa experiencia de usuario.

El evento incluyo entrenamientos y laboratorios a través de videos, así como un panel de preguntas y respuestas que se enviaron y fueron contestadas por el equipo de producto de Silverlight en el evento.

¡Un evento para todos!

No importa que no sepas qué es Silverlight, ya que esta es una gran oportunidad de aprender, a través de las sesión general y los laboratorios de entrenamiento que serán impartidos a diversos niveles.

Si ya construyes aplicaciones en Silverlight y conoces de esta gran tecnología, aprenderás lo más nuevo y vanguardista del producto así como el futuro de esta plataforma para comenzar a crear aplicaciones tanto de consumo como de negocio que vayan apagadas a lo más actualizado y funcional para brindar una experiencia de usuario inigualable.

Compartire con ustedes lo que fue la agenda del evento. Una gran oportunidad de aprovechar la tecnología, maximizar los recursos desde el hogar o la oficina y aprender de lo último en tecnología de desarrollo

Todavia puedes ver algunos webcast y videos del evento: http://www.silverlight.net/news/events/firestarter/

Agenda Firestarter Live

Hora Ponente Detalles de la sessión
8:00 am Desayuno
9:00 am Scott Guthrie Scott Guthrie El futuro de Silverlight
10:45 am Jesse Liberty Jesse Liberty Estrategias de Data Binding con Silverlight y WP7
11:30 am Yavor Georgiev Yavor Georgiev Construcción de aplicaciones utilizando REST con WCF y LINQ
12:15 pm Almuerzo
1:00 pm Dan Wahlin Dan Wahlin Construccion de aplicaciones de negocios ricas en caracteristicas de hoy con RIA Services
1:45 pm John Papa John Papa MVVM: Porque y Como? Tips and Patrones usando MVVM y Patrones de servicio con Silverlight WP7
2:45 pm Tim Heuer Tim Heuer Tips and Trucos para una Grandiosa Experiencia de Instalacion
3:30 pm Scott Guthrie Mike Cook &
Jossef Goldberg
Optimización de sus Aplicaciones: Perfiles y Tips de Rendimiento
4:30 pm Jaime Rodriguez Jaime Rodriguez Tips de rendimiento para Silverlight en Windows Phone 7
5:15 pm Fiesta despues del evento!

Tutorial: Cargar el Plug-In Silverlight en PHP

Microsoft Silverlight4 por ser un tecnología de gran poder para correr aplicaciones RIA (Rich Internet Applications) tanto del lado Cliente como Servidor, básicamente es una tecnología multiplataforma y multinavegador.

Actualmente Silverlight 4 puede ejecutarse en las plataformas Windows, Mac y Linux con el plug-in Moonlight con los navegadores web más populares como Internet Explorer, Mozilla Firefox, Google Chrome, Safari.

El ciclo de vida del plug-in Silverlight comienza con la apertura de una página web que albergan un plug-in de Silverlight valga la redundancia. Si Silverlight no está presente, entonces la página web, automáticamente le pide al usuario instalar el plug-in. Luego activa el navegador web y empezar a descargar el paquete de solicitud. Luego en los servicios de carga esta ejecuta el núcleo de Silverlight o el (Silverlight core), seguido de CLR (Common Language Runtime) que no es más que el framework .NET en el cual la aplicación de tipo Silverlight toma y crea un dominio de aplicación para su aplicación. Después de descargar el paquete de aplicaciones CLR crea un objeto de clase de aplicación en la que se cargan las UI principales que vienen definidas en clases Heredadas del CLR y el Core de Silverlight para tener la aplicación base de ejecución Silverlight.

Como único requisito para correr aplicaciones de tipo Silverlight basta solo con descargar el Plug-in en el navegador y este podrá ejecutarse en el navegador web (similar al plug-in Adobe Flash, pero ya este es otro mundo, sigamos con Silverlight).

Silverlight viene preestablecido para iniciar en páginas de tipo ASP.NET en Visual Studio 2010 pero en este caso para los desarrolladores de PHP para poder trabajar cómodamente en Silverlight puesto que por ser un plug-in este debe de ser cargado en una página HTML a través de en los que podemos invocar al XAP de silverlight (es como el SWF de Flash que debemos cargar para poder ver las películas o animaciones).

Ahora bien básicamente en este tutorial cargaremos una aplicación de tipo Silverlight en una página PHP en la que pueda ver claramente un botón y con este al hacer click me muestre un mensaje en la aplicación,

Nota: no voy a especificar lenguaje XAML por lo que más adelante en futuras entregas si lo explicare más a fondo y a detalle, pero en este caso lo fundamental es ver como corre el plug-in de Silverlight y como invoco mi aplicación en una página PHP.

Para empezar creo mi aplicación Silverlight colocando un botón y una etiqueta oculta, a través del evento OnClick del Botón creado le asigno la cadena de texto a la etiqueta colocando “Hello PHP Developers” compilo mi aplicación y en la carpeta del proyecto se crea un archivo de tipo XAP llamado “HelloPHPdevelopers.xap” lo copio y lo pego a la carpeta donde vaya a correr mi pagina en PHP, en mi caso en la carpeta WWW del servidor Apache donde coloque ejemplo.



Luego de tener nuestro XAP en el servidor abrimos nuestra pagina PHP, en este caso Default.php en cualquier editor PHP o Web que soporte este tipo de tecnología web por ejemplo (Adobe DreamWeaver, Bluefish, Eclipse, Notepad++) y encontramos el siguiente código HTML:


<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>

<html xmlns=»http://www.w3.org/1999/xhtml»>

<head>

<meta content=»text/html; charset=utf-8″ http-equiv=»Content-Type» />

</head>

<body>

<?php echo «Hello PHP Developers» ?>

<br/><br/>

</body>

</html>

Ahora bien dentro dentro del tag <body> y </body> procederemos a invocar el XAP de la siguiente forma con el tag <object>


Donde el invocamos que es un “data:application/x-silverlight“ de tipo “application/x-silverlight-2” (noten que al final del nombre de tipo de aplicación dice x-silverlight-2: no quiere decir que sea conforme con la versión 2 de Silverlight, sino que es solo el nombre del tipo de aplicación puesto que esto tiende a confundir al desarrollador), también definimos el ancho y alto ( por defecto estos valores vienen en 100% respectivamente inicialmente para que el plug-in ocupe todo el espacio de la pagina pero vamos a darle un valor de tamaño 640 x 480 respectivamente).

Luego definimos los parámetros necesarios para que la aplicación corra según nuestro criterio y necesidad en el que la regla es <param(tag) seguido por el nombre del parámetro name=”nombre del parámetro” y el valor Value=”valor del nombre del parametro” />para ello necesitamos especificar el nombre del XAP con esta línea

<param name=”source” value=”HelloPHPdevelopers.xap”/>

donde colocamos el nombre del archivo que colocamos en la carpeta de prueba del servidor anteriormente citado, también necesitamos darle atributos de inicialización como el color de fondo, aunque por defecto viene en color Blanco vamos dejarlo así pero el desarrollador es libre de elegir el color en el cual el fondo se puede mostrar, el siguiente parámetro es de definición de versión del Runtime de Silverlight que ejecuta actualmente el plugin en el navegador, con estas líneas

<param name=»autoUpgrade» value=»true» />

<a href=»http://go.microsoft.com/fwlink/?LinkID=124807″ style=»text-decoration: none;»>

<img src=»http://go.microsoft.com/fwlink/?LinkId=108181″ alt=»Get Microsoft Silverlight» style=»border-style: none»/>

La primera es para establecer si el plug-in nos permite auto actualizar el Runtime, las otras líneas es la ruta en la cual está establecida la última versión del runtime de Microsoft silverlight, dependiendo si está instalada o no en el navegador o si necesita aplicar una actualización, dicho esto es necesario para que automáticamente al liberar una nueva versión del Runtime de Silverlight requiera una actualización este plug-in automáticamente muestra al usuario que hay una actualización y que debe de instalar y reemplazar la versión anterior.

Al explicar los parámetros básicos de invocación del plug-in para mostrar en nuestra página PHP, ya podemos contar con la tecnología Silverlight en nuestras páginas PHP.

Abrimos el navegador web, en este caso con Firefox escribimos la siguiente dirección URL

Http://127.0.0.1/nombredelacarpetaenelservidor/nombredelarchivo.php





Una vez cargado el XAP en la pagina PHP ya podemos interactuar con la aplicación Silverlight“Hello PHP Developers” en nuestra página que al hacer click en el botón coloque visible la etiqueta que muestra

Vemos así la interoperabilidad entre varias tecnologías de programación, hasta involucrando la plataforma .Net en aplicaciones web ya sean soportadas en PHP bajo esta nueva tecnología que está marcando mucha tendencia a lo que son las aplicaciones RIA en la web.

Espero les sirva de gran ayuda el conocimiento e implementación del Plug-in para que las aplicaciones Silverlight puedan correr en cualquier tecnología web de libre elección para el desarrollador, próximamente estare explicando a fondo los fundamentos del lenguaje XAML para diseñar y crear aplicaciones Silverlight.

Salu2 😀

Silverlight 4 in Action

Descripción del libro
Silverlight in action, es una edición revisada de ritmo rápido, completo tutorial que guía al lector desde la creación de «Hello World» para la codificación de calidad de producción, aplicaciones ricas de Internet RIA por datos con gráficos, audio y contenido de vídeo. Escrito para desarrolladores que ya saben el código en C # y amplios conocimientos de la plataforma .NET , este libro no suelte pelusa cubre los conceptos básicos de forma rápida y se sumerge en el corazón del desarrollo de Silverlight usando XAML (un lenguaje para crear elementos de interfaz de usuario) y Visual Studio 2010. Usted aprenderá no sólo cómo realizar tareas, pero cómo funciona el tiempo de ejecución subyacente.

Además de los fundamentos, el libro cubre las nuevas características de Silverlight como pixel shader, cámara web y micrófono, así como servicios WCF RIA y patrones como MVVM (Model-View-ViewModel). En él se explica el desarrollo offline y «fuera del navegador» (Out of browser) aplicaciones, gestión de vídeo y audio, el manejo de validación, la navegación y deep-linking, y cómo cada característica de Silverlight encaja en el ecosistema de Silverlight en general.

Acerca del Autor
Pete Brown es un Community Program Manager con Microsoft en el liderato de la división de desarrolladores equipo de la comunidad de Scott Hanselman. El enfoque de Pete en Microsoft es la comunidad en torno al desarrollo de aplicaciones cliente (Silverlight, WPF, Windows Phone, de surface, Windows Forms, C, nativo de API de Windows y mucho más).

Antes de unirse a Microsoft, Pete era un orador de Microsoft Silverlight MVP, INETA, y Arquitecto RIA con 17 años de experiencia en la creación de aplicaciones para todo tipo de ambiente, desde ensamblador, C a VB, dBase a C # y. NET.

Pete vive con su esposa y dos hijos fuera de Annapolis, Maryland.

Detalles del libro

* Libro: 800 páginas
* Autor: Manning Publicaciones, 1 ª edición (septiembre de 2010)
* Idioma: Inglés
* ISBN-10: 1935182374
* ISBN-13: 978-1935182375

* Tamaño del archivo: 19.3 GiB
* Accesos: 3474 veces

http://hotfile.com/dl/68474473/37cc1d6/Manning.Silverlight.4.in.Action.Sep.2010.rar.html