Widget Library, apps para windows phone con javascript y html

En las últimas semanas he estado probando un pequeño framework de marca española para crear apps de windows phone mediante javascript y html sin tener necesidad de saber programar para windowsphone.

Lo primero que has de saber es que milagros no hace, es decir no vamos a programar nativamente como podemos hacer en windows8 simplemente será un webview que accede a unos html, js y css internos en la app.

Este  framework se encarga de hacer como “puente” entre lo que hagamos en este lenguaje y el lenguaje nativo de las apps en windows phone.

The communication between the WebBrowser Control and the Windows Phone 7 Apps is implemented using the script capabilities on the control.

De manera que tenemos un montón de funciones javascript que al llamarlas llaman a sus equivalentes del lenguaje nativo de manera que por ejemplo desde el mismo javascript puedes guardar información nativamente, enseñar la típica notificacion de windows phone y hasta reproducir música.

Al principio de usarlo vi que las apps que se hacían eran bastante sencillas por las limitaciones obvias que tiene, además que siempre será más óptimo programar nativamente, pero descubrí que es bastante sencillo añadir nuevas funciones de manera que si además sabes programar para windows phone, o te dedicas a buscar por internet (como hice yo..) puedes mejorar bastante las aplicaciones y se te abre un gran abanico de oportunidades par alguien que como es mi caso viene del mundo web.

Podéis descargar el framework en http://widgetlibrary.codeplex.com/ y aunque diga que es para windows phone 7 como podemos añadir más funciones de windows phone 8 supongo que sin demasiados problemas.

Una cosa a tener en cuenta es que necesita un XML con todos los archivos que incluye nuestro proyecto de css html js… lo bueno que en su propia página podéis descargar un exe que al ejecutarlo nos va a crear ese XML.

Tip: Como he modificado yo para añadir funciones

Paso 1: ir al archivo Widget > js > Widjet.js y al objeto widget  le añadimos :

,”TuMetodo”: function () {
window.external.Notify(“TuMetodo()”);
}

Paso 2: ir al archivo WidgetLibrary > WidgetManager > ManageWidget.cs y añadir un case al switch:

case WidgetFunctions.TuMetodo:
widget.TuMetodo();
break;

Paso 3:   ir al archivo WidgetLibrary > WidgetManager > WidgetFunctions.cs y añadir:

public const string TuMetodo= “TuMetodo”;

Paso 4:   ir al archivo WidgetLibrary > WidgetManager > Widget.cs y añadir:

public void(o lo que retornes) TuMetodo()
{
//Código
}

Paso 5:  Vuelve a compilar la libreria WidgetLibrary e incluyela en el proyecto.

Opinión personal:

La verdad que al principio no me convenció demasiado pero cuando he empezado a trabajar con él una vez te lo preparas bien es bastante cómodo y fácil de usar, sigo pensando que una aplicación desarrollada nativamente siempre sera mejor pero para hacer cosas simples como las que yo he hecho no está mal.

Os dejo 3 ejemplos de aplicaciones sencillas hechas con este framework, son las que he hecho para practicar.