Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung & Design

TypeScript 1.0: Microsofts JavaScript-Alternative jetzt offen für alle Entwickler

    TypeScript 1.0: Microsofts JavaScript-Alternative jetzt offen für alle Entwickler

TypeScript. (Screenshot: typescriptlang.org)

TypeScript, die JavaScript-Alternative von Microsoft, ist in Version 1.0 erschienen – ab jetzt können sich Entwickler daran beteiligen. TypeScript soll vor allem für größere JavaScript-Projekte zum Einsatz kommen.

TypeScript: Offen für alle

TypeScript ist ab heute für alle Entwickler offen, die helfen wollen, die Programmiersprache weiterzuentwickeln. Aktuell beschränkt sich Microsoft dabei auf das Beheben von Bugs und generelle Aufräumarbeiten. Nach und nach wird TypeScript dann immer weiter geöffnet, damit auch neue Features von externer Seite eingebracht werden können.

TypeScript soll bei größeren Projekten mehr Übersichtlichkeit ermöglichen, als das mit JavaScript möglich sei, so Microsoft. Laut dem Konzern ermöglicht TypeScript die JavaScript-Programmierung, wie wir sie uns wirklich wünschen – objektorientiert. TypeScript besitzt eine große Schnittmenge der Syntax und Befehle mit JavaScript, weil TypeScript eine Obermenge von JavaScript ist – Schon vorhandenes JavaScript und die vielen JavaScript-Bibliotheken können deshalb in den meisten Fällen problemlos auch mit TypeScript genutzt werden, da JavaScript auch gültiges TypeScript ist.

Ein kleines Beispiel für den Einsatz von Klassen in TypeScript, und wie es dann kompiliert in JavaScript aussieht. (Screenshot: typescriptlang.org)
Ein kleines Beispiel für den Einsatz von Klassen in TypeScript, und wie es dann kompiliert in JavaScript aussieht. (Screenshot: typescriptlang.org)
Anzeige

TypeScript: Läuft überall, wo JavaScript auch läuft

TypeScript lässt sich problemlos überall da einsetzen, wo JavaScript auch funktioniert. Problemlos deshalb, weil es in JavaScript-Code kompiliert wird. Interessierte Entwickler erhalten auf der offiziellen Seite von TypeScript mehr Informationen sowie Download-Möglichkeiten. Genauere Informationen gibt es auch in unserem Artikel über TypeScript von Ilja Zaglov.

TypeScript kann als Teil von Visual Studio 2013 genutzt werden – auch eine Nutzung mit der Version von 2012 ist mit einem Add-On möglich. Mit Node.js kann es mittels des npm-Pakets genutzt werden – auch der direkte Download des Codes ist möglich. Veröffentlicht ist TypeScript unter der Apache License 2.0.

Werdet ihr euch näher mit TypeScript befassen? Oder bleibt ihr lieber bei JavaScript?

via www.heise.de

Finde einen Job, den du liebst

10 Reaktionen
Davi
Davi

@Philipp Blum:
Deine letzte Aussage klingt für meinen Geschmack ein wenig zu sehr nach einer Verallgemeinerung. Nur weil eine (Web-)Entwicklung/Technologie von Microsoft kommt, ist sie ja nicht per Se schlecht – ich möchte an dieser Stelle nur an Dinge wie die "innerHTML" Eigenschaft von DOM-Knoten oder an die neuen "Pointer-Events" erinnern. Beide wurden von Microsoft entwickelt und machen das Leben eines (Frontend-)Entwicklers doch erheblich einfacher. Im Falle von "innerHTML" gibt es praktisch keinen Browser der nicht das MS-Modell übernommen hätte. Die W3C Spezifikation der Pointer-Events ist faktisch 1:1 die von MS vorgeschlagene.

@Leonid:
Zunächst wage ich zu bezweifeln, dass nach dem Kompilieren von Dart/TypeScript immer "optimiertes" JavaScript vorliegt. Diese Aussage soll nicht heißen, dass das kompilierte Script nicht altbekannte Fallstricke vermeidet, nur – wann und vor allem WORAUF ist das Script optimiert? Geschwindigkeit? Dateigröße? Pflege- und Wartbarkeit? Dummerweise führt eine Optimierung für einen dieser Bereiche meist unweigerlich zur De-Optimierung eines anderen Bereichs.

Die Argumente der höheren Ausführgeschwindigkeit von Dartcode gegenüber JavaScript sowie der Möglichkeit Dart innerhalb der Dart-VM laufen zu lassen sind völlig nebensächlich, da derzeit kein einziger Browser – also noch nicht einmal Chrome als Entwicklung von Google – Dart nativ unterstützt. Ob und wann andere Browserhersteller eine native Implementierung der Dart-VM in ihre Browser vornehmen steht noch völlig in den Sternen. Ergo muss jedes Stück Dartcode für den Einsatz in einem realen Projekt nach JavaScript kompiliert werden.

