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
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.
- Ein Fenster erstellen
- Fenster mit Leben füllen
- Mit Events Arbeiten
- Mit mehreren Fenstern arbeiten
- Die verschiedenen Komponenten verwenden
- Menüs
- Toolbars
- Dialoge
- Andere Komponenten
Ä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.
- Variablen deklarieren
- Datentypen
- Welchen Datentyp für was?
- Konstanten
- Enumeratoren – ein neuer Typ
- Objekte erstellen
- Funktionen
- Schleifen und Kontrollstrukturen
- Debugger
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.
- Eine Klasse erstellen
- Konstruktoren von Klassen
- Getter und Setter
- Sichtbarkeit bestimmen
- internal
- privat
- protected
- public
- Klassen erweitern
- Instanzen beschreiben
- abstract
- final
- static
- Überschreiben von Eigenschaften und Methoden
- Dynamische Klassen
- Auf die Basisklasse zugreifen
- Eine Klasse initialisieren
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.
- Was ist ASP?
- Voraussetzungen für ASP.NET
- Alles Zusammen: ASP.NET und JScript.NET
- Definitionsblöcke
- Codeblöcke
- Wertblöcke
- Ausgabe erzeugen
- Das Response-Objekt im Einzelnen
- Das Request-Objekt im Einzelnen
- ASP.NET-Webforms
- Ereignisse bei Webforms
- CodeBehind
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 FSOWeitere Artikel
Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.
Über uns
Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project