2010-12-12 15 views
5

Necesito desarrollar un gran conjunto de herramientas para ejecutar desde la línea de comandos del servidor (es decir, no la arquitectura del servidor del cliente). Los sistemas no tienen que ser de alto rendimiento; Solo quiero algo fácil de desarrollar.¿Qué idioma es más fácil para desarrollar línea de comandos/GUI simple para Linux?

¿Qué tecnologías puedo usar para construir una GUI simple desde la línea de comandos? Solo necesito menús donde puedo seleccionar una línea/casilla de verificación/ingresar texto libre en un cuadro de diálogo.

Editar: se olvidó de agregar, el acceso a Mysql (es decir, controladores disponibles) es esencial.

+3

Tal vez TkInter es una opción –

+2

Uno que conoce y tiene un entorno de desarrollo para ... – dmckee

+0

@dmckee PHP y C# son mis habilidades más fuertes en este momento, no creo que ninguno sea apropiado para esta tarea (no estoy seguro aún El proyecto php-gtk parece algo así como un proyecto abandonado). –

Respuesta

1

Puede usar Mono for Linux y escribir su programa en C# .NET, luego hacerlo funcionar para Linux, ya que Mono lo permite.

1

En cuanto a las interfaces gráficas de línea de comandos, uno de los mejores frameworks es ncurses. Se abstrae la mayor parte de la fealdad asociada con las aplicaciones de línea de comandos gráficos.

3

python + ncurses sería un buen combo aquí.

2

me gusta usar re.pl de perl de la biblioteca Devel::REPL para interfaces quickie cli. ¡Lea un poco mi razonamiento antes de la votación negativa!

en este tipo de aplicación, parece que va a hacer operaciones de tipo consulta. estos naturalmente se prestan a una interracción de estilo "repl". re.pl le ofrece todos los extras, a saber, edición de comandos e historial. todo lo que necesita escribir son las funciones que los usuarios llamarán. Lo bueno es que los usuarios que conocen Perl se darán cuenta de que pueden use cualquier módulo instalado para extender la funcionalidad de su sistema por sí mismos. En mi caso, utilicé re.pl para crear una herramienta similar a mysqlclient para acceder y visualizar los datos que se estaban comprimiendo de una manera que el mysqlclient estándar no podía manejar.

cito a perl porque es DBI, es la mejor abstracción de base de datos y es lo que he usado ... pero la lógica se puede extender a otras herramientas. la réplica de Python o cualquier otra proporcionaría el mismo beneficio.

1

Tengo que decir, use Python, porque me gusta.

Pero las interfaces basadas en texto no son más o menos vale la pena, ya que parece como una buena idea hasta que nos fijamos en los detalles:

  • no hay realmente un modelo de navegación mediante el teclado estándar para interfaces de usuario de texto ; todos usan su propio esquema
  • ¿Cómo se admite Unicode? (Sugerencia: esto no es trivial)
  • ¿Qué pasa con los diferentes diseños de teclado? ¿Qué tecla pulsa si su teclado no tiene, por ejemplo, un "hogar", "fin" o "Escape"?

ncurses no proporciona un conjunto de widgets, solo operaciones de bajo nivel. Las respuestas a las preguntas anteriores no son fáciles.

Realmente muestra que nadie ha pensado mucho en interfaces de usuario basadas en terminales impulsadas por teclado y texto recientemente, o que estas se habrían solucionado todas.

Las interfaces web las tienen resueltas; de hecho, puede usar un navegador web en modo texto si lo desea.

Los dispositivos modernos como i (teléfono | pad) e incluso teléfonos móviles baratos tienen un navegador web que es lo suficientemente bueno.

Es fácil escribir una aplicación web que utiliza un estilo muy simple (pocas imágenes, poco Javascrfipt) y hacer que funcione sin mucho esfuerzo en una variedad de dispositivos.

Así que yo diría que vaya con el comentario de dmckee "ve con lo que sabes".

Al construir su propia interfaz basada en la terminal, se encontrará en una esquina a largo plazo.

Cuestiones relacionadas