lunes, 8 de febrero de 2010

EDITRA - Un editor para desarrollar en Python

¿Cómo trabajar con Python? Cuando se instala Python lleva consigo IDLE, un GUI para crear aplicaciones Python desde el primer momento. Para aprender Python no está mal, ya que lleva completitud de código (al estilo Visual Basic), detección de errores y demás cosas. Uno de los problemas que tiene esta herramienta es cuando usamos librerías gráficas, como wxPython, donde sencillamente, hay veces, que "casca". wxPython e IDLE no son compatibles.

También se puede optar por el python.exe de toda la vida, un editor de textos y listo. El problema viene después, cuando la aplicación empieza a hacerse grande y más grande. Necesitamos herramientas de edición mas potentes y un simple editor de texto no es suficiente (un editor normal no lleva completitud de código).

La cuestión es que después de estar varios meses viendo en Internet la oferta de editores, IDE's y RAD's disponibles para Python (me los he instalado todos, los he probado todos, me han gustado casi todos), me he decidido por uno, EDITRA, un editor para programadores escrito por Cody Precord.

EDITRA se puede obtener de http://www.editra.org.

La elección de un editor de desarrollo tiene que ver mucho con cada uno, es algo bastante personal. Así, la gente que viene de Unix está más que habituada al Emacs y vi, con lo que este editor quizás no es para ellos. Si se viene del mundo Java, puede ser que NetBeans sea la mejor opción, ya que no es necesaria ninguna adaptabilidad, ya sabe cual es el entorno de desarrollo.

Si lo que estamos buscando es un entorno de desarrollo rápido de aplicaciones, la mejor opción (y la única, porque yo no la he encontrado, y si alguien la encuentra, por favor, decidlo) es Boa Constructor. Si es un IDE potente, Komodo o Wing (¡aunque son de pago!). Si es un editor de texto avanzado, NotePad++. Todo esto son ejemplos, hay muchos más, como SciTE, Minimum Profit, etc.. Evidentemente, para ver comparativas de las bondades de unos y otros haría falta escribir un post solo para ellos, pero no es este el objetivo. Aquí vamos a hablar de EDITRA, de cómo realizar una configuración sencilla para trabajar con Python, ya que este editor soporta una gran variedad de lenguajes.

Si me he decidido por EDITRA (escrito 100% en Python) es porque tiene todo lo que quiero y necesito (¡¡¡esto no quiere decir que sea lo que quieran los demás, claro!!!). Lo primero y muy importante es que es gratuito. Lo segundo y fundamental, está en español (y no es que tenga algo en contra del inglés, en absoluto, lo leo perfectamente, pero da gusto, después de tanto tiempo trabajando en PowerBuilder, un entorno de desarrollo en el lenguaje patrio). Como características técnicas, tiene todo lo que se necesita para programar, a saber: indentación de código, completitud de código Python, ejecución de la aplicación, compatible con wxPython, plugins para Python descargables, y mega configurable, ademas de las características propias de cualquier editor, como la búsqueda, reemplazo. Y mucho más, como se verá.

EDITRA es un proyecto que se encuentra en fases tempranas de desarrollo (de echo, la última versión a la hora de escribir este post es la 0.5.32). Cada nueva versión tiene nuevas y mejoradas características, las cuales pueden ser totalmente configuradas por el usuario. Es más, la práctica totalidad de las características de EDITRA son configurables, con lo que podemos personalizar al máximo nuestro entorno de trabajo. Y es aquí donde vamos a hablar, de su configuración personalizada.

Para ver esta configuración lo que he hecho ha sido capturar pantallas, de manera que voy mostrando lo que he activado de las múltiples opciones que lleva esta aplicación. Las mas importantes las comento, otras no es necesario, ya que se ven en la captura correspondiente.

Una vez descargado e instalado nos aparece tal que así:

Como hemos comentado anteriormente, EDITRA es un editor multilenguaje. Es por ello que lo primero que hacemos es decirle que vamos a programar en Python, en Preferencias/Analizadores léxicos.

Podemos configurar la apariencia gráfica (el estilo) de la sintaxis del lenguaje, esto es, colores, tipos de letra, según el código que vamos escribiendo. Hay temas de estilo ya creados, aunque podemos crear los propios. Se configura como se ve en la captura de pantalla:














A mi personalmente me gusta el estilo Cream.

