Archive

Archive for the ‘Herramientas’ Category

Uso y creación de Behaviors en Silverlight

February 12th, 2012 No comments

Las conductas (o behaviors en inglés) son una de esas funcionalidades que he visto que muy pocos utilizan y que en lo personal se me hacen una herramienta sumamente potente, reutilizable y muy fáciles de dominar, por eso me animé a escribir sobre ellas.

Para empezar creo que lo mejor es definir que es lo que pueden hacer o para que fueron hechas ¿no crees? Bueno, pues las conductas tienen un fin muy sencillo, hacerte la vida fácil al momento de implementar funcionalidad específica en tus controles, veamos un ejemplo para poder entenderlo mejor.

Utilizar una conducta de forma básica

Comienza por crear un nuevo proyecto en Expression Blend (si, aquí es en donde trabajaremos en esta ocasión), y vamos a colocar un rectángulo en la pantalla, para quedar de la siguiente manera.

Interfaz

Utilizar las conductas no es nada del otro mundo, solo necesitamos presionar el botón de “Assets” para poder escribir el nombre de una conducta, la primera por la que comenzaremos se llama “MouseDragElementBehavoir”, el resultado de tu pantalla debe ser algo así.

mouseDrag

 

Solo debes arrastrarla hasta el control en cuestión para que en tu pestaña de objetos puedas ver esto.

conducta

De esta forma el resultado es un control arrastrable por toda la interfaz, dando funcionalidad de una forma muy práctica.

Utilizar una conducta con parámetros

Hay algunas conductas previamente creadas que necesitan el uso de algunos argumentos para poder funcionar, para que veas como es esto, vamos a implementar en nuestro mismo rectángulo una conducta que requiere cierta configuración, pero antes deberemos crear una animación para el control, por lo que vamos a usar un nuevo control, para dejar intacto al anterior y al nuevo es al que le pondremos una nueva animación.

Crea la animación que gustes, al final el XAML que llevamos hasta ahora es algo así.

<usercontrol xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
x:Class="Behaviors.MainPage" Width="1024" Height="768">

</usercontrol><usercontrol .Resources>
<storyboard x:Name="moverElemento">
<doubleanimationusingkeyframes Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="rectangle">
<easingdoublekeyframe KeyTime="0" Value="0"/>
<easingdoublekeyframe KeyTime="0:0:0.5" Value="300">
</easingdoublekeyframe><easingdoublekeyframe .EasingFunction>
<circleease EasingMode="EaseOut"/>
</easingdoublekeyframe>

<easingdoublekeyframe KeyTime="0:0:1" Value="0">
</easingdoublekeyframe><easingdoublekeyframe .EasingFunction>
<circleease EasingMode="EaseOut"/>
</easingdoublekeyframe>

</doubleanimationusingkeyframes>
</storyboard>
</usercontrol>

<grid x:Name="LayoutRoot" Background="White">
<rectangle Fill="#FF4444F9" HorizontalAlignment="Left" Height="155" Margin="60,65,0,0" Stroke="Black" VerticalAlignment="Top" Width="165" RenderTransformOrigin="0.5,0.5">
<i:interaction .Behaviors>
<ei:mousedragelementbehavior />
</i:interaction>
</rectangle>
<rectangle x:Name="rectangle" Fill="#FF4444F9" HorizontalAlignment="Left" Margin="60,377,0,236" Stroke="Black" Width="165" RenderTransformOrigin="0.5,0.5">
</rectangle><rectangle .RenderTransform>
<compositetransform />
</rectangle>

</grid>

Y de nuevo vas a llamar una conducta, ahora usaremos “Control Storyboard Animation”.

control

Al haber arrastrado esta conducta dentro de tu control, en la pestaña de propiedades aparecerán los argumentos que debemos poder utilizar.

argumentos

Como puedes ver, aquí al implementar la conducta debes poder establecerle ciertos elementos, al final, tu resultado puede ser algo como esto.

