sábado, 17 de abril de 2010

IronPython y IronPython Studio, en español.


Hola. En anteriores artículos hemos visto como utilizar IronPython con SharpDevelop, así como utilizar Reflector para explorar las clases de .NET. Por último, para terminar con esta entrega de IronPython y los IDEs más representativos no podíamos dejar pasar la herramienta de Microsoft para desarrollar con Python para .NET, esto es, IronPython Studio.

En la búsqueda de información sobre este tema me han resultado de gran ayuda dos blogs:

Escritor de código

Pablo Galiano

Y es por ello que dejo constancia.

Se supone que ya tenemos instalado IronPython, tal como se ha comentado en anteriores post.

IRONPYTHON STUDIO PARA IRONPYTHON

IronPython Studio es un RAD e IDE desarrollado por Microsoft para utilizar IronPython con .NET. Este software es gratuito, no hace falta pagar ningún tipo de licencia (royalty). Se basa en el runtime del Visual Studio 2008 Shell.

IronPython Studio se puede instalar sin tener ninguna versión de Visual Studio.

Instalación de IronPython Studio sin Microsoft Visual Studio instalado.

Para instalar IronPython Studio sin tener instalada ninguna versión de Microsft Visual Studio, sigue los siguentes pasos:

  • Instalar el Paquete redistribuible de Visual Studio 2008 Shell (modo aislado) con Service Pack 1. Visual Studio Shell (modo aislado) proporciona la base sobre la que puedes generar un propio entorno de herramientas con personalización de marca que se ejecute en paralelo con Visual Studio. Al usar Visual Studio Shell (modo aislado), podemos acelerar el desarrollo del entorno de herramientas reutilizando el IDE de Visual Studio en la aplicación y centrando la atención en los problemas principales relacionados con IronPython.
  • Una vez bajado el fichero (vs_AppEnvRedist.exe), lo ejecutamos y nos descomprime unos ficheros. En mi caso, me los deja en C:\VS_2008_Shell_Redist\Isolated_Mode. Ejecutamos el fichero vs_shell_isolated.esn.exe, y comienza a instalarse el Visual Studio 2008 Shell (isolated mode) - ENU.

NOTA: Descargar el IronPythonStudioIsolatedSetup.
  • Y probamos si se ha instalado correctamente ejecutando el IronPython Studio.


  • Creamos un nuevo proyecto (Archivo/Nuevo/Proyecto):


¿Dónde están las templates (plantillas) de IronPython? (missing proyect templates)

Como puede observarse en el screenshot, al intentar crear un proyecto nuevo solo nos deja como opción crearlo a partir de la plantilla WPF( Windows Presentation Foundation) para crear una aplicación. Evidentemente, esto no es lo que queremos. Necesitamos decirle a IronPython Studio que queremos plantillas para crear aplicaciones IronPython (ventanas Windows, Consola, etc.).
  • Instalar las plantillas de IronPython en IronPython Studio. Para realizar este punto lo que tenemos que hacer es copiar las plantillas que han sido instaladas en el Visual Studio 2008 Shell y pasarlas a IronPython Studio. Las plantillas que necesitamos están en: C:\Archivos de programa\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\IronPython Studio\1033
Estos ficheros .ZIP son las plantillas de IronPython, que necesitamos copiar a la carpeta de IronPython Studio (en local) para poderlas utilizar. ¿Dónde se copian? Seleccionamos estos .ZIP y los llevamos a:
C:\Documents and Settings\angel\Mis documentos\IronPython Studio\Templates\ProjectTemplates


NOTA IMPORTANTE: No hay que descomprimir nada.
  • Volvemos a crear un nuevo proyecto, y ahora sí, nos salen Mis plantillas para poder desarrollar soluciones en IronPython (Windows Application, Console Application, Class Library, WPF Application):

OBSERVACIONES: Evidentemente, las rutas absolutas que he dado son con respecto a mi ordenador. Dependiendo del usuario y la unidad donde tenga instalado Visual Studio 2008 Shell y IronPython Studio, dichas rutas absolutas cambiarán en la letra de la unidad y en el nombre de la cuenta de usuario.
CREAR UNA APLICACIÓN EN IRONPYTHON STUDIO

Ahora vamos a ver como crear una aplicación Windows con IronPython Studio. Lo primero es crear un proyecto y elegir la plantilla de aplicación Windows, tal que así:

