© best_vector/Shutterstock.com
Windows Developer
Einführung in die Grundlagen der Programmiersprache

JavaScript für .NET-Entwickler

JavaScript und HTML5 gewinnen zunehmend an Bedeutung bei der Entwicklung von Oberflächen moderner Anwendungen, die längst schon nicht mehr ausschließlich auf Tablets oder Smartphones laufen. Im ersten Teil dieser Reihe stand ein Überblick über die bekanntesten Bibliotheken und Frameworks sowie die Architektur einer JavaScript-Anwendung im Vordergrund. Diesmal soll die Programmiersprache JavaScript selbst etwas genauer betrachtet werden und zwar aus dem Blickwinkel eines .NET-Entwicklers.

Matthias Fischer


Die Programmiersprache JavaScript wurde ursprünglich von der Firma Netscape unter dem Namen LiveScript entwickelt. Sie war vor allem darauf ausgelegt, einfache Interaktivitäten durch Manipulation des DOMs auf der Webseite hineinzubringen. Seitdem hat sich an den Grundlagen der Sprache selbst relativ wenig verändert, abgesehen von kleineren Erweiterungen mit neuen Versionen. Was sich jedoch seit der Einführung der Sprache grundlegend gewandelt hat, sind die verschiedenen Einsatzgebiete von JavaScript.

Neben Bibliotheken und Frameworks, die den Entwickler auf der Clientseite bei der Entwicklung moderner Oberflächen unterstützen, haben sich auch Technologien und damit Bibliotheken herausgebildet, die einen serverseitigen Einsatz von JavaScript ermöglichen. Dazu zählt etwa Node.js [1]. Projekte wie node-webkit [2] ermöglichen darüber hinaus sogar die Entwicklung plattformübergreifender Desktopanwendungen in JavaScript. Eines haben alle diese Anwendungen jedoch gemeinsam: die Programmiersprache JavaScript.

Auf den ersten Blick betrachtet scheint JavaScript anderen „Klammersprachen“ wie C#, C++ oder auch Java sehr ähnlich. Bei genauerer Betrachtung ergeben sich jedoch größere Unterschiede, die besonders aufgrund der syntaktischen Ähnlichkeit immer wieder zu Verwirrung führen.

JavaScript ist eine dynamisch typisierte, objektorientierte, aber klassenlose Programmiersprache. Trotzdem lassen sich Objekthierarchien und Vererbung mithilfe der so genannten prototypischen Vererbung realisieren. Dazu kommen weitere Besonderheiten wie der Funktions-Scope, die automatische Konvertierung von Typen sowie das teilweise automatische Einfügen von Semikolons.

Das Typsystem: Dynamische Typisierung

Einer der größten Kritikpunkte an JavaScript ist immer wieder, dass diese Sprache keine strenge Typisierung verwendet, wie wir sie von den .NET-Sprachen, C/C++ oder auch Java kennen. In JavaScript nimmt eine Variable nach jeder Zuweisung eines Werts jeweils den Typ des zugewiesenen Werts an. Dazu kommt, dass Objekte zu jedem Zeitpunkt erweitert und verändert werden können. Damit ist zum Zeitpunkt des Erstellens keine statische Typprüfung des Programmcodes, wie sie beispielsweise ein C#-Compiler durchführt, möglich, da erst zum Zeitpunkt des Zugriffs bekannt ist, über welche Eigenschaften der Typ dann verfügt. Abhilfe schaffen hier Sprachen, die nach JavaScript kompiliert werden können, wie beispielsweise CoffeeScript [3], oder Erweiterungen der Programmiersprache JavaScript, wie sie Typ...

Windows Developer
Einführung in die Grundlagen der Programmiersprache

JavaScript für .NET-Entwickler

JavaScript und HTML5 gewinnen zunehmend an Bedeutung bei der Entwicklung von Oberflächen moderner Anwendungen, die längst schon nicht mehr ausschließlich auf Tablets oder Smartphones laufen. Im ersten Teil dieser Reihe stand ein Überblick über die bekanntesten Bibliotheken und Frameworks sowie die Architektur einer JavaScript-Anwendung im Vordergrund. Diesmal soll die Programmiersprache JavaScript selbst etwas genauer betrachtet werden und zwar aus dem Blickwinkel eines .NET-Entwicklers.

Matthias Fischer


Die Programmiersprache JavaScript wurde ursprünglich von der Firma Netscape unter dem Namen LiveScript entwickelt. Sie war vor allem darauf ausgelegt, einfache Interaktivitäten durch Manipulation des DOMs auf der Webseite hineinzubringen. Seitdem hat sich an den Grundlagen der Sprache selbst relativ wenig verändert, abgesehen von kleineren Erweiterungen mit neuen Versionen. Was sich jedoch seit der Einführung der Sprache grundlegend gewandelt hat, sind die verschiedenen Einsatzgebiete von JavaScript.

Neben Bibliotheken und Frameworks, die den Entwickler auf der Clientseite bei der Entwicklung moderner Oberflächen unterstützen, haben sich auch Technologien und damit Bibliotheken herausgebildet, die einen serverseitigen Einsatz von JavaScript ermöglichen. Dazu zählt etwa Node.js [1]. Projekte wie node-webkit [2] ermöglichen darüber hinaus sogar die Entwicklung plattformübergreifender Desktopanwendungen in JavaScript. Eines haben alle diese Anwendungen jedoch gemeinsam: die Programmiersprache JavaScript.

Auf den ersten Blick betrachtet scheint JavaScript anderen „Klammersprachen“ wie C#, C++ oder auch Java sehr ähnlich. Bei genauerer Betrachtung ergeben sich jedoch größere Unterschiede, die besonders aufgrund der syntaktischen Ähnlichkeit immer wieder zu Verwirrung führen.

JavaScript ist eine dynamisch typisierte, objektorientierte, aber klassenlose Programmiersprache. Trotzdem lassen sich Objekthierarchien und Vererbung mithilfe der so genannten prototypischen Vererbung realisieren. Dazu kommen weitere Besonderheiten wie der Funktions-Scope, die automatische Konvertierung von Typen sowie das teilweise automatische Einfügen von Semikolons.

Das Typsystem: Dynamische Typisierung

Einer der größten Kritikpunkte an JavaScript ist immer wieder, dass diese Sprache keine strenge Typisierung verwendet, wie wir sie von den .NET-Sprachen, C/C++ oder auch Java kennen. In JavaScript nimmt eine Variable nach jeder Zuweisung eines Werts jeweils den Typ des zugewiesenen Werts an. Dazu kommt, dass Objekte zu jedem Zeitpunkt erweitert und verändert werden können. Damit ist zum Zeitpunkt des Erstellens keine statische Typprüfung des Programmcodes, wie sie beispielsweise ein C#-Compiler durchführt, möglich, da erst zum Zeitpunkt des Zugriffs bekannt ist, über welche Eigenschaften der Typ dann verfügt. Abhilfe schaffen hier Sprachen, die nach JavaScript kompiliert werden können, wie beispielsweise CoffeeScript [3], oder Erweiterungen der Programmiersprache JavaScript, wie sie Typ...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang