WPF: Que es y que podemos hacer con WPF
09 December 08 09:25 PM | csharp | 0 Comments   

Bueno pues WPF es básicamente el sustituto de Windows Forms. Una nueva tecnología que  nos permite desarrollar aplicaciones de escritorio aprovechando mucho más los recursos gráficos de los últimos sistemas windows.

Sobre todo lo más importante es que se pueden crear aplicaciones más usables (siempre que tengamos un experto en usabilidad) y más vistosas (solo si dejamos que el diseñador haga los gráficos y no nosotros).

Una de las cosas que más se resalta en las charlas de WPF es la separación entre la parte de la interfaz y la del código de la aplicación. Por lo que el desarrollador simplemente tiene que ir añadiendo su código sin tener que tocar nada de la interfaz y el diseñador lo mismo pero en su terreno. Las herramientas que ambos usan son, por el lado del desarrollador Visual Studio y por el lado del diseñador Expression Blend.

image image

Anteriormente la forma de comunicación entre ellos era una imagen que creaba el diseñador de como debía más o menos aparecer la interfaz del programa y el desarrollador intentaba llevarla a cabo con algún lenguaje.

image

Ahora el diseñador cuando crea una interfaz, es esa la que aparecerá finalmente sin adaptaciones de ningún tipo.

image

Para que desarrollador y diseñador puedan trabajar en un mismo proyecto con las estas herramientas tiene que existir un nexo de unión, este es XAML un lenguaje al estilo de XML y que es entendido por Visual Studio y Blend.

Bueno, creo que con esta mini introducción ya vale, necesitaba contar un poco como iba para poder pasar a ver los tipos de aplicaciones y como se crean que será el tema de mi próximo post. De momento os dejo enlaces a aplicaciones reales hechas con WPF.

http://www.turningthepages.com

RoxioCentral

NoteScraps

Otto Store

Saludetes

Filed under: ,
Todo lo que siempre quise saber sobre WPF: El comienzo
04 December 08 01:15 AM | csharp | 0 Comments   

Todos los primeros de año la gente hace promesas sobre lo que espera hacer a lo largo de ese año. Pues bien, una de las cosas que quiero hacer durante los próximos 12 meses es aprender todo lo posible de Windows Presentation Foundation (entre otras cosas claro :D).

Como no quiero esperar hasta enero para empezar, voy a comenzar ya mismo. Para ello escribiré un post semanal dedicado a este tema, se que a alguno le parecerá poco, pero dado mi ritmo de posteo durante los últimos meses creo que es bastante aceptable, además si falta el post alguna semana sois libres de spamearme en el correo :S

Pues nada, dentro de poco subiré el primer post. Creo que no hace falta decir que se aceptan consejos, ideas y sobre todo correcciones.

SaludetesCool

Filed under: ,
Minority Report??
17 November 08 09:46 AM | csharp | 0 Comments   

Desde hace algún tiempo me interesan bastante las nuevas formas de interacción hombre - máquina, y me gusta conocer como se va avanzando en todos los aspectos, no solo facilitar la interfaces más simples e intuitivas sino también el modo en como podemos manejarlas.

Pues bien hoy me he encontrado con algo que no esperaba ver por lo menos hasta dentro de un tiempo. Al final va a ser verdad eso de que el límite está en nuestra imaginación.


g-speak overview 1828121108 from john underkoffler on Vimeo.

Saludetes Cool

Filed under: ,
XNA 3.0 ¡¡ ya está aquí !!
31 October 08 02:04 PM | csharp | 0 Comments   

Pues ya tenemos en la calle la versión 3.0 de XNA y con bastantes cositas nuevas.

image

Vaya tela! como pasa el tiempo, XNA es el primer producto (y espero que no sea el último) que empecé a probar desde que era muy pequeñito en su versión beta y poco a poco se nos va haciendo mayor y facilitándonos las cosas.

En esta ocasión las nuevas características tienen mucho que ver con la comunidad de desarrolladores que se está formando en torno a la XBOX en XBOX Live Community Games. Como por ejemplo, un modo se ha añadido un modo Trial, que permite al desarrollador activarlo para que la gente antes de comprarlo pruebe si le gusta o no.

