info@a-coding-project.de

JScript.net – Tutorial, Tipps & Tricks

JScript.Net ist Microsofts neuster Streich. Es vereint alle Vorzüge von JScript bzw. JavaScript , fügt viele neue Komponente hinzu und ermöglicht es erstmals mit JScript wirklich zu programmieren - im wahrsten Sinne des Wortes.

Was ist .NET?

.NET (gesprochen Dot-Net) ist eine neue von Microsoft geschaffene Plattform die die Entwicklung von Anwendungen erlaubt. Die gesamte Strategie dahinter verfolgt primär ein Ziel: Es sollen Anwendungen erstellt werden können - egal in welcher Programmiersprache. Das .NET-Framework stellt die Basis des Ganzen dar. Es liefert notwendige Tools, stellt Klassen und Objekte zur Verfügung und noch wichtiger: Es definiert den Bau einer .NET-Anwendung. Diese Definition ist die CLR (Common Language Runtime), die sämtliche Anwendungen in einem Nenner zusammen fast. Weitere Teilbereiche ermöglichen das Kompilieren, das Portieren auf andere Systeme oder spezialisiertere Dinge wie die Verbindung zu anderen Programmen oder zum Internet.

Wie funktioniert .NET?

Das Prinzip von .NET ist zwar recht umfangreich, sollte dennoch relativ verständlich sein, sofern man sich schon mal mit der Entwicklung von Anwendungen beschäftigt hat:
Der Programmierer hat - wie bereits erwähnt - die freie Wahl, in welcher Sprache er seine Anwendung schreiben möchte. Sämtliche Sprachen, die im .NET-Framework verwendet werden können (so auch Jscript.Net) folgen dabei einer sehr strikten Typisierung und ebenso strengen Regeln. Ist die Anwendung fertig, kann sie kompiliert werden. Beim Kompilieren übersetzt der Kompiler den Quellcode in MSIL (Microsoft Intermediate Language). MSIL kann als ein prozessorunabhängiger Satz von Anweisungen verstanden werden. Dieser Satz gibt genauste Informationen über die Dinge die innerhalb der Anwendung geschehen sollen - Laden, Speichern, Aufrufen von Methoden, usw. Darüber hinaus kann dieser MSIL-Code auf einfache Weise in systemeigenen Code konvertiert werden und ist durch ihre Ungebundenheit aber auch auf andere Systeme übertragbar (unter gegebenen Voraussetzungen). Zu diesem MSIL-Code gehört außerdem immer noch ein Assembly. Ein Assembly besteht aus einer Reihe von Informationen wie Typen, verwendeten Ressourcen und anderen wichtigen Dingen. Durch sie wird die Weitergabe der Software ermöglicht. Der Kompiler kann das Assembly lesen und aus ihm wichtige Schlußfolgerungen für eine Anwendung ziehen. Ohne das Assembly kann der MSIL-Code nicht übersetzt werden, da notwendige Informationen fehlen würden.
Damit ist die Anwendung aber noch nicht ausführbar. Bevor dies getan werden kann, muss der Code erst in eine prozessorspezifische Sprache umgewandelt werden - letztlich ist es nämlich der Prozessor, der den Code ausführen muss. In der Regel geschieht dies durch eine JIT-Kompilierung (JIT = Just in Time) wozu das .NET-Framework die hierfür notwendigen Tools zur Verfügung stellt. Ist die Anwendung endgültig fertig kompiliert kann sie ausgeführt werden. Soviel zur Theorie.

Was ist neu in JScript.NET?

Das neue an JScript.NET im Gegensatz zu JScript bzw. JavaScript ergibt sich aus dem oben genannten: Es können echte Programme geschrieben werden. Das ist zwar eine gute Nachricht, doch dabei gibt es auch eine schlechte: Wie oben ebenfalls bereits angesprochen folgt das .NET-Framework sehr strengen Regeln, worunter auch Jscript.NET mit einbegriffen ist. Letztlich reicht es für JScript.NET nicht einfach nur aus wenn man einfache JavaScript - bzw. JScript-Anwendungen für Webseiten erstellen kann. JScript.NET wurde durch viele Dinge erweitert und wird damit zwar vielseitiger aber auch schwieriger. Als Fazit könnte man also zusammenfassend sagen, dass man mit JScript.NET wieder von vorn anfangen muss, auch wenn man JScript bereits beherrscht.

Voraussetzungen für .NET