configuracion

Si lo ves por XAML el resultado deberá ser así.

<rectangle x:Name="rectangle" Fill="#FF4444F9" HorizontalAlignment="Left" Margin="60,377,0,236" Stroke="Black" Width="165" RenderTransformOrigin="0.5,0.5">
<i:interaction .Triggers>
<i:eventtrigger EventName="MouseLeftButtonDown">
<ei:controlstoryboardaction Storyboard="{StaticResource moverElemento}"/>
</i:eventtrigger>
</i:interaction>
</rectangle><rectangle .RenderTransform>
<compositetransform />
</rectangle>

La gran ventaja que tienes al implementar animaciones es que simplemente te ahorras muchísimo tiempo y además código por el lado de C#, entonces hasta aquí hemos visto como puedes usarlas en tu favor, pero como buen desarrollador no quedarás satisfecho con esto, sino que irás queriendo crear nuevas conductas de acuerdo a tus necesidades.

Crear tus propias conductas

Vamos a brincarnos a Visual Studio 2010, lo primero que debemos hacer es crear una clase por separado y después agregar la referencia System.Windows.Interactivity.

Proyecto

 

Una vez teniendo la clase “MiConducta” necesitamos crear la referencia al ensamblado que acabamos de llamar.

using System.Windows.Interactivity;

Ahora si, con el ensamblado y la referencia, modifica la línea que declara la clase de la siguiente forma

public class MiConducta : TargetedTriggerAction<rectangle>

De esta forma la clase que recién acabas de crear heredará de la clase TargetedTriggerAction y a su vez, tendrá la funcionalidad por medio de su constructor para un rectángulo (aclaro que si modificas esta funcionalidad, puedes hacerla sin problema para cualquier elemento que necesites, solo por ejemplo escogí al rectángulo).

Después vamos a declarar tres objetos que nos servirán para la funcionalidad de nuestra conducta.

Shape elementoObjetivo;
Brush color1;
Brush color2 = new SolidColorBrush(Color.FromArgb(255, 0, 0, 0));

Y ahora, gracias a la herencia que acabamos de asignar, podremos utilizar un método sobrecargado que se llama Invoke, este es el método que se desencadena al momento de llamar a la conducta dentro de nuestro XAML, y debe quedarte así.

protected override void Invoke(object parameter)
{
elementoObjetivo = (Shape)this.AssociatedObject;
color1 = (Brush)elementoObjetivo.Fill;
elementoObjetivo.MouseLeftButtonDown += elementoObjetivo_MouseLeftButtonDown;
elementoObjetivo.MouseLeftButtonUp += elementoObjetivo_MouseLeftButtonUp;
}

Como puedes ver, estamos utilizando dos manejadores para cuando nuestro objeto en cuestión sea utilizado, los dos manejadores tendrán lo siguiente.

void elementoObjetivo_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
elementoObjetivo.Fill = color1;
}

void elementoObjetivo_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
elementoObjetivo.Fill = color2;
}

Si compilas tu aplicación, ya podrás comenzar a utilizar tu nueva conducta desde Expression Blend.

MiConducta

Conclusión

Crear conductas es una forma genial de ahorrar muchas líneas de código para personalizar tus controles, pueden quitarle a los diseñadores los problemas de interactuar con código y lo mejor es que pueden ser reutilizables si las creas como una biblioteca de clases, así que comienza a entretenerte con esta gran funcionalidad de Silverlight.

Puedes descargar el código desde aquí.

Categories: Blend, Herramientas, Tutoriales Tags:

Buscar ciudades (código fuente)

October 30th, 2011 No comments

Bueno pues lo prometido es deuda, dije que realizaría tres aplicaciones particulares para el Marketplace de Windows Phone, las dos primeras serían gratis para poder comenzar a tomar práctica en la parte lineamientos necesarios a seguir para poder publicar, la tercera sería una combinación de ambas pero con mas herramientas y tendría un costo debido a su complejidad y utilidad (además de aprender a utilizar esa herramienta igual).

