151 Stimmen

Alternativen zu JavaScript

Zurzeit ist JavaScript die einzige vollständig unterstützte Sprache und der De-facto-Standard für die Manipulation des DOM-Baums im Browser. Es sieht so aus, als ob es tiefgreifende Designprobleme hat, die es zu einem Minenfeld von Bugs und Sicherheitslücken für den Anfänger machen.

Kennen Sie eine bestehende oder geplante Initiative zur Einführung einer besseren (neu gestalteten) Sprache jeglicher Art (nicht nur Javascript) für die Manipulation von DOM-Bäumen und HTTP-Anfragen in Browsern der nächsten Generation? Wenn ja, wie sieht der Fahrplan für ihre Integration in, sagen wir, Firefox aus, und wenn nein, aus welchen Gründen (abgesehen von der Interoperabilität) sollte JavaScript die einzige unterstützte Sprache auf der Browser-Plattform sein?

Ich habe bereits jQuery verwendet und habe auch "javascript: the good parts" gelesen. Die Vorschläge sind in der Tat gut, aber was ich nicht verstehen kann, ist: warum nur javascript? Auf der Serverseite (Ihrer bevorzugten OS-Plattform) können wir einen DOM-Baum mit jeder Sprache manipulieren, sogar mit Fortran. Warum wird auf der Client-Seite (der Browser-Plattform) nur Javascript unterstützt?

4 Stimmen

Google Dart, Script#, CoffeeScript, JSX (beide verschiedene Implementierungen von JS), JavaScript Harmony usw. Siehe diesen Link für mehr github.com/jashkenas/coffee-script/wiki/

2 Stimmen

"Warum nur Javascript? Auf der Serverseite (Ihrer bevorzugten OS-Plattform) können wir einen DOM-Baum mit jeder Sprache manipulieren, sogar mit Fortran. Warum unterstützt die Client-Seite (die Browser-Plattform) nur Javascript?" Auf der Server-Seite können Sie installieren, was immer Sie wollen, aber ich kann Ihre Kunden nicht zwingen, zusätzliche Plugins/Addons zu installieren, auch wenn wir so viele Bugs und Sicherheitsprobleme mit Javascript haben, raten Sie mal, wie viele Bugs und Sicherheitsprobleme wir haben würden, wenn wir ein paar mehr hinzufügen?

6 Stimmen

@Peter Ich kann nicht erkennen, ob Ihr Argument ernst gemeint ist oder ein Witz. Es ist trivial einfach für die Leute, Plattformen zu installieren, wenn sie wollen. Wenn eine Alternative zu Javascript verfügbar wäre und gut funktionieren würde, dann würden kommerzielle Anbieter von den Nutzern verlangen, dass sie das herunterladen, was für die Ausführung benötigt wird - so wie sie es schon immer mit Flash und eine Zeit lang auch mit Silverlight getan haben. Von all den Gründen, warum es auf der Client-Seite keine Alternativen geben könnte, ist die Schwierigkeit, sicherzustellen, dass die Nutzer über die eigene Plattform verfügen, keiner von ihnen von Bedeutung.

6voto

sj2009 Punkte 454

Doug Crockford hielt einen Vortrag vor Google über die guten und schlechten Seiten von JavaScript und seine Zukunft. Es hat sich seit 1999 nicht viel verändert - was gut ist (so ziemlich alle Browser können denselben Code ausführen, solange man sich ihrer Grenzen bewusst ist), und Doug zeigt, wo die guten Teile meist Missverständnisse waren, die sich als sehr mächtig erweisen.

Für DOM-Manipulation, Blick auf JQuery als Client-seitige Bibliothek, die die meisten der schrecklichen DOM-API mit Operationen, die ein Schmerz zu schreiben, um ziemlich elegant Bits von Code, die einfacher zu schreiben sind ersetzt.

5voto

Dave W. Smith Punkte 23003