Por el momento le hemos dicho a EDITRA lo que queremos y cómo queremos que nos lo muestre (lo básico). Ahora toca decirle qué queremos cada vez que se inicie la aplicación, quienes somos y de donde venimos. Para ello nos vamos a Preferencias. En General, le indicamos que queremos hablar español













En Documento/General podemos configurar el tipo de letra que queremos para escribir. Y algo muy importante, podemos configurar el tabulador para la indentación de código (a mi personalmente, más de 4 me parece excesivo). En Documento/Código le decimos que queremos que siempre que se abra EDITRA se analice la sintaxis de Python (esto me ha gustado mucho). Darse cuenta de la activación de la ayuda del autocompletado.














Para los usuarios que vengan del mundo de Visual Studio de Microsoft, están de enhorabuena (yo que estuve algunos años programando en Visual Basic 6), ya que EDITRA lleva configurado atajos de teclado al estilo de esta herramienta. Esto es:

Algo que me obsesionaba a la hora de elegir un editor para programar en Python era la completitud de código, que la tuviera y que fuera rápida. En IDLE la hay, pero es bastante lenta (¡para mi entre 1 y 2 segundos es lento!). En EDITRA esto va bastante bien. Haz la prueba.

Llegados a este punto vamos a incluir dos características, que en principio están desactivadas en EDITRA. La primera es la activación del Lanzador (Launch), que nos servirá para ejecutar nuestros scripts Python. La segunda es la activación del navegador de código (Code Browser), que nos permitirá navegar a través de nuestra aplicación (esto me ha gustado muchísimo). Para ello nos vamos al gestor de plugins:














Una vez hemos activado Launch, vemos que aparecen en Herramientas 2 opciones para ejecutar código. Para mostrar el lanzador (el que ejecutará el script Python) hay que decírselo a EDITRA, en Ver/Estante/Launch.















NOTA IMPORTANTE: Un punto negativo es que para que el lanzador funcione tiene que estar el fichero de código guardado previamente, de lo contrario no se activa la opción de Ejecutar. Primero se crea el código, se guarda en un fichero, mostramos Launch y entonces nos deja Ejecutar.















Si hacemos click en el icono de herramientas de Launch (esquina superior izquierda del Shelf) podemos configurar el lanzamiento de la aplicación. Para explorar el código y poder navegar a través de él (una vez activado el plugin) hay que decírselo a EDITRA. Lo hacemos y lo probamos:















Darse cuenta lo fácil que es navegar por el desarrollo ahora. Haciendo doble click sobre cualquier elemento del navegador nos lleva directamente al código.

Cosas que no me terminan de convencer. Hay 2. En primer lugar, Launch no permite datos de entrada, solo sirve para datos de salida (print y cosas por el estilo). Así, si tenemos que incluir datos por consola en nuestro script, dará error. Por ejemplo:

Este script en principio debería de funcionar, pero Launch no permite la entrada de datos. Es más, si ejecutamos este fichero en una consola de siempre (cmd.exe) funciona:














En segundo lugar hay un plugin, que nos dice la aplicación podemos descargar, llamado IPyShell, un shell de Python interactivo, que en teoría serviría (creo, no lo sé) para solventar el problema de scripts que piden información por consola. Lo he intentado instalar, pero no sale nada. Lo más seguro es que sea culpa mía. Seguiré investigando. En la web de EDITRA nos da una captura de pantalla, indicando como funciona:

Como una última reseña una funcionalidad que me recuerda a mis días en PowerBuilder, y es que podemos, mediane el uso del ratón, comentar y descomentar regiones de código (esto también me ha gustado bastante). Lo único que hay que hacer es seleccionar el trozo de código que queramos comentar e ir a la opción de poner comentario. Para descomentar, lo mismo, seleccionar y hacer click en la misma opción, tal que así:













CONCLUSIONES

EDITRA es un editor avanzado para desarrollo, para programadores. Escrito totalmente en Python, a primera vista vemos que da todas las facilidades para desarrollar en este lenguaje. Hiper configurable, para todos los gustos y colores. Hay mejores en el mercado, en cierta manera justificado por la temprana edad de este producto y por las empresas grandes que desarrollan productos para uso de Python (ActiveState, Sun, etc.).

Para programar en Python EDITRA tiene las cualidades que se buscan, esto es, indentación y completitud de código, ayuda, sintaxis, en español y gratuito.

Hay algo en este editor que lo hace diferente. Quizás el espíritu pythónico que lo envuelve.

No hay comentarios:

Publicar un comentario