Pues la primer aplicación es acerca de buscar ciudades, cualquier ciudad alrededor del planeta, aquí tienes el link de referencia.

pc

Buscar ciudades

Las especificaciones técnicas son:

Uso de la API de localización de Bing Maps (vía REST y regresando un XML).

Uso adecuado de como manejar un GeoCoordinateWatcher para poder publicar sin problemas.

Manejo básico de Isolated Storage para recordar una decisión del usuario.

Manejo de colores en las fuentes y fondos de acuerdo al color y tipo de tema utilizados por el teléfono.

Ya que tienes estas grandes ventajas no te deberían rechazar alguna aplicación que se te ocurra publicar de manera similar, al menos no deberías pasar por las 4 “bateadas” que a mi me tocaron.

Descarga aquí el código fuente de la aplicación.

Categories: Herramientas, Tutoriales, WP7 Tags:

Ubicador y chat privado usando Windows Phone 7

August 23rd, 2011 No comments

El fin de semana pasado, platicaba con mi novia acerca de una aplicación en donde pudiéramos ubicarnos y saber por donde estamos, una aplicación especialmente útil cuando estamos separados y quedamos de vernos en un lugar específico, de ahí salió esta aplicación, es sumamente sencilla, pero muy divertida y sobretodo útil ya que no podrás decir “voy llegando” cuando apenas vas saliendo de casa, así que con cuidado (las consecuencias derivadas del uso de esta app son cosa tuya, ¡ahí si no me meto!).

Ok, no me detendré a explicar que onda con como funciona, simplemente te daré y diré todo lo necesario para que puedas implementarla, obviamente tendrás el código y podrás meterle cualquier nueva herramienta.

Primero comienza con crear la base de datos, las tablas que necesitarás son dos, “Ubicación” y “Mensajes”, con la siguiente estructura.

Tabla MENSAJES

tablaMensajes

Tabla UBICACION

tablaUbicacion

Solo como comentario, el campo “ID_MENSAJE” es un campo de identidad, pero para evitarte un rato, te paso igual los scripts para crear las tablas, así que un “copiar y pegar” y listo, tendrás tus tablas listas.

Script MENSAJES

Script UBICACION

Ok, ya después de tener las tablas, crea un servicio web, el servicio cuenta con los siguientes métodos.

En esta parte me disculpo, por cuestiones de mi servicio de hosting y su framework, no puedo usar WCF, así que lo hago a la antigua, con servicios web de ASP.NET

servicioWeb

 

Descarga aquí el servicio web.

Por último, nos vamos con la aplicación, en esencia usas dos pantallas, una que te permite poder visualizarte y a tu compañer@, aquí podrás ver igual la dirección hacía donde se dirige cada quien.

 

mapaUsuarios

 

Y la otra en donde pueden conversar.

 

ChatUsuarios

 

Bien hay algunas líneas que deberás modificar en este caso, así como la URL del servicio web que estarás consumiendo, te digo que partes son las “estáticas” para que las adaptes a tu gusto, aclaro que cuando me refiero a “tu nombre” es el valor con el que tu te vas a identificar en tu tabla “UBICACION” y cuando digo “tu pareja” me refiero al valor de tu compañer@, en esa misma tabla.

1.- En el code behind de MainPage ve a la línea 65 y coloca en ese valor de tipo string tu nombre.

2.- En el code behind del UserControl “Conversación”, coloca en la línea 31 tu nombre y en la 36 el de tu pareja.

3.- En el code behind del UserControl “Apuntador”, coloca en la línea 45 tu nombre y en la 47 el de tu pareja. (Aquí igualmente debes considerar la URL de las imágenes que vas a usar para verse en el mapa y en el control del chat.

4.- En la clase “GPS”, coloca en la línea 46 tu nombre.

5.- En la clase “AppBar”, coloca en la línea 101 tu nombre, en la línea 115 el de tu pareja y por último en la 151 de nuevo tu nombre.

 

Descarga aquí la aplicación.

 

Ya con todo listo, nada mas falta que hagas la última parte de manera inversa para poder correr la aplicación en el otro teléfono y listo!! A disfrutar!!!

Debido a que se que algunos quizá prefieran bajarlo todo completo en un archivo, aquí pueden hacerlo.

NOTA: Esta aplicación fue hecha con fines de entretenimiento, al momento de crear este post pensé en la opción de mejorarla, pero se los dejaré a ustedes, hay mucho por hacer, nuevas herramientas, el servicio en la versión WCF, así que sería genial que si gustan contribuir con ella solo me avisen para ir publicando los cambios, sería genial hacer una mucho mas grande entre todos, ¿como  ven?

Categories: Herramientas, Tutoriales, WP7 Tags:

Realidad aumentada usando WP7

March 2nd, 2011 6 comments

Hola de nuevo, la semana pasada me metí en una gran bronca cuando se me pidió hacer una aplicación que funcionara en Windows Phone 7 y manejara el uso de la realidad aumentada, así que al terminar y después de leer un buen rato este post es el resultado del trabajo de la semana pasada.

Si no sabes que es la realidad aumentada, un buen inicio sería comenzar desde leyendo el siguiente link acerca de qué es la realidad aumentada.

Bien, ahora si podrás comenzar, pero en esta ocasión no iniciaremos desde un proyecto nuevo, hay que ir un poco mas allá, para poder tener acceso a la cámara del teléfono.

Comienza descargando una librería desde aquí, esta librería es Windows.Phone.Media.Extended, y servirá para poder acceder al uso de la cámara.

Ya que la tienes, extrae la .dll y colócala en la siguiente ruta

C:\Program Files\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone

Abre el archivo FrameworkList.xml que esta dentro de la carpeta RedistList (recuerda que seguimos dentro de la ubicación anterior), e inserta la siguiente línea.

<File AssemblyName=”Microsoft.Phone.Media.Extended” Version=”7.0.0.0″ Culture=”neutral” ProcessorArchitecture=”MSIL” InGac=”false” />

img111

Imagino que como buen desarrollador tienes un editor algo mas avanzado que el Bloc de notas, de lo contrario yo recomiendo enfáticamente Notepadd++, me encanta desde la primera vez que lo usé.

Ya que terminaste con esto ahora si, ve a Visual Studio, pero antes de iniciar con cualquier proyecto, debes comenzar por descargar el complemento para ejecutar una consola desde Visual Studio.

img112

Ok, entonces ahora si, ya con tu .dll añadida y tu complemento inicia un nuevo proyecto en Windows Phone 7 y vete por la opción Landscape, será la mas adecuada, después de eso añade la librería, que como verás ya está dentro de las preestablecidas.

img113

Si te tomas la libertad de compilar tu proyecto, es muy posible que tu IDE no haya reconocido tu librería recién incorporada, para ello da click derecho sobre tu proyecto y ahí selecciona la opción de abrir una consola.

img114

Y ahí en tu consola, ve primero a la ruta siguiente (por medio del comando “cd”).

C:\Program Files\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone

y ahora si escribe el siguiente comando.

sn -Vr Microsoft.Phone.Media.Extended dll

esto dará “de alta” definitivamente a tu librería para poder usarla dentro de tu proyecto.

Por último para terminar debes agregar dos librerías mas las cuales son:

SlarToolkit.dll (librería diseñada para el manejo y reconocimiento de patrones)

Matrix3DEx.dll (librería que extiende la funcionalidad del elemento PlaneProjection de Silverlight)

Puedes obtener las dos desde aquí aunqque te recomiendo que les des un vistazo para comprender un poco mas de su funcionalidad.

De acuerdo, hemos terminado con la parte de configuración y requerimientos del proyecto, ahora si, al fin, a escribir el código, primero ve por el XAML

<phone:PhoneApplicationPage x:Class=”Escaner.MainPage”
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation”
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
xmlns:phone=”clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone”
xmlns:shell=”clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone”
xmlns:media=”clr-namespace:Microsoft.Phone;assembly=Microsoft.Phone.Media.Extended”
xmlns:d=”http://schemas.microsoft.com/expression/blend/2008″
xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006″
mc:Ignorable=”d” d:DesignWidth=”800″ d:DesignHeight=”480″
FontFamily=”{StaticResource PhoneFontFamilyNormal}”
FontSize=”{StaticResource PhoneFontSizeNormal}”
Foreground=”{StaticResource PhoneForegroundBrush}”
SupportedOrientations=”Landscape” Orientation=”Landscape”
shell:SystemTray.IsVisible=”False”>

<Grid x:Name=”LayoutRoot” Background=”Transparent”>
<media:CameraVisualizer x:Name=”visorCamara”/>
<Canvas>
<Image x:Name=”img” Source=”Materiales/ethereal.png” Stretch=”None”  Width=”129″ Height=”123″/>
</Canvas>
</Grid>
</phone:PhoneApplicationPage>

En donde simplemente colocas el espacio para visualizar la cámara y después un contenedor para la imagen que quieres ver, no es la gran ciencia, hasta aquí puedes compilar sin mayor problema, ahora podremos pasar al lado de C#.

Comienza declarando dos objetos globales

private VideoCamera camara;
private BitmapMarkerDetector detectorRealidad;

Y después utilizarás los eventos OnNavigatedTo y OnNavigatedFrom que se ejecutan al aparecer la página en cuestión y al salir.

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
IniciarDetectorRealidad();
IniciarCamara();
}

protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
camara.Dispose();
camara = null;
}

Como puedes ver en una función solo inicias dos funciones, y en el otro eliminas el uso de la cámara, las funciones en uso son las siguientes.

private void IniciarDetectorRealidad()
{
detectorRealidad = new BitmapMarkerDetector();
var marker = Marker.LoadFromResource(“Materiales/probando.pat”, 16, 16, 80);
detectorRealidad.Initialize(640, 480, 1, 4000, marker);
}

private void IniciarCamara()
{
camara = new VideoCamera();
camara.Initialized += OnCameraInitialized;
visorCamara.SetSource(camara);
}

El detector de realidad manda llamar a un archivo de tipo .pat, es un patrón, ese patrón lo puedes crear por diferentes métodos, por ahora no te preocupes por ello y descarga el patrón que usamos aquí.

Al momento de añadir ese patrón a tu proyecto, es bien importante que además de añadirlo, modifiques sus propiedades para que quede añadido como un recurso.

img115

Así también puedes notar que usas un event handler para la inicialización de la cámara, el cual incluirá lo siguiente.

void OnCameraInitialized(object sender, EventArgs e)
{
camara.Initialized -= OnCameraInitialized;
Dispatcher.BeginInvoke(() => { GrabFrame(); });
}

Lo primero que hacemos es eliminar el manejador, para después al momento de invocar el reconocimiento de elementos llamemos a nuestra última función.

private void GrabFrame()
{
if (camara != null)
{
Debug.WriteLine(“GrabFrame”);
WriteableBitmap wb = new WriteableBitmap(640, 480);

camara.GetCurrentFrame(wb);
wb.Invalidate();

var sw = new Stopwatch();
sw.Start();
var results = detectorRealidad.DetectAllMarkers(wb);

Debug.WriteLine(“Has results: {0}”, results.HasResults);

if (results.HasResults)
{
img.Opacity = 1;
var centerAtOrigin = Matrix3DFactory.CreateTranslation(-img.ActualWidth * 0.5, -img.ActualHeight * 0.5, 0);
var scale = Matrix3DFactory.CreateScale(0.5, -0.5, 0.5);
var world = centerAtOrigin * scale * results[0].Transformation;

var vp = Matrix3DFactory.CreateViewportTransformation(visorCamara.ActualWidth, visorCamara.ActualHeight);
var m = Matrix3DFactory.CreateViewportProjection(world, Matrix3D.Identity, detectorRealidad.Projection, vp);

img.Projection = new Matrix3DProjection { ProjectionMatrix = m };
}
sw.Stop();
Debug.WriteLine(“Time to scan frame: {0}ms”, sw.ElapsedMilliseconds);
}

Dispatcher.BeginInvoke(() => { GrabFrame(); });
}

Aquí me declaro un completo ignorante en la materia, simplemente aprendí lo necesario, pero fue sencillo, usando la librería de Matriz 3DEx vas a darle la posición al elemento (en este caso una imagen) basándote en la posición del patrón, es así de sencillo en este caso particularmente.

Ahora si, a probarlo (aclaro que solo he podido probarlo en un dispositivo real, en el emulador solo me aparece un cuadro en blanco).

Listo!!! Ahora a disfrutar de tu nueva aplicación

GEDC0946

El código fuente lo puedes descargar desde aquí.

El patrón en su versión para imprimir es este.

 

NOTA: Hay que mencionar que esta librería NO forma parte de la API para el entorno de  desarrollo de Windows Phone 7, por lo mismo, cualquier intento por publicar una aplicación de este tipo en el Marketplace será rechazado por violar los términos del contrato de publicación de aplicaciones.

Categories: Herramientas, WP7 Tags:

Segunda entrada un pequeño SIG (Servicios web ASP)

January 16th, 2011 No comments

Este es el segundo post de cinco para establecer el uso de varias tecnologías para la implementación de información geográfica asociada a datos. Si quieres ver el primero puedes ir a la entrada de Usar bing maps en Silverlight o puedes comenzar desde aquí descargando hasta aquí .

Descargar código.

Bien antes de comenzar aquí nos iremos a SQL, necesitas crear una tabla de la siguiente manera

Como verás, tengo la tabla Lugares, de la base de datos Lugares (si, ya se, no tengo mucha imaginación, perdón!!), en donde guardaré los registros de cada uno de los elementos que ya tengo en mi interfaz, para eso bríncate a Visual Studio y desde ahí seguirás.
Da click derecho sobre la carpeta de Site de tu proyecto y selecciona “Agregar” y “Nuevo elemento”.

En la ventana auxiliar selecciona la opción de Web Service, en este caso lo llamé Servicio Datos

Hago un pequeño paréntesis para aclarar que este tipo de servicio web es una forma que los desarrolladores de ASP encontrarán muy familiar, además de que su uso es muy extendido dada su antigüedad, pero ahora han sido reemplazados por los maravillosos servicios WCF, esos los verás mas adelante, pero la idea es que seas capaz de usar ambos.

Bien después del breviario, continua con el servicio web, en donde quedará de la siguiente manera

Como puedes ver esto es sencillo, simplemente escribir una función, anteponiendo [WebMethod] para especificar que se trata de un método accesible, igualmente importante es el que el método sea público, también te comento que debes siempre regresar un valor en este tipo de elementos, en este caso la confirmación de que la operación fue realizada por medio de un comando, dentro del método, usamos sentencias base de SQL para poder insertar la información que estamos recibiendo por medio de los parámetros del método, al terminar ejecutamos el proyecto y tendremos una vista así.

Como puedes ver señalé en la imagen la dirección, dado que necesitamos usarla, copia esa dirección y después regresa a Visual Studio, en tu proyecto de desarrollo da click derecho sobre el y escoge la opción de “Agregar referencia de servicio”.

