Wir hatten JavaScript, dann hatten wir Flash, dann hatten wir Silverlight und HTML5 besaß sie alle.
Welche Motivation steckt hinter TypeScript? Welche Probleme werden angegangen und welche Verbesserungen erzielen wir mit TypeScript?
Wir hatten JavaScript, dann hatten wir Flash, dann hatten wir Silverlight und HTML5 besaß sie alle.
Welche Motivation steckt hinter TypeScript? Welche Probleme werden angegangen und welche Verbesserungen erzielen wir mit TypeScript?
Antworten:
Mir scheint, es ist eine statisch typisierte, klassenbasierte Sprache, die bis zu JavaScript kompiliert wird. Das ist eine gute Idee, die auch andere gehabt haben.
Die Vorteile sollten jedem klar sein, der sowohl in statisch typisierten, klassenbasierten Sprachen als auch in JavaScript entwickelt wurde:
Die Grundidee ist also, wie wir sehen, eine sehr gute. Allerdings kann ich nichts über die Sprache selbst sagen, da ich keine Erfahrung damit habe. Aber ich habe Smart verwendet (siehe oben) und fand, dass es ein unglaublich leistungsfähiges und nützliches Werkzeug für die Webentwicklung ist.
Es gibt ein paar gute Gründe, TypeScript zu verwenden, soweit ich das sehe. In erster Linie, wie Mason Wheeler sagte, ein Compiler . Oder vielmehr die gesamte Prüfung, die ein Compiler durchführt. JSLint und andere Tools sind nützlich, lassen jedoch einige Probleme aus und sind manchmal einfach falsch. Ich begrüße diese "Innovation".
Dann gibt es ein echtes Typensystem , das die Lesbarkeit verbessert und korrekte Typen erzwingt. Immerhin erhöht dies die Entwicklungsgeschwindigkeit.
Für mich ist eines der großen Dinge die Werkzeugunterstützung . Das ist wahrscheinlich ein Nebeneffekt des Typsystems, aber trotzdem großartig. Und wirklich notwendig, da die aktuelle Unterstützung für JavaScript-Tools nicht mehr sinnvoll ist.
TypeScript versucht , JavaScript zu erweitern . Der Compiler generiert wirklich schönes JavaScript. Darüber hinaus folgt es den Vorschlägen von ECMAScript 6 . (Zum Beispiel Pfeilfunktionssyntax , Parameterstandardwerte , Module usw.)
Dies erleichtert die Arbeit mit Modulen und Klassen . Tatsächlich ist es möglich und durchaus üblich, mit Klassen und Modulen in JavaScript zu arbeiten, es ist jedoch eine gewisse Menge an Boilerplate-Code erforderlich. Und es ist nicht leicht zu lesen. TypeScript ermöglicht das Schreiben von Klassen-, Schnittstellen- und Modulanweisungen wie in Java oder C #, was bei mir bei weitem einfacher ist.
Es ist aber immer noch nur JavaScript . Es ist nicht erforderlich, eine neue Sprache oder Syntax zu lernen. Das einzige, was hinzugefügt wird, ist das optionale Typensystem (das großartig und überfällig ist).
Dann gibt es die "Definitionsbibliothek" , was bedeutet, dass ich alle meine JavaScript- Bibliotheken verwenden kann , ohne sie neu zu schreiben oder sogar zu patchen. Allerdings habe ich jetzt das zusätzliche Typensystem.
Ich werde es auf jeden Fall versuchen!
Zum Schluss gibt es keine Konkurrenz zwischen HTML5 und TypeScript. Aber das ist eine andere Geschichte.
Wir hatten JavaScript, dann hatten wir Flash, dann hatten wir Silverlight und HTML5 besaß sie alle.
Das ist einfach NICHT wahr . Html5 besitzt sie nicht, es führt neue Markups ein, die die Verwendung von Multimedia vereinfachen, und untersucht die Vorteile neuer Browser (wie die Verwendung der Hardwarebeschleunigung beim Rendern von HTML).
Welche Motivation steckt hinter TypeScript?
Die Motivation kann durch Gründe für die Verwendung bestimmt sein. Alle Funktionen von TypeScript, wie die statische Überprüfung, die symbolbasierte Navigation, die Vervollständigung von Anweisungen und das Umgestalten von Code, sind gute Gründe, dies in Betracht zu ziehen.
Darüber hinaus bietet es Klassen, Module und Schnittstellen, mit denen Sie robuste Komponenten erstellen können. Diese Funktionen stehen zur Entwicklungszeit zur Verfügung, um eine zuverlässige Anwendungsentwicklung zu ermöglichen. Sie werden jedoch in einfachem JavaScript kompiliert.
Es kann als ein Tool zum Verwalten der JavaScript-Entwicklung angesehen werden, anstatt als eine völlig neue Sprache, die mit JS kompiliert wird. Es soll keine serverseitige Entwicklungssprache wie Dart sein und keine andere Syntax wie CoffeeScript haben. Es wollte keine populäre Sprache (und ihre Kernbibliothek) verwenden und sie wie GWT oder script # in JS kompilieren. TypeScript folgt sogar derselben "Klassen" -Syntax, die für die nächste Version von JS vorgeschlagen wurde.
Ich denke, die meisten Webentwicklungen werden heute mit echtem Javascript durchgeführt, nur auf der Client-Seite. Sprachen oder Frameworks wie Dart, GWT sind dafür nicht geeignet. Wenn Sie sich für Coffeescript entscheiden, erscheint eine neue Syntax. Und Sie müssen sowohl coffeescript als auch JS verstehen. Während TypeScript nur ein paar zusätzliche typorientierte Funktionen hinzufügt, die in JS integriert sind, werden Entwickler vor typspezifischen Fehlern (die einen großen Teil der JS-Fehler ausmachen) geschützt und die Entwicklungstools erhalten mehr Informationen über die Entwicklerabsicht.
Dieser Ansatz ist nicht neu. Gehen Sie zum Abschnitt "Static Typing" von
Dieser Artikel richtet sich an Ihre Anfrage: http://www.eweek.com/developer/microsoft-delivers-typescript-a-better-javascript-for-big-apps/
Ich denke, es ist eine Anstrengung, ein geteiltes, unzuverlässiges Stück Mist (Javascript) in eine proprietäre Sprache zu verwandeln, die tatsächlich für umfangreiche Projekte verwendet werden kann.
Es sollte mit GWT verglichen werden, das ähnliche Ziele verfolgt, aber einen saubereren Ansatz verfolgt, indem Javascript nicht Teil der Sprache ist. und mit Java-Applets oder Flash, die den sehr übersichtlichen Ansatz verfolgen, eine vollständige, vom Browser unabhängige Laufzeitumgebung zu definieren.
Ihre Meinung kann variieren, aber ich denke, es ist zum Scheitern verurteilt, solange es von den Browsern abhängt, die die (unterschiedlichen, inkonsistenten) Javascript-Implementierungen und DOM-Modelle nativ bereitstellen.