Se ha añadido a las características del modo multijugador la posibilidad de invitar a otros jugadores a participar en el juego que más nos guste.

Además soporta C# 3.0, LINQ y Visual Studio 2008.

Bueno ahora solo queda que nos pongamos a hacer cosillas con XNA. No os olvidéis de que no tenemos que pasar a mano todas nuestras demos hechas en la versión 2.0, sino que simplemente con abrir el proyecto desde visual estudio nos hace un backup de la solución y la posterior conversión del proyecto a 3.0.

Os dejo aquí los enlaces:

Saludetes

Filed under: ,
Microsoft TouchWall
15 May 08 01:26 AM | csharp | 0 Comments   

Bueno antes de nada lo primero que quiero decir es:

¡¡QUIERO UNOOOOOOOOOOOOO!!

Después de ver el vídeo seguro que vosotros también queréis uno Big Smile.

Este es otro prototipo de pantallas multitactil en las que está investigando Microsoft. Es la misma idea que Surface pero en la pared y menos avanzado (por lo menos por lo que he visto en el video).

Surface se valía de las cámaras que contiene la mesa para detectar las posiciones y además interactuaba con objetos como móviles o PDAs.

TouchWall es un software llamado Plex que va sobre Windows Vista y detecta los movimientos mediante una serie de láseres y una cámara de infrarrojos.

A ver cuando dejan de ponernos los dientes largos Big Smile, bueno a lo mejor al final me tengo que hacer uno yo mismo Stick out tongue

Saludetes Cool

Mono's Winforms 2.0 is now API Complete
14 May 08 10:10 PM | csharp | 0 Comments   

Este título es el que os podéis encontrar nada más llegar al blog de Miguel de Icaza. De esta manera ya tenemos completo WinForms 2.0 y podremos ejecutar nuestras aplicaciones hechas con esta librería además de en Windows, en Linux y Mac OS.

Han tardado 4 años, empezaron en julio de 2004, tiene 12,776 métodos y 115000 líneas de código.

En mi opinión una gran noticia, !! Felicidades a todo el equipo del proyecto MONO !!

 Referencias:

  • Tirania, el blog de Miguel de Icaza
  • Code Monkey, Jonathan Pobst componente del equipo de desarrollo de WinForms en MONO

Saludetes Cool

Filed under: , ,
Trabajo en el equipo de desarrollo del .NET Framework
05 May 08 12:03 AM | csharp | 0 Comments   

Navegando por la red me encuentro con un post de Brad Abrams, en el que comenta que están buscando gente para entrar a desarrollar algunas partes del Framework.

El que quiera cambio de aires ya sabe donde puede probar Big Smile

El blog con la noticia lo tenéis aquí

 

Saludetes Cool

Filed under: ,
Ejecutar dos proyectos a la vez o una aplicación externa
16 April 08 12:40 AM | csharp | 0 Comments   

Hoy revisando el foro de los DotNetClubs, me he encontrado con una pregunta de un compañero de Madrid. La cuestión no es muy difícil ni rebuscada pero suelen estas cosas en las que más se pierde el tiempo cuando estas programando y como seguro si una persona lo ha preguntado hay por lo menos otras 20 que les pasa lo mismo he decidido dejarlo por aquí apuntado y que el dihos Google lo indexe Big Smile.

Básicamente lo que se preguntaba era como poder arrancar dos ejecutables a la vez al arrancar la primera o bien ejecutarla en un momento determinado.

Bueno pues bien tal como yo lo veo existen dos posibilidades, por un lado tienes tus dos proyectos dentro de la misma solución en el Visual Studio, en este caso deberíamos agregar una referencia en el proyecto que se encuentre establecido como principal del segundo proyecto. Esto se haría de la siguiente manera:

 

image

Pulsamos sobre References (referencias) con el botón derecho y pulsamos en Add references (Añadir referencias),

image

luego aparece una ventana en la que iremos a la pestaña Projects (Proyectos) donde vemos los proyectos contenidos en la solución,

image