Es en la siguiente ventana en donde deberás copiar la URL que te mencioné en el paso anterior y además ponerle un nombre de referencia, yo lo dejé como Servicio1.

Ya solo hace falta que te vayas al evento click del botón de actualizar de tu interfaz, y escribas el siguiente fragmento de código.

Bien, entonces creas una instancia del cliente SOAP de tu servicio web y por medio de ese objeto mandarás llamar al método web que creaste hace unos pasos así como pasarle los parámetros necesarios, al completar la operación si no hay ningún error simplemente mandas un mensaje de texto diciendo que todo está en orden.

Categories: Blend, Herramientas, Tutoriales Tags:

Herramientas de Visual Basic .NET para Windows Phone 7 liberadas

November 29th, 2010 1 comment

windowsphone_logoEl día esperado para todos los desarrolladores que usan Visual Basic .NET y que desean construir soluciones y aplicaciones para Windows Phone 7 ha llegado.  Por comentarios y preguntas en diferentes ciudades sé que esto ha sido un contratiempo para muchos programadores que efectivamente quieren desarrollar algo para el teléfono pero usando este lenguaje.

El día de hoy han sido liberadas las herramientas de Visual Basic .NET para Windows Phone 7.  Tomen en cuenta que estas no funcionarán en Visual Studio Express para Windows Phone, sino que requieren la versión Professional en adelante.  Si no la tienen, siempre está la opción que se inscriban al programa de apoyo WebsiteSpark Smile (software gratuito durante 3 años… chequen la información).

También cabe mencionar que se liberaron en diferentes idiomas, entre ellas en Español.

Las pueden descargar de esta dirección.

Salu2!

P.D. Sabías que, Visual Basic está en el lugar #7 de los lenguajes de programación más usados, mientras que C# está en #5? Más información en el Índice Tiobe.

Windows Phone 7 Beta

July 14th, 2010 No comments

image

Windows Phone 7 es la próxima versión del sistema operativo para dispositivos móviles de Microsoft.  Debido a que su liberación está muy próxima las herramientas de desarrollo para Visual Studio .NET 2010 han sido liberadas en su fase Beta.  Esta es una excelente oportunidad para que puedan meterse en esta plataforma, que cabe mencionar, usa Silverlight como tecnología para sus aplicaciones!

Así es, si ustedes son desarrolladores de Silverlight ya saben cómo construir aplicativos para Windows Phone 7.  Las instalación de las herramientas incluye una versión de Blend 4 para WP7, las plantillas para VS.NET y el Emulador de WP7.  Pueden descargar las herramientas aquí.

Además de las herramientas, se ha actualizado el Training Kit de Windows Phone 7 a esta última versión Beta.  El Training Kit cuenta con una serie de Prácticas y Documentación para que aprendan rápidamente los conceptos para desarrollar soluciones en el télefono.  Lo pueden descargar aquí.

Es bastante emocionante ser hoy en día un desarrollador de Silverlight, y mucho más aún sabiendo que tus conocimientos los puedes aplicar en esta plataforma móvil.  ¿Deseas iniciar en Silverlight y no sabes cómo?  Revisa el Curso de Introducción a Silverlight 4 – totalmente en Español!

Salu2!!!

Traductor gratuito de recursos de .NET

January 13th, 2010 No comments

En Scientia® Soluciones Informáticas desarrollamos una aplicación sencilla pero muy útil utilizando los servicios de traducción que ofrece BingTM: creamos un traductor de recursos de .NET, el cual se puede descargar, utilizar y distribuir de forma gratuita.
Ver el artículo completo aquí

Moonlight 2.0 Preview Liberado

May 5th, 2009 No comments