Wenn Sie denken, dass JavaScript tiefgreifende Probleme hat, empfehle ich Ihnen das Buch von Doug Crockford, JavaScript: Die guten Seiten . (Oder googeln Sie nach "Crockford JavaScript", um mehrere Videopräsentationen zu finden, die er gemacht hat.) Crockford skizziert eine sichere Teilmenge und eine Reihe von Praktiken und listet speziell einige Teile der Sprache zu vermeiden.

Mir sind keine Pläne bekannt, JavaScript als die de facto Mittel zur Manipulation des DOM. Lernen Sie also am besten, es sicher und gut zu benutzen.

1 Stimmen

Lesen Sie weiter. Es ist klar, dass er seine Frage nach dem Lesen der Antworten geändert hat.

4voto

Ben Shelock Punkte 18778

In Bezug auf die Client-Seite Javascript ist der einzige Weg, um das DOM zu manipulieren. In Bezug auf die Serverseite gibt es eine Vielzahl von Möglichkeiten.

4voto

Jeffrey Hantin Punkte 34609

Der Internet Explorer unterstützt ansteckbare Skriptsprachen, obwohl die einzige Sprache, die neben JScript zuverlässig in den IE integriert ist, VBScript ist.

Soweit ich gesehen habe, scheint es eine allgemeine Vorliebe für dynamische Sprachen im Browser zu geben, und JavaScript scheint diesen Bedarf ausreichend zu decken, so dass Netzwerkeffekte jede andere Sprache überflüssig machen. Die Sprache ist eigentlich ziemlich mächtig, obwohl ihre Implementierung in Browsern viel zu wünschen übrig lässt.

1 Stimmen

Verwenden Sie kein VBScript im IE - es ist eine schreckliche Variante von VB, von der die große MS dachte, dass sie sich durchsetzen würde, was aber nicht der Fall war. Es funktioniert nicht wie normales VB oder VBScript, und es ist langsamer als Javascript.

1 Stimmen

Was fehlt z. B. in den WebKit- oder Gecko-Implementierungen von JavaScript/ECMAScript, das in Nicht-Browser-Implementierungen verfügbar ist? Dieser Kommentar ist für mich völlig verwirrend.

4voto

Alex Martelli Punkte 805329

Wenn Sie bereit sind, Ihre Kunden/Besucher auf bestimmte Browser zu beschränken und möglicherweise von ihnen zu verlangen, dass sie ein Plug-in installieren, könnten Sie sich Folgendes ansehen MS Silverlight -- einen lesenswerten Überblick finden Sie unter wikipedia . Mit Silverlight 2 können Sie Code, den Sie in C#, IronPython, IronRuby, VB.NET usw. geschrieben haben, client-seitig ausführen; das kostenlose Mondschein Klon von Silverlight, aus dem Mono-Projekt, verspricht, die gleiche Funktionalität auf Linux zu bringen.

In der Praxis ziehen es die meisten Entwickler von Webanwendungen und Websites vor, ein breiteres Publikum zu erreichen, als Silverlight (und eventuell Moonlight) derzeit liefern kann - was bedeutet, dass sie bei Javascript oder möglicherweise Flash (das eine ähnliche Programmiersprache, Actionscript, verwendet) bleiben.

Daher ist es selbst für Microsoft mit seinen großen Gruppen von Ingenieuren und Marketingbudgets schwierig, für irgendetwas anderes eine nennenswerte Verbreitung und Akzeptanz zu erreichen. y ein freies Softwareprojekt nebenbei (um möglicherweise die Sorgen über die Einbindung in proprietäre Systeme zu lindern) - was vielleicht erklärt, warum es z.B. von Seiten der Mozilla Foundation sehr wenig Interesse gibt, ein solches Ziel voranzutreiben. "Abgesehen von der Interoperabilität", sagen Sie: aber offensichtlich ist die Frage der Interoperabilität hier DER Knackpunkt, wenn man bedenkt, was wir in Bezug auf die Fortschritte von Silverlight beobachten...

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