A continuación se nos genera todo el código necesario, de forma automática, para crear una ventana Windows.

Si hacemos click en la pestaña Program.py podemos ver el código necesario para llamar a la ventana.

El código que crea la ventana lo podemos ver haciendo doble click sobre la propia ventana (darse cuenta del from Form1 import *).

Como se puede observar es código Python, en donde las clases de .NET las importamos con IMPORT. Esto es, hacemos referencias a los namespaces de .NET como si fueran módulos Python. ¡Impresionante! ¡Y muy sencillo! El lector debe de darse cuenta de las posibilidades que tiene este tipo de herramienta (IronPython).

Vamos a darle algo de vida a nuestra aplicación, insertando en el contenedor (la ventana Windows) objetos, para realizar nuestra primera aplicación IronPython. Para ello, fijarse en la pestaña vertical a la izquierda, denominada Cuadro de Herramientas. Si hacemos click nos aparecen todos los objetos que podemos insertar en nuestra ventana, mediante arrastrar y soltar (drag and drop).

IronPython Studio se basa en Visual Studio 2008, por lo tanto si el lector viene de trabajar con herramientas de Microsoft Visual Studio no le va a suponer esfuerzo alguno el empezar a desarrollar. Para el profano, decir que según seleccione en los objetos del diseño de la ventana, en la parte derecha le aparecerán las propiedades de dicho objeto. Todo es cuestión de experimentar.

Incluyo algunos objetos y queda tal que así:


Si incluimos texto en la caja de texto y hacemos click nos saldrá un mensaje con el texto introducido. Además he incluido varios objetos más, como un Label Link.

El código completo de Form1.py es el siguiente:

En la última imagen del código podemos observar lo único que he tenido que escribir en código. Todo lo demás ha sido únicamente cambiando en el diseñador los valores de las propiedades.

Y finalmente vemos el funcionamiento, ejecutando la aplicación. Para ello, pulsamos F5 ó click en la flechita verde. El resultado es el siguiente:




CONCLUSIONES

IronPython es una implementación del lenguaje de programación Python escrito en C# para poder utilizar el framework .NET de Microsoft. Lo hace accediendo a los namespaces de .NET como si fueran módulos a importar. Se acceden a clases, a atributos y métodos como siempre. Si no se sabe ó se desconoce la plataforma .NET hay herramientas, como Reflector, que ayudan a buscar clases y namespaces en donde encontrar la información requerida.

IronPython dispone de varios IDE de desarrollo. Los más importantes y destacados son SharpDevelop, que es software libre, y IronPython Studio, de Microsoft, en donde no es necesario pagar ningún tipo de licencia.

Desde mi punto de vista SharpDevelop es más estable y robusto, dando más funcionalidad que IronPython Studio, el cual carece de ciertas cualidades y en determinadas situaciones padece de una inestabilidad manifiesta.

IronPython Studio depende de Visual Studio 2008 Shell. Sin embargo Microsoft ha sacado al mercado Visual Studio 2010. Habrá que comprobar si con la nueva versión de Microsoft, IronPython Studio mejora en estabilidad.

Espero que os haya servido de ayuda estos post sobre IronPython, sus virtudes y defectos y las herramientas que disponemos para realizar proyectos.

Saludos.

6 comentarios:

  1. Buenos tardes.

    Estoy intentando crear un IDE para un lenguaje de programación, logre crear una aplicación Shell Isolated con un VSIX Project para el IntelliSense y otro VSIX Project para el color de Sintaxis. En esa aplicación de Shell Isolated quiero agregar una plantilla, si eso es posible. ¿Estoy en lo correcto?

    Realize los pasos del articulo pero no logro que funcione.

    Tengo el ejemplo con IronPython, el cual si muestra sus plantillas, pero no puedo lograr hacer que funcione en mi aplicación shell.

    Desde ya muchas gracias.
    Fabiana.

    ResponderEliminar
  2. Hola, ¿Sabes si se puede instalar en VisualStudio 2012?
    Saludos, Carlos RJ.

    ResponderEliminar
  3. Ya esta VS 2015 comunity que es una versión gratis para programadores y pequeñas empresas de la professional, y contiene lo ultimo de ironpython y demás herramientas.

    ResponderEliminar
  4. Ya esta VS 2015 comunity que es una versión gratis para programadores y pequeñas empresas de la professional, y contiene lo ultimo de ironpython y demás herramientas.

    ResponderEliminar