Next Level JavaScript: Schlagworte
()
About this ebook
Doch was zeichnet JavaScript im Vergleich zu anderen Sprachen aus? Dieser spannenden Frage geht u.a. das erste Kapitel des shortcuts nach. Das zweite
Kapitel gibt anschließend einen Überblick über moderne JavaScript-Applikationen. In Kapitel 3 werden abschließend die Erfahrungen
eines .NET-Teams auf der Entdeckungsreise durch die neue Welt der Single Page Applications (SPA) mit JavaScript beschrieben. Hier kommt man zu dem Fazit,
dass man auch mit JavaScript modulare und testbare Software entwickeln kann, und zwar mit SPAs(s).
Read more from Jakob Westhoff
Plugin-Entwicklung mit jQuery Rating: 0 out of 5 stars0 ratings
Related to Next Level JavaScript
Titles in the series (100)
BPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsVaadin Schnelleinstieg Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Management Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Java FX - Status Quo: Status Quo Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsEclipse meets Java FX Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Strategie und Planung Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratings
Related ebooks
C# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Rating: 0 out of 5 stars0 ratingsMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Computerspielen: In Visual Basic 5.0 / 6.0 Rating: 0 out of 5 stars0 ratingsJava 8 - Die Neuerungen: Lambdas, Streams, Date and Time API und JavaFX 8 im Überblick Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsDynamische Webseiten: Einstieg in HTML, PHP und MySQL Rating: 0 out of 5 stars0 ratingsDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Rating: 1 out of 5 stars1/5Web-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Rating: 0 out of 5 stars0 ratingsC# 8.0 – kurz & gut Rating: 0 out of 5 stars0 ratingsJava Core Programmierung: Memory Model und Garbage Collection Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratingsC++ – kurz & gut: Aktuell zu C++17 Rating: 4 out of 5 stars4/5.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsPowerShell – kurz & gut: Für PowerShell 7 und Windows PowerShell 5 Rating: 0 out of 5 stars0 ratingsDie Serverwelt von Node.js Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsHTML5 kurz & gut Rating: 0 out of 5 stars0 ratingsModerne Datenzugriffslösungen mit Entity Framework 6 Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsC# 6.0 – kurz & gut Rating: 5 out of 5 stars5/5Spring Boot und Spring Cloud Rating: 5 out of 5 stars5/5Einstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsCross-Plattform-Entwicklung mit HTML und JavaScript Rating: 0 out of 5 stars0 ratingsVue.js kurz & gut Rating: 0 out of 5 stars0 ratingsMicroservices: Der Hype im Realitätscheck Rating: 0 out of 5 stars0 ratingsJava EE kurz & gut Rating: 4 out of 5 stars4/5Single-Page-Web-Apps: JavaScript im Einsatz: Webseiten erstellen mit AngularJS, Meteor und jQuery Mobile Rating: 0 out of 5 stars0 ratingsCSS3: Die Referenz für Webentwickler Rating: 0 out of 5 stars0 ratings
Programming For You
JavaScript kurz & gut Rating: 3 out of 5 stars3/5Weniger schlecht programmieren Rating: 4 out of 5 stars4/5Algorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsPython kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5Raspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsPowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Programmieren von Kopf bis Fuß Rating: 4 out of 5 stars4/5Einführung in Node.JS Rating: 0 out of 5 stars0 ratingsGit kurz & gut Rating: 0 out of 5 stars0 ratingsEinstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsRichtig einsteigen: Excel VBA-Programmierung: Für Microsoft Excel 2007 bis 2016 Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsPerspektiven für Informatiker 2019: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Rating: 0 out of 5 stars0 ratingsSQL von Kopf bis Fuß Rating: 4 out of 5 stars4/5Bash kurz & gut Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsReact lernen und verstehen Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsPowerprojekte mit Arduino und C: Schluss mit dem frustrierenden Ausprobieren von Code-Schnipseln! Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsPraktisches Programmieren in C: Grundlagen und Tipps Rating: 0 out of 5 stars0 ratingsAndroid-Entwicklung für Einsteiger - 20.000 Zeilen unter dem Meer: 2. erweiterte Auflage Rating: 0 out of 5 stars0 ratingsJavaScript kinderleicht!: Einfach programmieren lernen mit der Sprache des Web Rating: 0 out of 5 stars0 ratingsMicrosoft Word 2016 (Microsoft Press): Einfache Anleitungen für wichtige Aufgaben Rating: 0 out of 5 stars0 ratings
Reviews for Next Level JavaScript
0 ratings0 reviews
Book preview
Next Level JavaScript - Jakob Westhoff
Jakob Westhoff, Michael Wager, Stefanos Aslanidis,
Robert Rieger, Peter Kern, Christian Ringler
Next Level JavaScript –
Schlagworte
ISBN: 978-3-86802-497-5
© 2013 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 JavaScript als Plattform
JavaScript besitzt in der Webentwicklung einen hohen Stellenwert. Doch nicht nur dort fühlt sich diese Sprache zu Hause. Mit Node.js ist sie ebenso auf Servern vertreten, und IDEs erlauben mit ihr die Erstellung eigener Module. Auch auf Fernsehern, Spielekonsolen und Embedded-Systemen ist sie anzutreffen. Kurzum: Die Verbreitung von JavaScript scheint kaum mehr aufzuhalten. Doch was bedeutet das konkret für die Entwicklung der Sprache? Ist JavaScript mittlerweile vielleicht mehr geworden, als eine reine Programmiersprache?
JavaScripts mannigfaltige Sprachfeatures lassen extrem elegante und mächtige Problemlösungen entstehen, führen jedoch gleichzeitig häufig zu unleserlichem und extrem schwer wartbarem Code. Viele sind der Meinung, dies sei ein sprachinhärentes Problem, das sich mit JavaScript nicht lösen lasse. Die Konsequenz: Eine alternative Sprache muss her! Doch wie soll das funktionieren? Browser, die zu den Haupteinsatzgebieten von JavaScript zählen, können mit keiner anderen Sprache umgehen. Natürlich könnten neue Sprachen erfunden werden. Doch aus Erfahrung vergehen etliche Jahre, bis sich diese soweit etabliert haben, dass sie produktiven Einsatz finden – falls dies überhaupt gelingt.
Die Entstehung von Transpilern
Eine einfache, wenn auch geniale Lösung des Ein-Sprachen-Problems ist die Verwendung sog. Transpiler, auch Transcompiler oder Source-to-Source-Compiler genannt. Transpiler sind Compiler, die eine Eingabesprache nicht in Bytecode für eine spezielle Plattform oder VM übersetzen, sondern in eine andere Hochsprache überführen. In Zeiten von interpretierten und mit Just-in-Time-Compilern optimierten Sprachen kann diese Technik eine Möglichkeit bedeuten, alternative Sprachen auch in scheinbar isolierten Systemen wie JavaScript zum Einsatz zu bringen.
CoffeeScript – Ein bekannter Transpiler
Ein Vertreter der Sprachen, für die ein Transpiler existiert, ist CoffeeScript [1]. Wenig überraschend ist die Zielsprache dieses Compilers JavaScript. Applikationen können demnach in CoffeeScript geschrieben und anschließend in JavaScript übersetzt werden. Hierbei muss die Ausgangssprache keine Ähnlichkeit mit JavaScript besitzen.
Eine Klassendefinition in CoffeeScript demonstriert recht eindrucksvoll, dass die Ausgangssprache nicht zwangsläufig Ähnlichkeit mit der Zielsprache besitzen muss (Listing 1.1).
class Shape
draw: ->
throw new Error(Abstract method.
)
class Circle extends Shape
draw: ->
# Draw the Circle
Listing 1.1
CoffeeScript besitzt Klassen, JavaScript lediglich Prototypen. CoffeeScript verwendet Einrückungen zur Identifikation von Blöcken, JavaScript geschweifte Klammern. Funktionen werden ohne das Keyword function definiert. Es handelt sich also tatsächlich um eine neue Sprache, die sich gravierend von der Zielsprache unterscheidet. Trotzdem ist es möglich, das vorgestellte Programm mithilfe des CoffeeScript-Transpilers in JavaScript-Code zu übersetzen (Listing 1.1).
TypeScript – Microsofts Idee von JavaScript
CoffeeScript ist bei Weitem nicht die einzige neue Sprache dieser Gattung. Mit TypeScript [2] hat Microsoft vor einiger Zeit einen weiteren Vertreter der JavaScript-Alternativen ins Rennen geschickt. Im Vergleich zu Sprachen wie CoffeeScript ist TypeScript keine komplett neue Sprache, sondern lediglich ein Superset, also eine Erweiterung von JavaScript.
Jeglicher gültige JavaScript-Code ist demnach auch gültiger TypeScript-Code. Allerdings besitzt TypeScript diverse zusätzliche Features, die JavaScript aktuell nicht bietet. So z. B. ein Modulsystem, Klassen, Interfaces und – wie der Name der Sprache bereits vermuten lässt – ein statisches Typensystem. Listing 2 zeigt zwei primitive TypeScript-Klassen und ein Interface. Diese wiederum werden