Lernen Sie Ncurses: Erste Schritte Entwickeln von Textschnittstellen

Offenlegung: Ihr Support hilft dabei, die Website am Laufen zu halten! Für einige der auf dieser Seite empfohlenen Dienstleistungen erhalten wir eine Empfehlungsgebühr.


Ncurses ist eine Bibliothek, die hauptsächlich in Linux- und Unix-basierten Betriebssystemen verwendet wird und eine textbasierte visuelle Oberfläche für eine Vielzahl von Tools bietet. Dies bedeutet, dass ein Programm, das ncurses verwendet, eine GUI-ähnliche Oberfläche in einem Terminalfenster anzeigen kann, das die Tastatur- und Mausnavigation unterstützt. Mit anderen Worten, es bietet Funktionen zum Bewegen des Cursors, Erstellen von Fenstern, Erzeugen von Farben und mehr, ohne direkt für einen bestimmten Terminaltyp zu schreiben.

Es ist ein Klon von System V Release 4.0-Flüchen und wird unter der Permissive Free Software License, ähnlich wie bei der MIT-Lizenz, frei vertrieben.

Kurze Geschichte der Flüche

Ncurses hat eine weiterentwickelte Geschichte, die auf Flüche zurückgeht. Die erste Curses-Bibliothek wurde an der University of California in Berkeley entwickelt und verwendete die Termcap-Datenbank, die dokumentierte, wie verschiedene Terminals gesteuert werden. Nach dem Erfolg der neuen Bibliothek veröffentlichte Bell Labs in System V Release 2 eine erweiterte Curses-Bibliothek, die die Terminfo-Datenbank verwendete. Aufgrund der Lizenzbeschränkungen hatte diese Bibliothek in der BSD-Community jedoch keine große Akzeptanz.

In den frühen 80er Jahren begann Pavel Curtis mit der Arbeit an einem Freeware-Klon der Bell Labs-Bibliothek namens pcurses, der bis 1986 beibehalten wurde. Diese neue Bibliothek wurde weiter verbessert, als Zeyd Ben-Halim die Entwicklung übernahm und schließlich als veröffentlicht wurde ncurses im November 1993. In den folgenden Jahren trugen Dutzende von Menschen zu ncurses bei, was zu seiner aktiven Entwicklung und Verbesserung führte. Seit 1996 wird ncurses von Thomas E Dickey gepflegt.

Ncurses wurde auf viele Systeme portiert und wird in fast allen auf dem Linux-Kernel basierenden Systemen verwendet, da das System die Bibliothek unter OpenBSD, FreeBSD und OSX sowie in Umgebungen wie Cygwin und MinGW verflucht.

Warum Flüche?

Die ncurses-Bibliothek bietet ein robustes Framework, mit dem Programmierer im Textmodus visuell ansprechende Benutzeroberflächen erstellen können. Mit seinen Funktionen können Programmierer und Entwickler Anwendungen erstellen, die mehrere Fenster, Formulare, Menüs und Bedienfelder enthalten, die die Befehlsauswahl, Dateneingabe und den Umgang mit überlappenden und gestapelten Fenstern erleichtern.

Einige der Vorteile von Flüchen sind:

  • Die Möglichkeit, Benutzern eine menügesteuerte Oberfläche bereitzustellen
  • Die Möglichkeit, Kontrollkästchen, mehrere Untermenüs und sogar Texteingaben zur Auswahl von Optionen und Befehlen zu verwenden
  • Eine benutzerfreundlichere Umgebung für Benutzer, die mit grafischen Oberflächen vertraut sind.

Beispiele für Programme mit Ncurses

Einige Programme, die ncurses verwenden, umfassen:

  • GNU Midnight Commander: ein visueller Dateimanager.
  • Eignung: Ein visuelles Frontend für das APT-Paketverwaltungstool, das in Debian und anderen Betriebssystemen verwendet wird.
  • Lynx: der textbasierte Internetbrowser.
  • Nvi: new vi, eine Neuimplementierung des klassischen vi-Editors, der traditionell mit BSD- und Unix-Systemen vertrieben wird.
  • Emacs: Ein weiterer Texteditor, der in vielen Unix-Systemen zu finden ist.

Ressourcen