Die Voraussetzungen für eine .NET-Anwendung sind relativ "gering":

  • Betriebssystem: Windows 98, Windows ME, Windows NT/NT Server 4.0 (mit Service Pack 6.0a oder höher), Windows 2000 Professional, Server oder Advanced Server oder Windows XP Home Edition oder Professional
  • Software: Internet Explorer 5.01 oder höher sowie Microsoft® Windows® Installer 2.0 oder höher
  • Hardware: min. Pentium 133 MHz, 32 MB RAM
Um eine .NET-Anwendung entwickeln zu können brauchen Sie dazu noch das .NET-SDK. Dies ist eine mehrere hundert Megabyte große "Bibliothek" an Software, Treibern und nötigen Referenzen um eben derartige Anwendungen erstellen zu können. Das .NET-SDK liefert im Prinzip alles was zum Entwickeln nötig ist - die Entwicklung selbst ist damit jedoch etwas unkomfortabel. Da wir uns hier näher mit der Entwicklung von JScript.NET-Anwendungen auseinander setzen möchten, ist also die Suche nach einem geeigneten Tool angesagt. Prinzipiell ist auch ein normaler Texteditor verwendbar, bei komplexen oder grafischen Anwendungen jedoch nur bedingt zu empfehlen. Leider fehlt es hier noch an nützlichen und vor allem erschwinglichen Tools. Sehr nützlich jedoch sehr teuer ist Microsofts Lösung zum Thema .NET-Entwicklung: Visual Studio.NET(VS.NET). Wer schon mal mit ähnlichen Programmen gearbeitet hat, wie z.B. Visual Studio 6.0, Delphi oder VisualC, dem sollte das Prinzip recht bekannt vorkommen: Das Programm stellt eine visuelle Benutzeroberfläche dar, in der zum einen die grafischen Komponenten wie Buttons, Fenster oder Textfelder relativ leicht durch Drag-And-Drop eingebunden werden können, und in der zum anderen der Quellcode der Anwendung eingetippt werden kann. Unzählige Funktionen, Helferlein und Tools unterstützen den Entwickler zusätzlich. Die im folgenden vorgestellten Syntax und Beispiele sind jedoch auch ohne eine teure Entwicklungsumgebung verwendbar und können mit jedem Editor erstellt werden.

Voraussetzungen für die Programmierung von JScript.NET

