Personal Website

My Web: MindEchoes.com

Sunday, March 6, 2011

NINJA-IDE Brainstorming



El sábado a la tarde tuvimos la tan anhelada sesión de Brainstorming después de festejar (medio tarde) el release de la versión 1.0 de NINJA-IDE con una choripaneada.

Durante la charla se hablaron de varias cosas de NINJA-IDE que se han identificado para mejorar y arreglar, de las cuales ya se está trabajando en algunas para que se solucionen para el Release de la versión 1.1 (posiblemente para fines de Abril)... y otras que serán incluidas en la versión 2.0.

En cuanto a las Features para la Versión 2.0 de NINJA-IDE se han identificado las siguientes funcionalidades con las que se trabajara para que sean incluidas en dicha versión:

  • Definir una Nueva Arquitectura para NINJA-IDE (Posiblemente basada en Extensions)
  • Definir una completa y simple API para los Plugins de NINJA-IDE.
  • Incluir Debuguer gráfico.
  • Funcionalidad: agregar ultima linea vacía de forma automática y borrar de forma automática los espacios de sobra en el documento al guardar el archivo (configurable desde Preferencias)
  • Incluir un explorador Gráfico del proyecto (tipo BlueJ), que permita ver las relaciones de las clases a través de un diagrama de clases y poder entender a simple vista la navegabilidad entre las mismas, etc.
  • Soportas Plantillas para la creación de Proyectos y Archivos.
  • Pylint y PyChecker (Analizar ambos y definir si serán incluidos).
  • Permitir la navegación entre archivos presionando Ctrl+Click en una función en el código y que dicha acción lleve a su definición. También que al tener presionado Ctrl y dejar el mouse sobre la función, se muestre un popup con las primeras lineas del código de esa función para decidir si saltar ahí o no. O también se pueda mostrar la DOC del método.
  • DOCUMENTAR CÓDIGO!
  • Agregar Plugins de Versionado para: Hg, Git, Svn
  • Plugin JsLint para Js
  • Agregar un Plugin que permita la edición en grupo de un archivo (en tiempo real y de forma distribuida), para trabajo colaborativo, revisiones de código, etc.
  • Agregar soporte para Bookmarks, que permitan marcar lineas de código de distintos archivos con bookmarks y de esa forma con flechas de navegación en el IDE, ir saltando de un bookmark a otro en los distintos documentos de forma automática para poder desplazarse sencillamente hacia la zona de los distintos archivos en los que se esta trabajando.
  • Soportar el cambio entre los Tabs del editor con una especie de Alt+Tab como hace el sistema operativo con las ventanas.
  • Go! (similar a "Finding Code Locator" de Qt Creator), permite buscar por funciones, archivos, clases, etc. de forma extremadamente simple y ver los resultados como van siendo filtrados, para no tener que recordar en que paquete estaba cada cosa, etc. Acceso directo a cualquier tipo de información de los proyectos cargados en NINJA-IDE.
  • Analizar el impacto en Performance de agregar los análisis estáticos de Código mientras el código esta siendo escrito y no al guardar al archivo.
  • Mejorar las funcionalidades de Code Completion (agregando soporte para archivos que no pertenezcan a un proyecto, etc)
  • Soporte para idiomas
  • Agregar más funcionalidades de Rope en NINJA-IDE
  • Permitir que los Shortcuts sean configurables.
  • Soporte para Virtualenv
  • Opción de validación en los Plugins durante la carga, para que cada plugin pueda analizar si se satisfacen las dependencias que pudiera llegar a tener.
  • Plugin para dar Presentaciones con código.
  • INCLUIR TESTS UNITARIOS!!
  • Soporte para Python 2 y 3


Otras Features identificadas, pero que fueron marcadas como NO CRITICAS para la versión 2.0, es decir, que se tienen en cuenta para ser incluidas, pero según la disposición de tiempos serán analizadas si su inclusión sera factible o de lo contrario se pasarán para una siguiente versión, son:

  • Incluir de forma nativa en NINJA-IDE un Diseñador Gráfico de UI.
  • Incorporar en NINJA-IDE una funcionalidad que permita manejar el IDE a través de una linea de comandos tipo Vim.
  • Soporte para GAE y Django
  • Code Completion para markup
  • Asistir al usuario con Code Recipes
  • Plugin de exportación de código para Blogs.
  • Code Completion para imports.


Si alguien tiene alguna sugerencia de Features que les parece que son muy importantes y deberían ser incluidas en la Versión 2.0 de NINJA-IDE, todavía se están recibiendo sugerencias, para que puedan ser analizada y posiblemente incluida en esta siguiente versión o tenida en cuenta para la próxima versión llegado el caso.

4 comments:

juancarlospaco said...

Por eso pregunte por un OS Shell en la GUI de Ninja, para ejecutar VIM.

Te diria no te gastes en crear tu propio Vim, solo pone un OS Shell y cada uno se arreglara con su Vim/Emacs, mas que nada por lo dificil que seria implementar el tema de las configs de Vim/Emacs en 1 sola cosa.

Diseñador Grafico de UI no es para nada urgente, ademas para que Toolkit???, no todos pueden usar Qt.
Agregar algo como ayuda o sugerencias de algunos GUI toolkit (Wx, GTk, Tk) populares seria mucho mas util.

Elías said...

Y las fotos que saco fallen?
El publico quiere ver la ñoñes :D
y el backstage de las ideas.

exit()

Diego Sarmentero said...

No me las paso todavía... :S

Ctrl+D

Elías said...

1k de firmas para que Fallen les pase las fotos a Diego!!

a Darth Vader se le esta cansando el pulgar y su pulmon ya no es el mismo desde que empezo a fumar.

Suerte