Die folgenden Ressourcen decken alles ab, was mit ncurses zu tun hat: von der Geschichte bis zu praktischen Beispielen und Anwendungen in verschiedenen Programmiersprachen wie C, Python und PHP.

  • Offizielle Website: Die offizielle Website für Flüche mit detaillierter Übersicht und Download-Links.
  • Ein Hacker-Handbuch zu Flüchen: In diesem Handbuch werden die Entwurfsphilosophie, die Implementierungsmethoden und die für die Codierung und Dokumentation verwendeten Konventionen erläutert. Es richtet sich an diejenigen, die das Paket beitragen, portieren oder ändern möchten.
  • Ncurses FAQ: Eine detaillierte FAQ von Thomas Dickey, der für die Wartung von Ncurses verantwortlich ist.
  • Ncurses: Ein sehr detaillierter und gründlicher Überblick über ncurses, seine Geschichte, Entwicklung und Funktionen.
  • Ncurses Programming How To: Dieses Tutorial bietet umfassende Informationen zur Verwendung von ncurses und führt Sie vom Schreiben einer einfachen „Hello World!“ Programm zu komplexeren Formularmanipulationen. Es setzt keine Vorkenntnisse voraus und enthält viele Details und Beispiele.
  • So installieren Sie die Ncurses-Bibliothek unter Linux: Grundlegendes und aktuelles Tutorial, in dem erklärt wird, wie Sie Ncurses auf mehreren Linux-Distributionen installieren.
  • Spielprogrammierung in C mit der ncurses-Bibliothek: etwas fortgeschritteneres Tutorial, das Sie durch die Erstellung einer einfachen Simulation eines Balls führt, der über den Bildschirm hin und her springt.
  • Ncurses Terminal Screen Control: Vollständiges Handbuch zur Verwendung von ncurses mit PHP.
  • Ncurses Library Tutorial für Anfänger: Dieses Tutorial führt Sie durch die Erstellung einer einfachen Oberfläche für einen Texteditor.
  • Code-Projekt: Erstellen einer Ncurses-Benutzeroberfläche mit Python: Ein weiteres etwas fortgeschritteneres Tutorial, in dem erklärt wird, wie Python und ncurses zum Erstellen einer Benutzeroberfläche verwendet werden.
  • Ncurses-Beispiele: Diese Seite enthält mehrere Beispiele für einfache Programme und Spiele, die ncurses verwenden.
  • Erstellen eines Menüs mit Ncurses In C: Ein Tutorial, das sich auf die Verwendung der Programmiersprache C und der grundlegenden ncurses-Funktionen zum Erstellen eines einfachen Menüs konzentriert.

Bücher

Mehrere Bücher behandeln Flüche sehr detailliert und bieten nützliche Referenzen und Beispiele.

  • Programmierhandbuch für NCurses (2007) von Dan Gookin: Dieses Buch dient als einfache Anleitung für die ncurses-Bibliothek und enthält eine vollständige Referenz von mehr als 175 Funktionen, auf die verwiesen und anhand von Beispielen veranschaulicht wird.
  • Guile NCurses Library (2015) von The NCurses Team: Dieses Buch bietet einen detaillierten Überblick über verschiedene Terminals und erklärt, wie die ncurses-Bibliothek die Programmierung für Zeichenzellen-Terminals vereinfacht.
  • Termcap & Terminfo (O’Reilly Nutshell) (1988) von Mui, O’Reilly und Strang: Das Buch befasst sich zwar nicht speziell mit Flüchen, bietet jedoch nützliche Informationen zu Termcap- und Terminfo-Datenbanken. Terminfo wird von ncurses verwendet, daher ist dieses Buch eine hervorragende Ergänzung zu den oben genannten Büchern, da es Beispiele für Funktionen und Syntax für Termcap und Terminfo, das Schreiben und Debuggen von Terminalbeschreibungen und die Terminalinitialisierung enthält.

Schwöre nicht, benutze Flüche

Obwohl fast jede Anwendung, Software und jedes Gadget, die wir heute verwenden, über eine grafische Benutzeroberfläche verfügt, hat das Wissen, wie man mit einer textbasierten Benutzeroberfläche arbeitet, auch seine Anwendungen und Vorteile. Dies ist praktisch, wenn Sie mit Remote-Servern arbeiten oder Hardware mit eingeschränkten Funktionen verwenden möchten. Die oben genannten Ressourcen bringen Sie auf den richtigen Weg, um Flüche zu meistern.

Weiterführende Literatur und Ressourcen

Wir haben weitere Anleitungen, Tutorials und Infografiken zum Thema Codierung und Entwicklung:

  • Mantis Hosting: Finden Sie heraus, welche Webhosting-Unternehmen gute Angebote für dieses beliebte Bug-Tracking-Programm anbieten.
  • Ubuntu Primer: Erfahren Sie alles über eine der beliebtesten Linux-Distributionen.
  • Objektorientierte Programmierung: Lernen Sie die breite Palette objektorientierter Programmiersprachen kennen – einige mögen Sie überraschen.

Würde das Internet das Ende der Welt überleben??

Haben Sie sich jemals gefragt, was eine große Katastrophe für das Internet bedeuten würde? Schauen Sie sich unsere Infografik an: Würde das Internet das Ende der Welt überleben? Es ist möglich, dass wir alle zerstört werden, aber das Internet würde weiterleben.

Würde das Internet das Ende der Welt überleben?
Würde das Internet das Ende der Welt überleben??

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector