miércoles, 20 de abril de 2011

Ninja IDE: Un IDE Pensado para Python


Por fin alguien se dignó a escribir un IDE como la gente para Python que cualquier ciudadano de a pie pueda usar sin problemas en Linux. Sí, existen varios IDEs para programar en distintos lenguajes, incluso Python, pero este tiene algunos pequeños trucos bajo la manga...


¿Cómo comenzó NINJA-IDE?
NINJA-IDE nació por unos mails enviados a PyAr, cuya temática suele escucharse con bastante frecuencia: "Qué buen IDE para Python puedo usar?", "Por qué no hay un IDE para Python que tenga tal o cual característica?", y las respuestas a estos mails siempre terminan siendo mas o menos las mismas, ya que los IDEs actuales que encontramos disponibles, en su gran mayoría, no estaban diseñados para Python, sino que brindaban la opción de incorporarlo mediante algún Plugin y de esta forma se solía estar utilizando IDEs muy pesados diseñados para otros fines, donde el soporte para Python en realidad era mínimo, y aquellos que si eran para Python terminaban siendo muy orientados a un Framework especifico o no eran Libres. Entonces, motivados por el desafío que representaba, y por ideas interesantes que se plantearon en la lista de correo, decidimos encarar este proyecto enfocándonos en "qué características debería tener un buen IDE para un programador Python".

Con esto en mente comenzamos el desarrollo de NINJA-IDE, cuyo nombre es un derivado del acrónimo recursivo: "Ninja Is Not Just Another IDE". El IDE tiene apenas poco más de dos meses de desarrollo, pero gracias a las ganas y las horas de programación que le estamos dedicando, ya podemos contar con un IDE con muchas funcionalidades implementadas, hasta el punto de poder continuar con el desarrollo de NINJA-IDE utilizando NINJA-IDE, lo cual a su vez nos ayuda para encontrar bugs y mejorar la usabilidad y practicidad de la aplicación, a través de la experiencia y uso continuo de la misma.

El proyecto esta desarrollado bajo licencia libre GPL y puede conseguirse el código a través de:

Algunas de las características actuales del IDE son:
- Funcionalidades típicas de cualquier IDE para el manejo de archivos, de Tabs, indentación automática, Zoom en Editor, etc.
- Al estar escrito en Python y utilizar PyQt, es multiplataforma y fue probado en sistemas Linux, MAC OS X y Windows.
- Resaltado de Sintaxis para un gran variedad de lenguajes (si bien esta centrado en Python, brinda el resaltado de sintaxis para otros lenguajes más para comodidad del programador).
- Posibilidad de usar una Consola Python desde el mismo IDE.
- Permite el manejo de Proyectos en el IDE, reconociendo los mismos como Proyectos Python y a través del IDE crear nuevos archivos y carpetas, borrar archivos existentes, creación automática de archivos "__init__" con la información dentro de ese módulo, etc.
- Permite ocultar y reubicar todos los paneles de la interfaz de una forma muy simple, permitiendo que sea adaptado a los gustos del usuario.
- Permite ver más de un Editor al mismo tiempo de forma vertical u horizontal.
- Extensible a través de la incorporación de Plugins (los cuales pueden crearse utilizando un Plugin de NINJA-IDE para mayor simplicidad).
- Maneja sesiones del IDE, para recordar que archivos y proyectos se encontraban abiertos cuando se cerró y los recupera al abrir nuevamente una instancia del mismo.
- Soporte para Auto-completado (siendo un auto-completado especifico del objeto al que se esta accediendo).
- Actualizaciones automáticas.
- Y muchas características más!

LEER MAS