Artículos en Living In Coria

Agrego el listado de algunos artículos que estoy escribiendo en mi blog personal y que tocan la temática de .Net:



Sobre Robotics:



1.- http://livingincoria.wordpress.com/2010/12/03/31-dias-con-robotics-studio-2008-r3-dia-uno-haciendo-un-proyecto-inicial-con-robotics-y-visual-studio-2-010/



Sobre MonoDroid:



2.- http://livingincoria.wordpress.com/2010/11/22/31-dias-como-monodroid-tercer-dia-configurando-tu-android-para-depurar/

3.- http://livingincoria.wordpress.com/2010/11/13/31-dias-con-monodroid-dia-2-realizando-la-primera-aplicacion-real/

4.- http://livingincoria.wordpress.com/2010/11/11/31-dias-con-monodroid-dia-1-instalacion-de-monodroid/

ASP.NET MVC bajo MonoDevelop I

Introducción

En la casi inminente versión 2.4 de MonoDevelop se incluyen muchas mejoras para el soporte MVC 1. En este artículo voy a hacer un recorrido por el capítulo 2 del libro ASP.NET MVC Framework Preview publicado por firstPress. Y los cambios que hay que hacer para seguir el ejemplo desde MonoDevelop.

Algunos requisitos previos son la instalación de MonoDevelop 2.4 beta, .Net Framework 3.5 SP1 y la última versión de Mono.

 

Crear un proyecto nuevo y las referencias

El proyecto nuevo que vamos a crear se va a llamar PruebaMVC, lo creamos desde el menú Archivo > Nuevo > Solución y seleccionamos posteriormente dentro del apartado C# ASP.NET MVC Project.

Si le damos a construir y posteriormente compilar nos da error en los espacios de nombres System.Web.Mvc y System.Web.Mvc.Ajax. Para solucionarlos tenemos que bajarnos la versión 1.0 del Framework y posteriormente editar las referencias del proyecto.

Para descargarse la versión 1.0 tenemos el enlace 1, tras su instalación normal. Entramos en la carpeta de instalación del framework (en mi caso en C:Archivos de programaMicrosoft ASP.NETASP.NET MVC 1.0), en este directorio nos encontramos 3 carpetas:

  1. Assemblies: que contiene el ensamblado del framework (System.Web.Mvc.dll)
  2. Scripts: que contiene los scripts necesarios para su instalación en IIS (para nosotros no sirve ya que trabajaremos sobre Apache).
  3. Temp: que contiene distintas plantillas para incorporar a Visual Studio (para nosotros igualmente inservible Monodevelop incorpora las propias).

Haciendo doble clic en referencias en la ventana de Solución podemos ver algo así tras incorporar el ensamblado:

 

Ya tenemos de esta manera solucionado el problema de las referencias.

Modificando nuestro proyecto

Para dejar el proyecto tal y como nos indica el libro hemos de eliminar y borrar distintos archivos del proyecto, hasta dejarlo así:

 

Modificamos el archivo HomeController.cs añadiendo las siguientes líneas:

public class HomeController : Controller{

   public string Index(){

      return “Hola Mundo”;

   }

}

Con esto dándole a Ctrl + F8 y posteriormente a F5 tenemos nuestro primer proyecto funcionando.

El enlace entre páginas y la insensibilidad de la entrada sensible de código

Cuando volvemos a crear una vista que es una página, concretamente index.aspx, debemos cortarla y pegarla de si situación actual. De alguna manera, en esta beta MonoDevelop no lo realiza de manera adecuada. Por otro lado, cuando modificaciones el archivo index.aspx y vamos a escribir el siguiente trozo de código:

<%= Html.ActionLink(“FormularioDeEntrada”,”MostrarFormularioDeEntrada”) %>

No nos aconseja que escribamos Html.ActionLink, tal y como muestra la imagen inferior.

Como conclusión

Parece que a la beta le falta cosas por completar, pero en cualquier caso la experiencia es agradable y sencilla. Podemos perfectamente seguir un libro para Visual Studio utilizando Monodevelop sin mucha dificulta.

En el segundo y último artículo sobre ASP.NET MVC en Monodevelop finalizaremos este capítulo 2 del libro.

 

Enlaces

 

1.- AspNetMVC1.msi

 

Charlas de Robótica en las Jornadas Robot US

Cartuja Dot Net, el grupo de usuarios del Parque Tecnológico de la Isla de Cartuja, colabora en estas jornadas con dos charlas, una de ellas sobre Microsoft Robotics Studio y otra sobre programación del puerto serie utilizando Mono.