Um aus JScript.NET-Quellcode eine richtige Anwendung erzeugen zu können, muss der Code zuerst kompiliert werden. Diese Aufgabe übernimmt für uns das kleine Dienstprogramm jsc.exe, das auch im .NET-SDK enthalten ist. Sie finden es unter [LW]:WINDOWSMicrosoft.NETFramework[Framework-Version]. Das .NET-SDK muss dazu natürlich vorher installiert werden. Sie können es kostenlos von Microsofts Homepage herunterladen. Da der Setup knapp 130 MB groß ist empfiehlt es sich (sofern man nicht gerade über eine Standleitung oder DSL verfügt) den in 10 Teile zerlegte Setup herunter zu laden (falls eine Datei doch mal nicht fehlerfrei geladen sein sollte ist's nicht ganz so schlimm). Alternativ kann es auch auf CD bestellt werden. Die entsprechenden Links dazu:

http://microsoft.order-2.com/developertools/

Neben diesen Software-Voraussetzungen wird hier natürlich davon ausgegangen, dass Sie sich zumindest mit JavaScript bzw. JScript auskennen da in diesem Zusammenhang hier nur die Erneuerungen und Änderungen des neuen JScript's erläutert werden.

Das .NET-SDK installieren

Die Installation des .NET-SDK sollte soweit keine Schwierigkeiten bereiten. Laden Sie es komplett aus dem Internet herunter und lesen Sie die angezeigten Informationen auf der entsprechenden Website von Microsoft. Achten Sie darauf, dass manche Komponenten, wie z.B. der Internet Explorer, der Internet Information Server oder MDAC möglichst vor der Installation des .NET-SDK bereitstehen und funktionsfähig sein sollten. Haben Sie das zerteilte Package herunter geladen, so müssen Sie erst die Datei setup.bat ausführen. Diese setzt aus den Einzelteilen das eigentliche Setup zusammen. Ist der Vorgang abgeschlossen können Sie den Setup starten (die erzeugte .exe-Datei). Bitte beachten Sie, dass das SDK mehr als 500 MB freien Speicher benötigt. Hinzu kommen noch einmal ca. 200 MB Speicherplatz auf der Windows-Festplatte (die Festplatte auf der Windows installiert ist). Der eigentliche Installationsvorgang sollte dann ohne Schwierigkeiten vonstatten gehen. Wundern Sie sich nach abgeschlossener Installation jedoch nicht, dass Sie in Ihrem Startmenü keine neuen Programme finden. Das SDK besteht aus einer Sammlung von vielen kleinen Programmen und Treibern. Diese finden Sie im bereits genannten Verzeichnis in dem sich auch die jsc.exe befindet. In Ihrem Startmenü wird lediglich ein neuer Eintrag für die SDK-Dokumentation angelegt.

Die .NET-SDK-Hilfe

Da innerhalb dieser Doku nicht alle Einzelheiten und Feinheiten des .NET-SDK's erläutert und behandelt werden können, ist ein öfterer Blick in die Hilfe des .NET-SDK sehr ratsam - besonders in den Anfangsphasen der Programmierung mit JScript.NET. Da prinzipiell alles innerhalb dieser Hilfe beschrieben wird, werden sich die folgenden Kapitel hauptsächlich mit den Grundlagen beschäftigen. Objekte, Klassen und derartige Dinge, die alle sehr ausführlich in ebendieser genannten Hilfe zu finden sind, werden deshalb nur kurz angeschnitten und, nur soweit es zum entsprechenden Rahmen passend ist, erläutert. Die Hilfe des .NET-SDK finden Sie im Startmenü unter Programme -> Microsoft .NET-Framework SDK -> Dokumentation. Auf der Hauptseite der Hilfe finden Sie dann alle nötigen Informationen systematisch gegliedert und aufgelistet. Nähere Informationen zu JScript.NET erhalten Sie im Unterpunkt Referenz -> Compiler und Sprachreferenz -> JScript.NET.

Code kompilieren

Um als Anwendung verwendet werden zu können, wird jeglicher Code vor der Verwendung kompiliert. Darin fließen sämtliche Informationen wie Funktionen, verwendete Variablen oder Konstanten, externe Referenzen, importierte Klassen und erstellte Packages mit ein. Ebenfalls darin enthalten sind Informationen, wie eine Anwendung darzustellen ist (als Textanwendung wie aus DOS bekannt oder als Fensteranwendung ...) und welche Schnittstellen sie verwendet. Kurz: Alles was irgendwie erwähnenswert zu einer Anwendung wäre fließt zusammen zu einer .exe-Datei - der Anwendung.
Das Kompilieren ansich wird durch den Aufruf der jsc.exe angestoßen. Rufen Sie diese über die Komandozeile auf und übergeben Sie Ihr als Parameter den Pfad der Datei, die kompiliert werden soll:

jsc /out:test.exe test1.js

Der hier verwendete Parameter /out:test.exe weißt den Kompiler an, die Quelldatei als test.exe auszugeben. Wird der Parameter nicht angegeben, so wird automatisch eine .exe-Datei mit dem gleichen Dateinamen wie die Quelldatei erzeugt. Neben diesem Parameter existieren noch eine ganze Reihe von weiteren Parametern. Diese werden im späteren Verlauf beschrieben werden.

EXE oder DLL?

Der JScript.NET-Kompiler kann aus dem gelieferten Code sowohl eine .exe- als auch eine .dll-Datei erzeugen. Der Unterschied zwischen beiden ist relativ simpel: Eine .exe-Datei kann direkt ausgeführt werden - eine .dll-Datei nicht. Der Suffix "exe" steht für "executable" (ausführbar) und sollte Ihnen von anderen Anwendungen her bereits bekannt sein. Der JScript.NET-Kompiler ist zum Beispiel eine solche Datei. Im Gegensatz dazu steht "dll" für "dynamic link library" (dynamisches Linkverzeichnis) und ist eine Art Bibliothek für andere Anwendungen. Die in der Bibliothek enthaltenen Funktionen (etc.) können in eine andere Anwendung (oder DLL) eingebunden werden und von dieser verwendet werden. Es ist aber auch nicht ausgeschlossen, dass eine DLL eine andere Anwendung aufruft und deren Ergebnisse verwendet.
Um statt einer .exe-Datei eine .dll-Datei ausgeben zu lassen muss zusätzlich zur Quelldatei der Parameter /target:library angegeben werden. Beispiel:

jsc /target:library test1.js

Änderungen gegenüber JScript

Da JScript.NET in Bezug auf JScript bzw. JavaScript nicht nur erweitert sondern auch teilweise geändert wurde, sollte einigen Dingen besondere Beachtung geschenkt werden. Die meisten Änderungen hängen mit einer schnelleren Ausführbarkeit (/fast-Parameter; siehe Kapitel Kompileroptionen) oder Kompatibilitätsproblemen zum .NET-Framework zusammen. Folgende Dinge sind u.a. geändert worden:

  • Variablen sollten nun immer deklariert werden (dazu später mehr).
  • In JScript war es so, dass Funktionen als Variablen verwendet werden konnten, d.h. man konnte zum einen einer Variablen eine Funktion zuweisen und zum anderen einer Funktion einen Wert zuweisen. Dies geht nun nicht mehr. Funktionen werden nun vielmehr als Konstanten betrachtet die von einem Skript nicht geändert werden können.
  • Zur Laufzeit eines Skriptes können einem bestehendem systeminternen Objekt keine neue Eigenschaften, Methoden oder Unterobjekte hinzugefügt, gelöscht oder geändert werden.
  • Das Arguments-Objekt ist nicht mehr verfügbar.
  • Eigenschaften, Methoden oder Arrays können schreibgeschützt sein und dementsprechend kann ihnen kein neuer Wert zugewiesen werden.
  • Mit Hilfe der eval-Methode können keine neuen Variablen, Klassen oder Packages erzeugt werden.

Fensteranwendungen erstellen

Bis hierher sahen die JScript.NET-Anwendungen noch etwas fade aus und man konnte mit ihnen nichts so recht anfangen. Damit das nicht so bleibt, besteht die Möglichkeit Fensteranwendungen zu erstellen. Eine Fensteranwendung ist nichts als ein normales Windows-Programm: Eben ein Fenster mit grafischen Symbolen, Eingabefeldern usw.

Änderungen bestehender Syntax

Bei der Verwendung von Variablen, Konstanten und Objekten etc. hat sich einiges getan. Variablen müssen deklariert und wenn möglich mit einem Typ beschrieben werden, es gibt jetzt Konstanten (wie in JavaScript 1.5 auch schon vorgestellt in JScript bisher aber noch nicht übernommen) und Objekte kann nun auch ganz anders erstellt werden.

Arbeiten mit Klassen

Klassen sind ein neuer wichtiger Bestandteil von JScript.NET – im vorherigen Kapitel wurde mehrmals kurz darauf eingegangen. Eine Klasse kann man sich – wie erwähnt – als eine Art Schablone vorstellen, die als Vorlage für neue Objekte dienen kann.

Namespaces, Packages und Interfaces

Ebenso wie Klassen sind auch Packages und Interfaces neu in Jscript.NET. Ein Package definiert einen bestimmten Namespace, der wiederum bestimmte Klassen und Interfaces beinhalten kann. Ein Namespace (oder zu deutsch Namensraum) ist ein Bereich innerhalb dessen bestimmte Klassen zugänglich sind. Ein Interface ist eine Schnittstelle zu Klassen.

Webservices

Webservices sind in der letzten Zeit immer mehr in “Mode” gekommen und werden von immer mehr Firmen und Organisationen hoch gelobt (obwohl bisher eher wenige genau wissen, was es damit auf sich hat). Auch das .NET-Framework unterstützt nun diese neue Form des Datenaustauschs.

JScript.NET und ASP.NET

ASP .NET ist Microsofts neuste Version von ASP . Wie die Vorgängerversion 6.0, bietet natürlich auch ASP .NET den Zugang zu JScript bzw. hier zu JScript.NET . In diesem Kapitel wird davon ausgegangen, dass Sie mit einigen Grundkenntnissen in Bezug auf ASP vertraut sind. Natürlich kann hier nicht der gesamte Überblick über ASP .NET gegeben werden, deshalb werden wir uns hier auf die Grundinformationen konzentrieren.

Kompileroptionen

Der Kompiler für JScript.Net besitzt neben den uns bisher bekannten Parametern noch weitere wichtige Parameter, die den Kompilierungsvorgang beeinflussen und steuern können.

FileSystemObject (FSO)

FileSystemObject ist eine von Microsoft geschaffene Plattform für die Programmierung von Webseiten und/oder Scripten.FSOist quasi als Erweiterung zu dem Microsoft eigenen JScript zu sehen und wird vor allem bei ActiveServer Pages, Windows Scripting Host und anderen Applikationen bei denen Scripte benutzt werden, eingesetzt.

Mehr zu FSO

Weitere Artikel

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant