miércoles, 17 de agosto de 2011

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

Kinect SDK Beta 1 Disponible desde ya!...



El interés en el Kinect para Windows Software Development Kit (SDK) beta, lanzado el 16 de junio de 2011, ha sido fuerte, y estamos encantados de ver que tantos desarrolladores e innovadores que están experimentando con la interfaz de usuario natural (NUI) las aplicaciones tienen aprovechado el SDK para explorar el potencial del sensor Kinect.

En apoyo de nuestro compromiso de alentar a los investigadores y entusiastas en su exploración de las interesantes posibilidades de que el sensor Kinect, hemos lanzado una versión actualizada del SDK. La comunidad nos ha dado una respuesta muy buena, y esta versión soluciona algunos de los temas principales que nos han dicho sobre.

Antes de resumir los cambios, vamos a recapitular rápidamente las principales características de la Kinect para Windows SDK beta. Esta beta no comercial SDK permite el seguimiento de movimiento humano, reconocimiento de voz, y la detección de profundidad en los ordenadores, permitiendo a los desarrolladores a crear aplicaciones innovadoras naturales interfaz de usuario. El SDK incluye controladores y API rica para flujos de sensor de primas y las interfaces naturales de usuario, así como documentos de instalación y los materiales de recursos.

Por lo tanto, lo que está en la actualización?

Mejoras en los controladores: fija la estabilidad para evitar accidentes, incluyendo aquellas que aparecen cuando un equipo entra en modo de suspensión
Mejoras de tiempo de ejecución: el perfeccionamiento de una serie de APIs, las mejoras en sellado de tiempo, y la eliminación de las no funcionales API para aliviar la confusión (que serán reinsertados, siempre y cuando la función esté disponible en futuras versiones)

La actualización también incluye muchas mejoras en la documentación, incluidas las aclaraciones y la supresión de la información relativa a los componentes no funcionales. Además, los ejemplos de SDK se han mejorado.

Si usted es un investigador académico o un entusiasta que quiere aprovechar los últimos avances en la experimentación natural de la interfaz de usuario, le invitamos a conocer más y descargar el SDK para Windows Kinect beta de refresco. Tenemos la intención de liberar la siguiente actualización de la Kinect para Windows SDK beta a finales de este año (aún con una licencia no comercial).

Háganos saber lo que piensa, como demuestra esta actualización, nos hemos comprometido a utilizar su información para que el SDK mejor posible!

-Tony Hey, vicepresidente corporativo de Microsoft Conexiones de Investigación

Aca les dejo un video cortesia del canal 9 de Microsoft en una entrevista a Rob Relyea por Dan Fernandez:




Apple logra bloquear las ventas del Samsung Galaxy Tab 10.1 en Europa



Apple ha logrado bloquear las ventas de momento por un minimo de 4 semanas en Europa como medida cautelar previa al juicio que se les avecina por violación de patentes en el diseño de dicha tablet.

Bien es sabido que los smarthphones y tablets de Samsung se parecen mucho a los homónimos de Apple, siendo en las proporciones donde más similitudes existen (Si… Apple tiene patentadas las proporciones….)

Ya se verá cómo termina esto… seguramente con el pago de las patentes o vaya usted a saber, pero por lo visto Samsung piensa contratacar a Apple investigando a fondo sus productos respecto a tecnologías de telecomunicación de las que sospechan que podrían estar usando sus patentes. Guerra de patentes, vaya... :O

A modo de curiosidad, les dejo aquí un emulador web de la Samsung Galaxy Tab 10.1

martes, 25 de enero de 2011

Web Camps de Microsoft para este año...





Los Web Camps de Microsoft de 1 solo dia son una versión más pequeña de los eventos más grandes que son normalmente de 2 días.

Estos Web Camps te permiten
aprender y construir sitios web con ASP.NET, MVC, WebMatrix, OData y mucho más. Estos eventos cubrirá 1 de los 3 temas e incluirá presentaciones y el manejo del desarrollo de estas tecnologias. Más eventos vienen y se añadirá a la lista de abajo tan pronto como las fechas se confirman.

Esta es la
lista de los países adicional que será el anfitrión de los campos de Web de este año: Argentina, Bélgica, Brasil, Canadá, Chile, Finlandia, Indonesia, Israel, Países Bajos, Nueva Zelanda, Noruega, Portugal, España, Tailandia, Turquía, Emiratos Árabes Unidos, el Reino Unido y los EE.UU. Este y Central.

para mas informacion siguelos en Twitter @Webcamps

Ciudad Pais
Fecha Tecnologia Link Registro
Caracas Venezuela 25-Jan-11 ASP.Net MVC Register Here
Maracaibo Venezuela 26-Jan-11 ASP.Net MVC Register Here
Porlamar Venezuela 28-Jan-11 ASP.Net MVC Register Here
Tunis Tunisia 1-Feb-11 ASP.Net MVC Register Here
Istanbul Turkey 1-Feb-11 WebMatrix Register Here
Montreal Canada 5-Feb-11 ASP.Net MVC Register Here
Calgary Canada 5-Feb-11 ASP.Net MVC Register Here
Jeddah Saudi Arabia 15-Feb-11 WebMatrix Register Here
Jeddah Saudi Arabia 16-Feb-11 WebMatrix Register Here
Toronto Canada 19-Feb-11 ASP.Net MVC Register Here
Riyadh Saudi Arabia 22-Feb-11 WebMatrix Register Here
Riyadh Saudi Arabia 23-Feb-11 WebMatrix Register Here
Mountain View, CA USA 26-Feb-11 ASP.Net MVC Register Here
Des Moines, IA USA 17-Mar-11 WebMatrix Register Here
Bad Homburg Germany 23-Mar-11 WebMatrix Register Here
Redmond USA 25-Mar-11 ASP.Net MVC Register Here
Ottawa Canada 26-Mar-11 ASP.Net MVC Register Here
Munich Germany 31-Mar-11 WebMatrix Register Here
Moulineaux France 5-Apr-11 TBA Register Here
Nashville, TN USA 27-Apr-11 WebMatrix Register Here
Columbus, OH USA 29-Apr-11 WebMatrix Register Here
Dallas, TX USA 16-May-11 WebMatrix Register Here
Moulineaux France 17-May-11 TBA Register Here
Little Rock, AR USA 18-May-11 WebMatrix Register Here
St. Louis, MO USA 20-May-11 WebMatrix Register Here
Minneapolis, MN USA 24-May-11 WebMatrix Register Here
Milwaukee, WI USA 25-May-11 WebMatrix Register Here
Southfield, MI USA 2-Jun-11 WebMatrix Register Here
Tulsa, OK USA 2-Jun-11 WebMatrix Register Here
Irvine, CA USA 10-Jun-11 ASP.NET MVC Muy Pronto
Moulineaux France 14-Jun-11 TBA Register Here











Por otro lado Proximamente se celebrara en un WebCamps en Porlamar donde estare presente y mi compañero de trabajo @ernesth tendra una gran y exelente ponencia sobre Jquery donde veremos el poder de esta tecnologia en la web....vamos ernesto esperamos una gran charla y buena vibra con este gran tema...

Nos vemos en el WebCamps el 28 de enero muchachos... :D

domingo, 19 de diciembre de 2010

Una actualización de Kinect para reconocer los dedos


Microsoft podría actualizar Kinect para que pueda reconocer rotaciones de manos y movimientos independientes de los dedos.


Así es amigos, el gadget estrella de estas navidades (en el sector de los videojuegos) estaría a punto de recibir una actualización para aumentar la precisión y poder reconocer el movimiento de los dedos por independiente, como la rotación de muñecas y palmas de manos.

¿Qué se consigue con esta actualización? Imaginaos jugando con los dedos para aumentar y reducir imágenes, apretar el gatillo en un juego, girar objetos 3D… Esta actualización para Kinect se haría a nivel de firmware, pues el dispositivo puede recibir mejoras de funcionamiento y de resolución de cámara.

Es en este punto donde Kinect podría mejorar bastante. Al parecer, la precisión de Kinect se debe (en gran parte) a la resolución de imagen. Actualmente, la cámara recibe la imagen a 320 x 240 píxeles, lo que la hace imprecisa en determinadas partes del cuerpo como los dedos.

Con la actualización de Kinect, los ingenieros de Microsoft duplicarían la resolución a 640 x 480 píxeles eliminando la limitación actual, haciendo posible una mayor imagen por parte de la cámara y, por tanto, más precisión en estas zonas.

jueves, 2 de diciembre de 2010

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!