43 Stimmen

Wofür wird JScript.Net verwendet?

Mich würde interessieren, wer JScript.Net benutzt und für welche Art von Anwendungen. Immer wenn ich die MSDN .Net-Dokumentation lese, fallen mir die JScript-Beispiele auf, aber in all den Jahren, in denen ich C#-Entwickler bin, habe ich noch nie jemanden gekannt, der es benutzt.

Für welche Art von Anwendungen wird es eingesetzt, und wie schneidet es in Bezug auf Flexibilität, Leistung und allgemeine Verwendung im Vergleich zu C# ab?

[ Edita: Nur zur Klarstellung - ich frage nicht, was JScript.Net ist Ich frage, wofür die Leute es tatsächlich benutzen - d.h. ich bin daran interessiert, die tatsächlichen Nutzungsszenarien zu erfahren und wie die Leute damit gearbeitet haben]

4voto

Robert Calhoun Punkte 4507

Nun, ich bin Versuch es zu benutzen. Ich kann nicht sagen, dass ich erfolgreich war.

Ich habe nicht eine Menge von Web-Codierung in jeder Umgebung getan, aber hier ist meine 2 Cents.

Ich wollte einige Datenbanktabellen auf einer Webseite darstellen, also habe ich eine schnelle klassische ASP-Seite (ja, ja, ich weiß) erstellt, die die Daten von SQL Server abruft und die Tabelle als JSON-Objekt zurückgibt. Anstatt einen JSON-Serializer für VBScript zu suchen, habe ich einfach beide Seiten in J(ava)script geschrieben und json2.js auf den Server importiert, um die Serialisierung zu ermöglichen. Es funktionierte großartig; ehrlich gesagt dauerte es weniger als eine Stunde, um eine schöne JSON-Darstellung der Tabelle zurückzuspucken, wovon 50 Minuten ein vergeblicher Versuch waren, JScript dazu zu bringen, die Tabelle zu importieren. json2.min.js direkt, anstatt die <% %> Umhüllungen und Umbenennung der Datei json2.min.asp .

Aber jeder sagt, dass es krank und falsch ist, in der heutigen Zeit klassisches ASP zu verwenden, also versuche ich, meine schnelle und schmutzige ASP + Jscript + ADO-Implementierung durch ASP.NET + Jscript.NET + ADO.NET zu ersetzen. Nach einigen Momenten, in denen ich mir den Kopf über die Tastatur zerbrochen habe, habe ich ASP.NET v4.0.30319 auf IIS6 installiert und habe eine "Hallo, Welt"-Seite, die einige einfache Javascript-Schleifen über die <@ language = "JScript"> Richtlinie. So weit, so gut.

Ich waren nach Best Practices hier würde ich alles in einer Klasse usw. wickeln, aber wie ich bin nur versuchen, aus der Einfahrt zu bekommen, versuchte ich tun eine schnelle Portierung meiner bestehenden Code, der verschiedene nützliche Bits von Javascript aus anderen Dateien mit ASP importiert include Erklärungen.

Einschließlich einiger einfacher Dinge mit <--#incude file="somejsconstants.asp" --> funktionierte einwandfrei und ermöglichte mir den Zugriff auf Konstanten aus dieser Datei. Aber mein Versuch, den JSON-Serializer mit <--#incude file="json2.min.asp" --> funktionierte nicht, und das Starten einer Version von json2.js entsprechend geändert, um eine eigenständige aspx-Seite und warf den gleichen Fehler. (Der Compiler-Fehler ist Objects of type 'jscript_aspx' do not have such a member .) JScript.NET scheint unglücklich über die Verwendung von Closures zu sein, eine fast allgegenwärtige Konstruktion in den heutigen Javascript-Bibliotheken.

Von Postings oben ist es klar, es gibt viele Möglichkeiten, JSON-Objekte in der .NET-Plattform zu serialisieren, aber mein Bauchgefühl ist, dass, wenn JScript.NET auf Javascript geschrieben von Douglas Crockford kotzt, dann ist es eine schrullige, inkompatible Rattenloch nicht wert, meine Zeit in zu investieren. Ich könnte genauso gut den ASP.NET-Massen folgen und C# verwenden.

3voto

npocmaka Punkte 52753

Als Erweiterung für Batch-Dateien und für Konsolenanwendungen, da es dank seiner Direktiven eine saubere Hybridisierung (ohne unnötige Ausgaben) ermöglicht. .bat Erweiterung und prüfen Sie das Ergebnis:

@if (@X)==(@Y) @end /* JScript comment
@echo off
setlocal

for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d  /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
   set "jsc=%%v"
)

if not exist "%~n0.exe" (
    "%jsc%" /nologo /out:"%~n0.exe" "%~dpsfnx0"
)

 %~n0.exe %*

endlocal & exit /b %errorlevel%

*/

import System;

Console.WriteLine("hello from jscript.net");

ここで einige Beispiele finden Sie hier .

2voto

Bob Punkte 7651

Ich bin zwar spät dran, aber ich möchte meine Meinung dazu sagen:

Ich sehe JScript.NET als nützlich für serverseitigen Code. Es ist ziemlich natürlich, etwas serverseitig zu verwenden, das im Wesentlichen dasselbe ist wie das, was man clientseitig verwendet. Außerdem macht es die Arbeit mit JSON so viel einfacher, dass es ein Segen sein kann, wenn Sie einen Webdienst erstellen, der über JSON kommuniziert.

Ich habe einen Webdienst geschrieben, bei dem ich in C# arbeite, aber ich denke darüber nach, aus diesen Gründen auf JScript.NET umzusteigen.

1voto

rossisdead Punkte 2073

Ich weiß nicht, wie es um die Leistung bestellt ist, aber ich weiß, dass JScript.NET eine der Sprachen ist, die man mit Unity 3D .

-2voto

Shimmy Weitzhandler Punkte 97197

JScript .NET ist ein moderne Skriptsprache mit einer breiten Palette von Anwendungen. Sie ist eine echte objektorientierte Sprache, und dennoch behält immer noch sein "Skripting"-Gefühl . JScript .NET behält die volle Abwärtskompatibilität mit früheren Versionen von JScript bei, enthält aber gleichzeitig großartige neue Funktionen und bietet Zugriff auf die gemeinsame Sprachlaufzeit und das .NET Framework (von JScript.NET ).

Außerdem könnte dieser Stackoverflow-Beitrag für Sie hilfreich sein: Kann JScript.NET zum Skripten einer .NET-Anwendung verwendet werden?

Ich weiß ehrlich gesagt nicht, wer sie benutzt (ich bin mir ziemlich sicher, dass es da draußen welche gibt).

Lesen Sie Einführung in JScript.NET .

Mein persönlicher Gedanke war, dass es für Webentwickler, die es gewohnt sind, in einfachem JScript zu schreiben und die Vorteile von .NET nutzen wollen, ohne eine neue Sprache lernen zu müssen, oder für diejenigen, die ihren gesamten Code in einer einzigen Sprache schreiben wollen, sehr interessant sein könnte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X