Las I Jornadas de Robótica RobotUS pretenden ser un evento anual, organizado por la Asociación Universitaria de Robótica de Sevilla (ESIBot),
en el que los alumnos de ingenierías que estén interesados en la
robótica puedan aprender más sobre la misma. Para ello se celebrarán
una serie de conferencias impartidas por personal de investigación de
la Universidad de Sevilla y de otras universidades, representantes de
empresas que trabajan con la robótica y personas que están llevando a
cabo un proyecto robótico.

Además, estas Jornadas también pretenden que los asistentes no se
queden solo con la parte teórica de la robótica, sino que puedan ir un
paso más allá y experimentar con la misma. Para ello se impartirán una
serie de charlas y talleres relacionados con aspectos más prácticos de
la robótica y cuyos contenidos podrán ser aplicados posteriormente. De
forma complementaria se celebrarán competiciones de distintas
modalidades de robótica, en la que los participantes demostrarán su
habilidad en el diseño, fabricación y programación de sus robots.

 

 

Programando en Mono para Gnome (II)

En el artículo de ayer vimos someramente como crear un interfaz de usuario utilizando GTK#, además vimos como crear un evento para salir de aplicación accionando el menú Archivo -> Salir. Hoy vamos a ver enconcreto el ciclo de vida de una aplicación desarrollada para Gnome.

Todo el ciclo de vida de una aplicación para Gnome está mapeada de alguna manera en el objeto Application dentro del espacio de nombre Gtk. El ciclo de vida de una aplicación de Gnome desarrollada bajo Mono sigue el siguiente diagrama de estados:

Es decir, tras ser creada tiene que ser inicializada y puesta en ejecución, como punto final se sale de ella. Entre que es inicializada y puesta en ejecución, es el momento de realizar las acciones iniciales pertinentes, tales como crear la ventana principal y posteriormente mostrarla. De esto, podemos deducir que al igual que una aplicación posee un ciclo de vida lo mismo se puede trasladar a una ventana.

En nuestro ejemplo, en el archivo Main.cs podemos ver como es una inicialización por defecto cuando se crea un proyecto en MonoDevelop:

 

Entre Application.Init () y Application.Run (), se realizan las tareas necesarias para mostrar la ventana principal. Otros métodos y propiedades disponibles en el objeto Application son las siguientes:

  • InitCheck() que devuelve un booleano, dependiendo de si se ha podido realizar la inicialización o no. Por lo demás, es igual que Init.
  • RunIteration() sirve para que el bucle en el que se ejecuta continuamente nuestra aplicación dé una iteracción más, es útil para obligar al refresco de la ventana, para mostrar nuevos cambios cuando por ejemplo se ha actualizado los datos de un webservice.

Para más información acerca de el objeto Gtk.Application se puede recurrir a la propia página web del proyecto Mono o MonoDoc, que es la herramienta de documentación para el programador en la Mono.

 

 

Programando en Mono para Gnome (I)

Con la salida de la última versión de Monodevelop, ya es posible depurar de manera integrada desde este IDE. Por ello, ya viendo que está suficientemente maduro voy a escribir una serie de post relativos a la programación de Gnome bajo .Net (aka Mono) procurando mantener el máximo de compatibilidad entre los distintos sistemas operativos.

Así, cuando iniciamos una solución en MonoDevelop para Linux, si queremos que nuestra aplicación para Gnome mantenga la máxima compatibilidad interplataforma deberemos seleccionar Proyecto GTK# en vez de Proyecto para Gnome, ya que el espacio de nombres gnome no está disponible en Windows ni Mac OS X.

Aunque es posible crear nuestras soluciones/proyectos para Windows Forms, es deseable utilizar GTK#, el binding disponible para C# de GTK+ el interfaz de usuario en que se basa Gnome.

En este ejemplo, vamos a ver como crear una solución que nos permita crear un MiniCalc hecho en C#.Así vamos a tener un menú en la parte superior, una zona con celdas y abajo en la barra de estado un campo donde editar las fórmulas. El resultado será como el que sigue:

 

 

Lo que tenemos aquí, es una ventana que contiene un contenedor que a su vez tiene insetados 3 widgets, el del menú, el que nos va a mostrar las celdas y la barra de estado. El widget se puede modificar, accediendo a la ventana de solución dentro del apartado. Podemos ver mejor como está distribuido jerárquicamente, en este gráfico.

Como podemos observar, aparece otro elemento más GtkScrolledWindow, que es insertado automáticamente por MonoDevelop para permitir tener barras de desplazamiento en la ventana.

Una parte muy importante son los eventos, en este ejemplo vamos solo a ver como salir de la aplicación sin guardar datos. Para salir de aplicación tenemos que usar el objeto Application, el cual vamos a ver con detalle más adelante.

El único evento que hemos creado (en este caso una acción) es la de salir de la aplicación seleccionando la opción salir, que utiliza el método Application.Quit();

 

 

 

 

 

 

 

 

 

 

 

 