Außerdem möchte ich zu bedenken geben, dass die meisten Resultate von Benchmarktests nur bedingt aussagekräftig sind – jQuery beispielsweise läuft schätzungsweise 100x schneller als Prototype.Js und dennoch 600x langsamer als natives JavaScript. Daraus folgt, dass Geschwindigkeitstests meist relativ zum Vergleichspartner ausfallen. Die Ausführgeschwindigkeit von C oder Assembler ist auch höher als die von Dart – ist es deshalb sinnvoll, sämtlichen Code in C zu schreiben? Vermutlich nicht.

Antworten
Leonid
Leonid

Ich würde gerne erfahren, wie TrueScript sich gegenüber Dart von Google verhält. Dart hat da einen ähnlich Ansatz, dass am Ende optimierter JavaScript rauskommt.

Jetzt kommt das Aber. Wenn man es in der Dart VM im Browser laufen lässt, dann bleibt Dart Dart und wird nicht in JavaScript umgewandelt.

Geschwindigkeit wäre auch interessant. Google hat Zahlen präsentiert, wo D2J (Dart zu JavaScript) schneller war, als natives JavaScript und reines Dart in VM war noch schneller.

Antworten
Philipp Blum
Philipp Blum

Über eines sind wir uns doch alle einig: Wenn man bei der Webentwicklung auf Technologien von Microsoft zurückgreift, kann man es gleich aufgeben. Das sind zwei Sachen die einfach niemals zusammen passen werden.

Antworten
Davi
Davi

Zum Artikel:
Seit wann kann in JavaScript nicht objekt orientiert programmiert werden? Das ist – Verzeihung – Bullshit. Dafür braucht's kein TypeScript. Das Ganze sieht für mich eher nach einer Marketingstrategie aus.

Toll übrigens auch, dass Microsoft so genau weiß, wie in JavaScript programmiert werden sollte – vielleicht war der IE ja deshalb bis vor Kurzem das Grab eines jeden (Frontend-)Entwicklers und alle Anderen haben es die ganzen Jahre falsch gemacht. Naja, jetzt können wir ja endlich etwas von Microsoft lernen (Sarkasmus beabsichtigt).

Zur Frage von Hrn. Brinkmann:
Wieso sollte ich mich mit TypeScript auseinandersetzen, wenn es hinterher doch zu JavaScript kompiliert wird? Die Arbeit kann man sich sparen und auch direkt JavaScript lernen.

@Rheinprinz:
Feste Datentypen? Wo denn? Schau Dir einfach das Beispiel bzw. den kompilierten Code an. Ich sehe dort keinerlei Typsicherheit – im Gegenteil. Die Constructor-Function von "Greeter" testet auf gar nichts sondern übernimmt ohne Wenn und Aber was immer als Argument gegeben ist. Typsicherheit? Das ich nicht lache.

TL;DR:
Aus welchem Grund ist Greeter eine "Immediatly Invoked Function Expression" und erzeugt den Greeter Constructor als Closure??? Das würde mich mal interessieren.

Antworten
Rheinprinz
Rheinprinz

Ich habe TS schon selbst eingesetzt. Der Riesenvorteil ist die Verwendung von festen Datentypen(Typsicherheit). Dies kann die Entwicklngszeit bei Projekten enorm verkürzen.

Antworten
oleic
oleic

Ihr redet doch komplett vom Thema vorbei, wenn ihr jQuery mit Typescript in Verbindung bringt?!

Antworten
irgendeinem Spinner
irgendeinem Spinner

jQuery taugt doch höchstens für die DOM-Manipulation und selbst da ist die API nicht sehr konsistent. Ich habe den Hype um jQuery nie verstanden.

Antworten
ManWeißEsNicht
ManWeißEsNicht

Auf den ersten Blick sieht CoffeeScript wesentlich eleganter aus.

Die Typisierung in den "Klassen" macht meiner Meinung nach auch keinen Sinn, da es keine Auswirkung auf das "Compilte" JavaScript hat.

Das sorgt nur dafür, dass das JavaScriptFeeling verloren geht.

Antworten
Philipp Blum
Philipp Blum

Klar, Transcompilierung macht auch so viel Sinn. Als Alternative wird sich das nicht durchsetzen, denn es setzt auf Javascript. Die Browserhersteller sollten sich vielleicht mal wirklich auf eine Alternative einigen, die nativ im Browser ausgeführt wird. So wird das aber nichts. Da kann man gleich bei Javascript bleiben.

Antworten
n3rd.rick
n3rd.rick

Ich bleibe definitiv bei JS mit jQuery.

Antworten
Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden