2010-12-12 11 views
5

Ich muss eine große Reihe von Tools entwickeln, die von der Server-Befehlszeile ausgeführt werden (d. H. Nicht Client-Server-Architektur). Die Systeme müssen nicht hochleistungsfähig sein; Ich will einfach etwas, mit dem man sich leicht entwickeln kann.Welche Sprache ist am einfachsten zu entwickeln, Kommandozeile/einfache GUI für Linux?

Welche Technologien kann ich verwenden, um eine einfache GUI zu erstellen, die über die Befehlszeile ausgeführt wird? Ich brauche nur Menüs, wo ich eine Zeile/Checkbox auswählen/freien Text in einem Dialog eingeben kann.

Edit: vergessen hinzuzufügen, der Zugriff auf Mysql (d. H. Treiber verfügbar) ist von wesentlicher Bedeutung.

+3

Vielleicht TkInter ist eine Option –

+2

Eine, die Sie wissen und eine Entwicklungsumgebung für ... haben – dmckee

+0

@dmckee PHP und C# sind meine stärksten Fähigkeiten im Moment, ich glaube nicht, dass beide für diese Aufgabe geeignet ist (noch nicht sicher über die php-gtk Projekt sieht eher wie ein verlassenes Projekt aus). –

Antwort

1

Sie könnten Mono for Linux verwenden und schreiben Sie Ihr Programm in C# .NET, dann machen es für Linux arbeiten, da Mono so erlaubt.

1

Soweit grafische Kommandozeilenschnittstellen gehen, ist eines der besten Frameworks ncurses. Es abstrahiert den größten Teil der Hässlichkeit, die mit grafischen Befehlszeilenanwendungen verbunden ist.

3

python + ncurses wäre eine gute Kombination hier.

2

Ich mag perl's re.pl aus der Devel::REPL Bibliothek für Quickie CLI-Schnittstellen. Lies ein bisschen nach meinem Grundprinzip, bevor du abwandelst!

in dieser Art von App klingt es wie Sie abfrageartige Operationen tun werden. diese eignen sich natürlich für eine "repl" -Stil-Interaktion. re.pl gibt Ihnen alle Leckereien, nämlich die Bearbeitung von Befehlen und Geschichte. Alles, was Sie schreiben müssen, sind die Funktionen, die Benutzer aufrufen. Die nette Sache ist, dass Benutzer, die perl wissen, dass sie use jedes installierte Modul erkennen können, um die Funktionalität Ihres Systems auf eigene Faust zu erweitern. In meinem Fall habe ich re.pl verwendet, um ein mysqlclient-ähnliches Werkzeug zu erstellen, um auf Daten zuzugreifen und diese anzuzeigen, die so komprimiert wurden, dass der Standard-mysqlclient nicht damit umgehen konnte.

Ich zitiere perl, weil es DBI ist die beste Datenbank Abstraktion und es ist, was ich verwendet habe .... aber die Begründung kann auf andere Tools erweitert werden. pythons repl oder irgendein anderer würde den gleichen Vorteil zur Verfügung stellen.

1

Ich muss sagen, benutze Python, weil ich es mag.

Aber textbasierte Schnittstellen sind so ziemlich es nicht wert, weil sie wie eine gute Idee erscheinen, bis Sie die Details an:

  • Es für Text-UIs nicht wirklich ein Standardmodell Tastaturnavigation ist ; sie alle benutzen ihr eigenes Schema
  • Wie wird Unicode unterstützt? (Hinweis: Dies ist nicht trivial)
  • Was ist mit verschiedenen Tastaturlayouts? Welchen Schlüssel drückt jemand, wenn seine Tastatur kein "Zuhause", kein "Ende" oder "Escape" hat?

Ncurses bietet kein Widget-Set, nur Low-Level-Operationen. Die Antworten auf die obigen Fragen sind nicht einfach.

Es zeigt wirklich, dass niemand in letzter Zeit viel in Terminal-basierte Tastatur-und-Text-gesteuerte Terminal-UI's gedacht hat, oder diese wären alle gelöst worden.

Web-Schnittstellen haben sie gelöst, in der Tat können Sie einen Text-Modus Web-Browser verwenden, wenn Sie möchten.

Moderne Geräte wie ich (Telefon | Pad) s und sogar billige Handys haben einen Webbrowser, der gut genug ist.

Es ist einfach, eine Webanwendung zu schreiben, die einen sehr einfachen Stil (wenige Bilder, wenig Javascrfip) verwendet und es ohne viel Aufwand auf einer Vielzahl von Geräten funktionieren lässt.

Also würde ich sagen gehen mit Dmckee's Kommentar "gehen mit was Sie wissen".

Indem Sie Ihre eigene Terminal-basierte Schnittstelle erstellen, werden Sie sich langfristig in eine Ecke einreihen.

Verwandte Themen