Finalmente en la primera aplicación donde más queramos (en algún evento de botón, timer o cualquier sitio) nos creamos un objeto del tipo del segundo proyecto y ya podemos utilizar ese segundo programa a la vez que el primero. En mi caso los proyectos son de WPF y las dos líneas de código son las siguientes:

WpfApplication2.Window1 segundoproyecto = new WpfApplication2.Window1();
segundoproyecto.Show();

Esto nos viene bien si los programas que queremos ejecutar a la vez las estamos programando nosotros y están dentro de la misma solución, pero si lo que queremos hacer es ejecutar una aplicación completamente externa como un comando del sistema o ejecutar algún archivo como un pdf, word o un excel la instrucción que deberíamos utilizar es la siguiente:

System.Diagnostics.Process.Start(path);

donde path sería la ubicación del archivo o programa.

Bueno, esto es todo por hoy.

SaludetesCool

Jugando con videos en Expression Blend
06 March 08 10:15 AM | csharp | 0 Comments   

Hacía ya tiempo que no escribía nada en el blog y ya iba siendo hora de aportar algo a la comunidad de nuevo, aunque solo fuera un poquito.

Aprovechando el anuncio de la salida de la preview de Blend 2.5 quiero mostrar como reproducir un vídeo en WPF de una forma diferente a como lo hacemos normalmente con el Windows Media Player o con el VideoLan, lo vamos a mostrar inclinado sobre una ventana en 2D.

Normalmente cuando necesitamos hacer un reproductor multimedia muy rápidamente en Windows Forms, lo que hacemos es directamente agregar la dll del Windows Media Player.

Bueno pues en WPF la forma más rápida es agregar un componente que ya viene hecho denominado MediaElement.

image

Lo malo de este elemento es que solamente podemos ver el vídeo tal cual agregamos el componente a la ventana, es decir, una vez le hemos dado el tamaño adecuado no podemos girarlo, ni inclinarlo ni nada por el estilo, así que necesitamos una solución.

Para ir al siguiente paso hay un "pequeño" concepto que debemos conocer que son los brushes o brochas. Cuando vemos una aplicación en WPF toda ella está siendo pintada por brochas, las brochas pueden pintar desde simples colores sólidos, a gradientes e imágenes :D

Existe un tipo de brocha denominada VisualBrush que permite pintar el área que nosotros queremos de idéntica forma a como está en otro lugar de nuestra aplicación.

La manera de hacerlo es la siguiente, una vez tenemos en el diseñador agregado un componente MediaElement con su propiedad source inicializada (esto lo hacéis mediante los menús de la derecha y si no la veis arriba del todo tenéis un buscador, ponéis source, pulsáis enter y aparece), con el componente seleccionado os vais al menú Tools, luego a Make Brush Resource y en el menú que aparece pulsáis sobre Make Visual Brush Resource y le dais un nombre.

De esta manera ya tenemos una brocha para pintar el elemento que queramos.

Ahora podemos agregar un componente image a nuestra ventana, al cual giraremos e inclinaremos a nuestro antojo, pero para ello tenemos que convertirlo en un objeto 3D.

Con el objeto image seleccionado, pulsamos sobre Tools y luego en Make Image 3D

image

Nuestro objeto image cambia y se convierte en un objeto Viewport3D con varias secciones en su interior. Por medio objects and timeline seleccionamos el modelo (Model).

image

Mientras en el diseñador debemos ver un rectángulo con tres vectores en el centro.

image

Bueno pues tal cual hemos seleccionado Model nos vamos a sus propiedades y en Materials aparecen dos opciones Material y BackMaterial, que se refieren a las texturas que podemos dar al modelo, nosotros solo lo vamos a ver por la parte de delante así que pulsamos sobre Material, y en el menú que aparece pulsamos sobre Brush Resources.

image

Es la parte delimitada de rojo, luego en Local Brush Resources está la brocha que hemos creado anteriormente y que debemos seleccionar.

El diseñador debe tener un aspecto parecido a esto:

image

Si ejecutáis debe comenzar a reproducirse el vídeo que halláis indicado de forma automática tanto en el MediaElement como en el modelo 3D.

A continuación seleccionamos la herramienta Camera Orbit o directamente pulsamos "c", si pinchamos sobre el modelo vemos que podemos rotarlo y girarlo a nuestro antojo.

