Plattformübergreifende Softwareentwicklung mit Tclkit

© Thomas Sztanek, 123RF

Motorisierte Skripte

Zwischen Skriptsprachen und den klassischen Compilersprachen gibt es kaum noch Performance-Unterschiede, aber ein Nachteil der Skriptsprachen war bisher, dass man für sie zunächst einen Interpreter installieren musste. Tclkit hebt diesen Malus auf.
RAID-Technologie verspricht höhere Performance und mehr Sicherheit beim permanenten Speichern von Daten. Die ADMIN-Redaktion gibt einen Überblick über ... (mehr)

Für einen Compiler kann zuweilen sprechen, dass er Firmengeheimnisse verschleiert, die in Algorithmen im Programmcode implementiert sind, wenn der Anwender nur das kompilierte Programm erhält. Wo diese Überlegung keine Rolle spielt, kann eine Skriptsprache vorteilhaft sein, denn so ist der aktuelle Programmcode stets verfügbar. Ein Nachteil von Skriptsprachen besteht allerdings darin, dass der Interpreter auf dem Zielsystem und auf allen geforderten Plattformen verfügbar sein muss.

Eine Skriptsprache, die bereits seit über 20 Jahren – allerdings eher im Verborgenen – auf dem Markt ist, heißt Tcl/Tk. Ihre Vorteile sind die einfache Erlernbarkeit, die hohe Ausführungsgeschwindigkeit und die Verfügbarkeit für unterschiedliche Rechner-Plattformen.

Normalerweise braucht auch Tcl/Tk immer einen Interpreter, wo man dessen Installation aber umgehen möchte, kann man auf das Programm tclkit zählen. Bei tclkit handelt es sich um ein ausführbares Programm, das einen Tcl-Interpreter enthält und die gesamte Laufzeitumgebung in einem gepackten virtuellen Dateisystem mit sich bringt. Tclkit ist für unterschiedliche Plattformen verfügbar und in der Lage, sowohl Tcl-Dateien als auch das sogenannte Starkit zu interpretieren. Durch einen speziellen Mechanismus kann ein Starkit mit einem tclkit verbunden werden und es entsteht eine plattformabhängige, ausführbare Datei, ein Starpack. Wie das genau geht, wird hier erläutert.

Voraussetzungen

Die Entwicklung von Tcl-Programmen kann grundsätzlich auch mit einem tclkit erfolgen. In der Regel werden meist zusätzliche Module (Packages) benötigt, die in kompletten Laufzeitumgebungen oft schon enthalten sind, weshalb es sich empfiehlt, für die Entwicklung von Starkits/Starpacks eine solche komplette Laufzeitumgebung zu installieren. Für die Betriebssysteme Windows und Linux und Mac OS X stellt die Firma Active State unter anderem die ActiveTcl Community Edition (derzeit aktuelle Version 8.5.11.1) zur Verfügung.

Die Installation erfolgt mit einem eigenen Installer. Man spielt am besten alle Komponenten sowie die Demo-Programme auf. Danach lässt sich die Installation mit den beigefügten Demo-Programmen testen. Dazu wird unter Windows im Startmenü unter dem Submenü Demos der Eintrag »Tk« gewählt, unter Linux befindet sich im Verzeichnis Demo/Tk8.5 das Skript »widget.tcl« , das mit »wish widget.tcl« aufgerufen wird.

Die benötigten Dateien für die Starkit/Starpack-Erstellung können im Internet hier [1] heruntergeladen werden. Man benötigt das Programm »tclkit« und ein Starpack mit dem Namen »sdx.kit« (Starkit Developer eXtension). Unter Windows werden zwei tclkits angeboten, eines für den Textmodus (cmd-Programme) ohne Tk und ein weiteres mit Tk für Programme mit GUI. Zur Erstellung der Starkits unter Windows ist in jedem Fall das tclkit ohne Tk (tclkitsh…exe) notwendig. Die heruntergeladenen Dateien werden nun in ein Verzeichnis gelegt, das am besten in der PATH-Variable eingetragen ist. Die Datei »sdx-20110317.kit« benennt der Anwender in »sdx.kit« , die tclkit-Programme einfach in »tclkit« beziehungsweise »tclkit.exe« und »tclkitsh.exe« um. Auf 64-Bit-Systemen wie Windows Server 2008 R2 ist der Einsatz eines 64-Bit-Tclkits notwendig.

Nun lässt sich schon ein einfaches Demo-Skript unter dem Namen »Hello.tcl« anlegen:

#!/bin/sh
##\
exec wish "$0" "$@"
package require Tk
button .hello -text "Hello World" -command exit
pack .hello

Wird diese Datei unter Linux ausführbar gemacht, so zeigt der Aufruf von »./hello.tcl« ein Fenster mit dem Button "Hello World" an, das nach dem Klick auf den Button beendet wird (Abbildung 1). Unter Windows lässt sich diese Datei mit einem Doppelklick starten.

Abbildung 1: Die Ausgabe desSkripts Hello.tcl.

GUIs mit Tk

Die ersten drei Zeilen des Programmcodes werden nur unter Linux benötigt, damit die Datei direkt ausgeführt werden kann. Die Zeile

package require Tk

lädt die grafische Komponente Tk. Dies ist beim Starten des Skripts mit der Tcl-Laufzeitumgebung nicht nötig, wird allerdings für die korrekte Ausführung mit dem tclkit benötigt. Die Zeile 6 erzeugt den "Hello World"-Button, die Zeile 7 zeigt den Button am Bildschirm an.

Das Skript »hello.tcl« lässt sich auch direkt mit dem tclkit ausführen. Dazu gibt man in einer Shell (oder im Cmd-Fenster) im Verzeichnis des Skripts

tclkit hello.tcl

ein. Es öffnet sich wieder ein Fenster mit dem Button "Hello World".

comments powered by Disqus

Artikel der Woche

Anti-Ransomware-Tools

Ransomware ist nach wie vor eine Plage und das Potenzial, das derartige Schadsoftware besitzt, stellte erst Mitte Mai "WannaDecrypt0r" unter Beweis. Der beste Schutz vor Ransomware sind Backups, doch das wissen auch die Erpresser. Daher begnügen sich diese in Zukunft nicht mehr damit, Dateien "nur" zu verschlüsseln. Vielmehr kopieren sich Angreifer die Daten und drohen mit deren Veröffentlichung. Angesichts zahlloser neuer Varianten lassen sich Virenwächter regelmäßig austricksen. Spezielle Anti-Ransomware-Tools versprechen daher Abhilfe. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Linux-Backup

Welche Backup-Lösung setzen Sie für Linux im professionellen Umfeld ein?

  • keine
  • eigene Scripts
  • rsnapshot
  • rdiff-backup
  • Bacula
  • Bareos
  • Borg
  • Duplicity
  • Amanda
  • Burp
  • Clonezilla
  • Acronis
  • Arkeia
  • SEP sesam
  • Veeam
  • Redo Backup
  • Relax-and-Recover
  • andere kommerzielle Software
  • andere Open-Source-Software

Google+

Ausgabe /2017

Microsite