25 años de Microsoft Press y Libro gratis de Robotics Studio en PDF

Hoy y sólo hoy, se puede descargar varios libros gratis. Entre ellos uno de programación en Robotics Studio.

 

Para descargar, ir al siguiente enlace

http://co1piltwb.partners.extranet.microsoft.com/mcoeredir/mcoeredirect.aspx?linkId=10685523&s1=0054e7ec-e23a-2513-cb2e-d6e0942d6b05

 

 

Introducción a Robotics Studio (I)

Introducción 

Microsoft Robotics Studio es el entorno de programación de Microsoft para programación de robots. Posee doble licencia, lo cual permite su uso gratuito por parte de aficionados, estudiantes y para su evaluación. La versión comercial es para las empresas y partners. En la nueva versión para Visual Studio 2008 ha pasado a denominarse Microsoft Developer Robotics Studio 2008.

La versión actual de Microsoft Robotics Studio posee los siguientes requerimientos (siempre considerados como mínimos):

  • Visual Studio 2005 Express Edition
  • Microsoft Windows XP Sp2
  • Microsoft .Net Framework 3.5

Requerimientos para la instalación

Previamente instalado VS2005 Express Edition y .Net Framework 3.5, descargamos MDRS2008 de la siguiente url:

http://www.microsoft.com/downloads/details.aspx?FamilyId=57CE326B-2125-4163-A33F-ED2F69E03B56&displaylang=en#filelist

Cómo podemos ver nos podemos descargar el instalable de dos formas, offline (recomendable para instalaciones múltiples y sin conexión a Internet) y online (ocupa menos la descarga pero requiere una conexión a la red).

download

Qué hemos instalado

Si hemos seguido el proceso de instalación de manera clásica (siguiente, siguiente, siguiente…) nos encontramos con una carpeta instalada en vuestro directorio de usuario con el nombre Microsoft Robotics Dev Studio 2008, dentro de ella tenemos podemos encontrar las siguientes carpetas:

 

Nombre Contenido
/bin Contiene los ensamblado y otros ejecutables.
/documentation

Dentro encontramos los dos archivos chm de ayuda de MRDS 2008:

  • VseHelp.chm : ayuda de la simulación.
  • MsrsUserGuide.chm : una ayuda más completa que abarca a todo MRDS.
/licenses Contiene las licencias de otras compañias (como AGEIA que se encarga de la simulación físca) y de uso de MRDS.
/packages Vacío (en principio)
/samples Los ejemplos desarrollados en las ayudas y más…
/store Lugar de almacenamiento de imágenes, archivos xslt…
/test Elementos de prueba
/tools Entre otras cosas plantillas para el desarrollo

Por donde empezar a aprender

Puedes empezar a aprender por este curso introductorio de 12 post el cual este es el primero. Documentación en castellano es dificil de encontrar, en el siguiente enlace puedes encontrar información útil aunque bastante anticuada (alguna de hace más de un año):

http://www.conscious-robots.com/es/robotics-studio/robotics-studio-howto-como-hacer-/7.html

Si eres alumno de la Universidad de Sevilla puedes colaborar en el Club de Robótica (parece caida) coordinado por el gran José Antonio J. Carmona, lo cual es una gran oportunidad. Y cómo no el mágnifico Blog de el Bruno.

Qué hemos visto

  • Los requisitos básicos para la instalación que no son muchos la versión Express de Visual Studio, la última de .Net Framework y MRDS 2008.
  • El contenido de la carpeta de instalación y la localización de la documentación en inglés.
  • Localizar documentación en castellano.

En el próximo post

  • VPL

Comunidades de Constructores de Robots (I): Wall-E Builders

Wall-E es la próxima película de Disney/Pixar que tiene como protagonista a un robot. Antes incluso que existiera fecha de estreno se creó un grupo de constructores de Wall-E en Google Groups.

Si es cierto que es dificil construir un robot y sobre todo con medios “domésticos” en cualquier caso es siempre de valorar encontrarte con personas que han tenido ya las mismas dificultades que tú y te suministran a modo de tutorial soluciones.

Aunque no he visto ningún  elemento como planos y demás, si poseen un gran conjunto de videos, fotos y diagramas a mano alzada para poder elaborar sus prototipos.

Robot Wall-E de un constructor

 

El proceso completo de construcción de un Wall-E se puede ver en [2], para la construcción sólo hacen falta madera, piezas de lego, algún que otro componente electrónico y mucha paciencia.

 

Enlaces:

[1] – http://groups.google.es/group/wall-e

[2] – http://www.robocommunity.com/article/13007/Wall-E-Robot–Homebuilt-Project-Step-By-Step-Digest/