Veremos algo así:

image

Ahora si ejecutamos ya podemos ver la reproducción inclinada y girada.

image

Bueno de momento eso es todo por hoy, otro día más. :D

Saludetes

MSDN Reader
18 January 08 01:56 PM | csharp | 0 Comments   

Ya tenemos una nueva forma de estar al día en cuanto a las noticias que vienen de MSDN. Se trata de un Reader en WPF al estilo del que tiene por ejemplo el New York Times para leer las noticias y artículos que publican en la web de MSDN y MSDN Magazine.

Además podemos descargarnos el código y echarle un vistazo a la aplicación por dentro, todo un lujo.

image

Los enlaces os los dejo aquí:

- Instalador de MSDN Reader

- Código fuente de MSDN Reader 

 

Saludetes

Nueva versión de XNA :D
14 December 07 01:09 PM | csharp | 0 Comments   

Después de un periodo muy corto en fase beta, desde el 19 de noviembre hasta hoy, ya tenemos la segunda versión definitiva de XNA Game Studio.

Implementa muchas mejoras, la que a mí me parece más importante es la que permite el desarrollo de juego en red y multijugador. Pero bueno el resto de mejoras lo podéis ver aquí.

Si tengo tiempo este finde miro las mejoras y las comento; por cierto con la última versión se va a iniciar la versión 2008 del concurso Dream Build Play.

Bueno dejo los enlaces para que cacharreis si queréis:

Voy a seguir con el currele, :(

 

Saludetes

Filed under: , , ,
Expression Blend: creando un "Motion Path"
10 December 07 11:44 AM | csharp | 0 Comments   

Vamos a ver como podemos crear un "Motion Path" para un elemento de WPF con la herramienta de diseño Expression Blend.

Lo primero de todo arrancamos nuestro Expressión Blend, en mi caso es la versión 2, la preview de septiembre que podéis encontrar aquí.

image

Creamos un nuevo proyecto (Ctrl+Shift+N) y elegimos crear una aplicación para WPF, le damos un nombre y pulsamos sobre "OK".

Ahora lo que haremos será arrastrar un rectángulo sobre la ventana que estamos diseñando, con el rectángulo seleccionado pulsamos sobre propiedades y en la sección de brochas (brushes) reseteamos la propiedad Fill para que el relleno de la figura sea transparente.

image

image

Luego lo que tenemos que hacer es ir al menú Object, luego a Path y pulsamos en la opción Convert to Motion Path.

image 

Aparece una ventana donde debemos indicar el elemento que va a recorrer ese camino:

image

Elegimos el botón que teníamos agregado y automáticamente se coloca en el camino que hemos definido. Se crea una nueva línea de tiempo automáticamente, podemos pulsar sobre el play para ver el nuevo efecto.

Además por defecto el tiempo que tarda en recorrer el camino son 2 segundos, pero podemos editar esto a nuestro gusto buscando el elemento Motion Path del botón y alargamos o acortamos el tiempo que dura el recorrido.

image

También se pueden hacer Motion Path con otras figuras predefinidas o con líneas que dibujemos con el lápiz o la pluma.

La verdad es que es una forma fácil de animar un logo o crear un pequeño efecto en nuestra aplicación.

 

Saludetes

Filed under: , , , ,
Taller de ADO.NET y WinForms
21 November 07 08:15 PM | csharp | 0 Comments   

Pues eso, solo quería anunciar que mañana daré a las 20:00 tendrá lugar un pequeño taller de introducción a ADO.NET con windows forms dentro de las actividades que cada semana realiza el DotNetClub de Albacete. El que se quiera pasar será bienvenido.

El lugar es la Escuela Politécnica Superior de Albacete en el aula de Software 5 

 
Saludetes Cool

Crossposting from LaBloguera.net
Tips: Como resolver DNS
25 October 07 01:07 PM | csharp | 0 Comments   

Hace unos días tuve que probar una aplicación programada por mi (uff!!!Smile) para transmitir archivos a través de sockets en la empresa la empresa del cliente.

El caso es que cuando uno está comenzando a desarrollar un programeja y sobre todo si es novato o por lo menos más que muchos de los compañeros de bloguera (un saludete a todos), muchas veces no te paras a pensar en que luego hay que probarlo fuera de tu entorno de desarrollo.

Esta aplicación que había hecho yo funcionaba a las mil maravillas, dentro de la red del entorno de trabajo. Tu te ibas a cualquier pc, metías la ip de destino, enviar el archivo y "atacando que esto ya chisca" :D.

Pero cuando llegas a la empresa del cliente te acuerdas de que este no tiene ni idea de lo que hay montado en su lugar de trabajo (¡¡y eso que es suyo!!) y tu entonces te pones a preguntar cosas como:

  • · ¿Cual es la IP pública del router?
  • · ¿Es estática o dinámica?
  • · .......
  • · ....

y cosas por el estilo, lo cual te hace darte cuenta del tiempo que estás perdiendo con alguien al que todo le suena a chino. Por esto lo mejor es hacer las cosas no solo que funcionen bien sino también dejarlas lo más "machacadito" para ti y de esta manera ahorrar tiempo.

Además con esto de .NET cada día veo como se ahorra más y más tiempo, porque la soluciones a problemas cotidianos ya están creadas.

Mi programa solo necesitaba que le indicara la dirección web de la empresa, para ahorrarme problemas presentes y futuros. Y la solución se encuentra en cuatro líneas:

//lo primero

using System.Net:

//y luego en un botón de conectar por ejemplo colocamos esto

IPHostEntry IPHost = Dns.GetHostEntry(textBox1.Text);
IPAddress[] direcciones = IPHost.AddressList;
for (int x = 0; x < direcciones.Length; x++)
{
     textBox2.Text += direcciones[x];
}

 

Bueno pues nada más, ya veis que hacía bastante tiempo que no escribía.

 

Saludetes

Crossposting from LaBloguera.net
Me voy al TTT
04 October 07 12:57 PM | csharp | 0 Comments   

Pues eso mismo, que este viernes (mañana) me voy a Madrid al "Train the trainers", un evento interno de Microsoft al cual invitan a estudiantes de los clubs de .Net de España. Este año solamente podia ir una persona por club y después de "duras" discursiones y como los demás están un poco tirillas y yo estoy un poco más fornidoEmbarrassed, al final voy yo.

Lo que haremos será un maratón de charlas, en mi caso de desarrollo de software desde las 10:00 de la mañana hasta las 18:30 de la tarde, parando un poquito para comer y otro poquito para reunirnos los diferentes grupos de gente que vamos al evento, dotnetclubs, grupos de usuarios y MVPs, fundamentalmente para vernos las caras y tantear lo que se va a hacer durante el año.

Las charlas como siempre seguro que no defraudan a nadie, aquí os pongo la agenda del evento:

 09:00 – 10:00
Bienvenida y desayuno

10:00 – 10:40
Tejemanejes MSDN
David Salgado - Algonso Rodriquez

10:50-11:10
Estrella invitada
Oscar del Moral - Program Manager

11:10-12:00
Meigas…haberlas haylas   - ADO.NET Synch Services
Unai Zorrilla - Plain Concepts

12:00 - 12:15
Descanso

12:20 – 13:00
Codigo VIVO - LIVE Services for Developers
David Salgado - Developer Evangelist

13:00 - 14:00
Y se hizo la luz - Silverlight
Isabel Gómez - ISV Developer Advisor

14:00 – 15:00
Almuerzo

15:00 – 16:30
Sidemeeting Grupos de Usuarios y DotNetClubs

16:30 – 17:30
El oso azul
David Carmona - Developer Evangelist

17:30 - 18:30
Las 4 fantásticas
Chema Alonso - MVP de Seguridad y Ricardo Varela - MVP de C#

21:00 – 24:00
Cena

Al día siguiente vamos a salir todos a tiros, yo intentaré saldar viejas cuentas en la batalla de paintball que tendremos durante la mañana del sábado Cool. De esto a ver si me da tiempo a hacer fotos y a disparar al mismo tiempo Geeked.

Saludetes
 

Crossposting from LaBloguera.net
More Posts Next page »