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.

3voto

CodeMonkey Punkte 3308

JavaScript ist die englische Sprache des Webs. Die englische Sprache verbreitete sich historisch, weil sie eine starke Marine hatte, die verschiedene Länder eroberte. Das ist vergleichbar mit großen Unternehmen, die mit JavaScript das Web erobert haben. Es handelt sich um eine Sprache, die aus mehreren europäischen Quellen (Griechisch, Latein, germanische Sprachen, Französisch und sogar einige chinesische und indische Wörter) zusammengeschustert wurde. JavaScript hat im Laufe der Jahre eine Menge Konzepte aus anderen Sprachen übernommen (strukturell, OO, funktional). Englisch wird an verschiedenen Orten mit leichten Unterschieden in Dialekt und Akzent gesprochen, was das Verständnis erschweren kann. Genauso wie JavaScript von verschiedenen Browsern ein wenig anders interpretiert wird.

Obwohl die englische Sprache anfangs leicht zu lernen ist, hat sie eine sehr uneinheitliche Aussprache und mehr Ausnahmen als Regeln. Genau wie JavaScript ist es immer für eine Überraschung gut.

Trotz der unterschiedlichen Akzente ist JavaScript die Lingua franca des Webs. So wie Sie vielleicht kein Engländer sind und hier auf Englisch schreiben, hat jeder Webbrowser ein gewisses Maß an Englischkenntnissen. Der IE6 ist wie der Typ, der in seinem Lebenslauf angibt, dass er fließend Englisch spricht, aber nur einen zweiwöchigen Kurs über Englisch als Fremdsprache besucht hat.

Es hat Versuche gegeben, das Englische als Weltsprache zu verdrängen, z. B. Esperanto. Aber sie sind alle gescheitert, weil die meisten Menschen auf der Erde etwas Englisch sprechen. In gleicher Weise wird es schwierig sein, bessere Alternativen zu JavaScript einzuführen.

3voto

eyelidlessness Punkte 60421

Eine Sache, die ich nicht gesehen habe, erwähnt (oh, ich sehe Alcides erwähnte HotRuby, während ich schrieb und Nosredna erwähnt GWT und Script#) und möchte dort werfen ist es eine Reihe von Implementierungen von [Sprache einfügen]-auf-JavaScript (z. B. Übersetzer, die Sie konvertieren können Rubinrot , Python , C# , Java , Obj-J/Cappuccino [ähnlich wie bei Obj-C/Cocoa] oder Verarbeitung [für Canvas] zu JavaScript entweder auf dem Client oder vor der Bereitstellung [und einige davon bieten auch verschiedene Abstraktionsbibliotheken]). Natürlich gibt es einen Performance-Overhead, wenn es auf dem Client übersetzt wird, aber wenn Sie mit einer anderen Sprache besser zurechtkommen, bietet Ihnen das eine gewisse Flexibilität.

Ich persönlich empfehle jedoch, JavaScript lieben zu lernen. Es ist eine hervorragende, mächtige Sprache und ziemlich elegant, wenn man sie erst einmal kennt. Ich stehe vor dem umgekehrten Dilemma und brenne darauf, eine fähige serverseitige JavaScript/DOM-Lösung zu haben, die alle meine Anforderungen erfüllt. /ungefragte Meinung

0 Stimmen

Ich habe GWT und Script# erwähnt. Für diejenigen, die sich für Script# interessieren, ist der Link projects.nikhilk.net/ScriptSharp

0 Stimmen

Danke, dass Sie mich auf Obj-J/Cappuccino hingewiesen haben. Es ist erstaunlich für die Erstellung von Web-Anwendungen und ich öffnete es nur, weil Sie es erwähnt und der Name (und Cocoa-Verwandtschaft) fasziniert mich.

3voto

Alcides Punkte 483

Wie bereits erwähnt, gibt es Flash (ActionScript, eine von Javascript abgeleitete Sprache) und Silverlight/Moonlight (IronPython, IronRuby, JScript, VBScript, C#), die über Plugins im Browser ausgeführt werden können (wobei ersteres viel verbreiteter ist).

Es gibt auch eine andere Alternative, wenn Sie Ruby mögen: HotRuby Es handelt sich um eine Ruby-Implementierung in Javascript, die im Browser ausgeführt wird. Es ist noch nicht sehr ausgereift, aber Sie können einen Blick darauf werfen.

2voto

Hannoun Yassir Punkte 19547

Jquery (noch javascript, aber) es wird Ihnen wirklich helfen, sie haben Unterstützung für fast alle Browser und es ist nicht wirklich so schwer zu lernen :)

1voto

ilya n. Punkte 17572

Viele Menschen wissen, dass Javascript nicht die beste und schönste Sprache überhaupt ist. Allerdings wird sie derzeit von den Browsern unterstützt, und daher wird es äußerst schwierig sein, eine andere Sprache einzuführen. Wir brauchen einfach keinen weiteren Browserkrieg.

Das erklärt, warum ich keine Pläne für einen Wechsel zu einer anderen Client-Sprache kenne.

Aber ich denke, Javascript ist gar nicht so schlecht, wenn man anfängt, über das DOM-Modell nachzudenken und wie man damit arbeiten könnte. Viele Dinge, die chaotisch sind mit JS sind das Ergebnis der Art und Weise DOM-Modell funktioniert.

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