Excelente noticia para el mundo de Silverlight: De acuerdo con Miguel De Icaza, el día de hoy ha sido liberado Moonlight 2.0 Preview, el cual incorpora la experiencia de Silverlight 2 en los sistemas operativos de Linux.  Tomen en cuenta que solamente es una vista previa de la versión oficial que será lanzada posteriormente, además de que mide 9.1MB (le han dejado los símbolos de depuración pero posteriormente serán removidos) pero lo interesante es que además incorporan en Moonlight 2.0 algunas características presentes en Silverlight 3 como el soporte a aplicaciones Fuera del Navegador y la clase SaveFileDialog.

Instalación de Moonlight 2.0

Silverlight 2 (y parte de Silverlight 3) ahora disponible en Linux!

Salu2

Categories: General, Herramientas Tags:

Plantillas de Visual Studio .NET 2008 para Silverlight 3 y Silverlight 2

April 10th, 2009 No comments

Una de las *desventajas* que tiene hoy el desarrollar aplicaciones para Silverlight 3 Beta, es que no soporta una instalación de lado a lado con las plantillas de Visual Studio .NET 2008 de Silverlight 2, es decir, o tenemos las plantillas de Silverlight 3 o tenemos las plantillas de Silverlight 2: pero no al mismo tiempo.  Esto será resuelto en Visual Studio .NET 2010 ya que permitirá efectivamente seleccionar la versión de Silverlight a la que queremos apuntar.

No obstante hay una manera rápida de pasarnos de una versión a otra, y es ejecutar un archivo de procesamiento por lotes incluido en un archivo .zip que podemos descargar de aquí.  Básicamente lo que hace el archivo es crearnos un par de archivos .bat (VS_2-TO-3.BAT y VS_3-TO-2.BAT) que podremos ejecutar posteriormente cuando necesitemos tener activa una versión de Silverlight en específico. Estos archivos .bat no hacen más que desinstalar la versión actual e instalar la otra; por lo tanto necesitamos tener los siguientes archivos en un mismo fólder en nuestra máquina:

Al ejecutar Setup_SLTools_Util.bat se crearán los archivos .bat necesarios para pasarnos de una versión a otra (tanto para Visual Studio como para Visual Web Developer):

Figura 1: Fólder con todos los archivos necesarios

Tomen en cuenta que deberán ejecutar los archivos .bat con permisos elevados para que no tengan ningún problema.  Además no deberá estar ejecutándose Visual Studio / VWD en el momento que ejecuten los .bat

Otra cosa importante mencionar es que el cambio de una versión a otra no es silenciosa, es decir, aparecerán las cajas de diálogo para la instalación y tendrán que aceptar la licencia, etc.

Figura 2: Herramientas de Silverlight 2 habilitadas en Visual Studio

Figura 3: Herramientas de Silverlight 3 habilitadas en Visual Studio

Supongo que un futuro no muy lejano tendremos mejores opciones que esta, pero por el momento funciona y es un camino rápido para cuando necesitemos desarrollar aplicaciones de Silverlight 3 sin perder la opción de desarrollar para la versión 2.

Salu2!

Silverlight Spy

April 10th, 2009 No comments

Silverlight Spy es una herramienta que no debe faltar en nuestros equipos de desarrollo cuando construímos aplicaciones con Silverlight.  La herramienta nos permite inspeccionar el contenido de una aplicación en su totalidad, desde la IU, el XAML que lo constituye y también el código fuente de la aplicación (siempre y cuando registremos Reflector en la herramienta).

Para que puedan apreciar más su funcionalidad chequen este video que fue grabado durante el MIX09:

Get Microsoft Silverlight

Categories: Herramientas Tags:

10 gb de hospedaje gratuito para aplicaciones Silverlight (streaming)

April 2nd, 2009 1 comment

Para aquellas personas que estan buscando hospedaje para sus aplicaciones silverlight en el web, live.com tiene este servicio donde ofrece hasta 10 gb.

 http://silverlight.live.com/

No pierdan de vista toda la información de los servicios de nube que microsoft esta desarollando y ofreciendo en su etapa de beta, entre los que se encuentran el servicio de live framework y de mesh, entre otros.