Next Level JavaScript: Schlagworte
Von Jakob Westhoff, Michael Wager, Stefanos Aslanidis und
()
Über dieses E-Book
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).
Mehr von Jakob Westhoff lesen
Plugin-Entwicklung mit jQuery Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnlich wie Next Level JavaScript
Titel in dieser Serie (100)
TFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenZend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenAmazon Web Services für .NET Entwickler Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Bewertung: 0 von 5 Sternen0 BewertungenADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5UX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenHTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenC++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenMobile Business: Was Entscheider morgen wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenEclipse meets Java FX Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Strategie und Planung Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Executive Briefing Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
Mobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Bewertung: 0 von 5 Sternen0 BewertungenJava 8 - Die Neuerungen: Lambdas, Streams, Date and Time API und JavaFX 8 im Überblick Bewertung: 0 von 5 Sternen0 BewertungenAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Bewertung: 0 von 5 Sternen0 BewertungenKompaktkurs C# 7 Bewertung: 0 von 5 Sternen0 BewertungenProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in TypeScript: Grundlagen für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenCross-Plattform-Entwicklung mit HTML und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenEinführung in Programmiersprachen Bewertung: 0 von 5 Sternen0 BewertungenC++: Kurzportträt einer zeitlosen Sprache Bewertung: 0 von 5 Sternen0 BewertungenC# 8.0 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenASP.NET Core: Eine Einführung Bewertung: 0 von 5 Sternen0 BewertungenDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Bewertung: 1 von 5 Sternen1/5C++17: Praxiswissen zum neuen Standard. Von C++11 bis 17 Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenModerne Datenzugriffslösungen mit Entity Framework 6 Bewertung: 0 von 5 Sternen0 BewertungenBootstrap kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenF#: Ein praktischer Einstieg Bewertung: 0 von 5 Sternen0 BewertungenC# 6.0 – kurz & gut Bewertung: 5 von 5 Sternen5/5Web-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Bewertung: 0 von 5 Sternen0 BewertungenDie Serverwelt von Node.js Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren lernen mit Computerspielen: In Visual Basic 5.0 / 6.0 Bewertung: 0 von 5 Sternen0 BewertungenPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Bewertung: 0 von 5 Sternen0 BewertungenJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Bewertung: 0 von 5 Sternen0 BewertungenC++ – kurz & gut: Aktuell zu C++17 Bewertung: 4 von 5 Sternen4/5Windows-8-Apps für C#-Entwickler: Design-Guidelines, Anleitungen, Best Practices Bewertung: 0 von 5 Sternen0 BewertungenSingle-Page-Web-Apps: JavaScript im Einsatz: Webseiten erstellen mit AngularJS, Meteor und jQuery Mobile Bewertung: 0 von 5 Sternen0 BewertungenJavaScript effektiv: 68 Dinge, die ein guter JavaScript-Entwickler wissen sollte Bewertung: 0 von 5 Sternen0 BewertungenHTML5, JavaScript und jQuery: Der Crashkurs für Softwareentwickler Bewertung: 2 von 5 Sternen2/5Microservices: Der Hype im Realitätscheck Bewertung: 0 von 5 Sternen0 BewertungenGraphQL: Eine Einführung in APIs mit GraphQL Bewertung: 0 von 5 Sternen0 Bewertungen
Programmieren für Sie
.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenWeniger schlecht programmieren Bewertung: 4 von 5 Sternen4/5Linux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Bewertung: 0 von 5 Sternen0 BewertungenMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Bewertung: 0 von 5 Sternen0 BewertungenPython kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5Git kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenSQL von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Programmieren von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5C von Kopf bis Fuß Bewertung: 3 von 5 Sternen3/5Raspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Eigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Programmierung kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Bewertung: 0 von 5 Sternen0 BewertungenSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi: Einstieg • Optimierung • Projekte Bewertung: 5 von 5 Sternen5/5Perspektiven für Informatiker 2019: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Bewertung: 0 von 5 Sternen0 BewertungenHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenMicrocontroller für das IoT Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenPython lernen – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Next Level JavaScript
0 Bewertungen0 Rezensionen
Buchvorschau
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