Es gibt viele Programmiersprachen. Warum sollten Sie JavaScript verwenden? Dieses Kapitel betrachtet sieben Aspekte, die bei der Wahl einer Programmiersprache wichtig sind, und argumentiert, dass JavaScript insgesamt gut abschneidet:
Die Sprachkompatibilität zwischen JavaScript-Engines war früher ein Problem, ist es aber dank der test262-Suite, die Engines auf Konformität mit der ECMAScript-Spezifikation prüft, nicht mehr. Im Gegensatz dazu stellen Browser- und DOM-Unterschiede immer noch eine Herausforderung dar. Deshalb ist es normalerweise am besten, sich auf Frameworks zu verlassen, um diese Unterschiede zu verbergen.
Die schönste Programmiersprache der Welt ist nutzlos, wenn sie es Ihnen nicht ermöglicht, das Programm zu schreiben, das Sie benötigen.
Im Bereich der grafischen Benutzeroberflächen profitiert JavaScript davon, Teil von HTML5 zu sein. In diesem Abschnitt verwende ich den Begriff HTML5 für „die Browser-Plattform“ (HTML, CSS und JavaScript-APIs des Browsers). HTML5 ist weit verbreitet und macht stetige Fortschritte. Es entwickelt sich langsam zu einer vollständigen Schicht für das Schreiben von vollwertigen, plattformübergreifenden Anwendungen; ähnlich wie die Java-Plattform ist es fast wie ein eingebettetes Betriebssystem. Einer der Verkaufsargumente von HTML5 ist, dass es Ihnen ermöglicht, plattformübergreifende grafische Benutzeroberflächen zu schreiben. Diese sind immer ein Kompromiss: Sie geben etwas Qualität auf, um nicht auf ein einzelnes Betriebssystem beschränkt zu sein. Früher bedeutete „plattformübergreifend“ Windows, Mac OS oder Linux. Aber wir haben jetzt zwei zusätzliche interaktive Plattformen: Web und Mobile. Mit HTML5 können Sie über Technologien wie PhoneGap, Chrome Apps und TideSDK all diese Plattformen ansprechen.
Zusätzlich haben mehrere Plattformen Web-Apps als native Apps oder ermöglichen deren native Installation – zum Beispiel Chrome OS, Firefox OS und Android.
Es gibt mehr Technologien als nur HTML5, die JavaScript ergänzen und die Sprache nützlicher machen:
JavaScript erhält immer bessere Build-Tools (z. B. Grunt) und Test-Tools (z. B. mocha). Node.js ermöglicht es, diese Art von Tools über eine Shell auszuführen (und nicht nur im Browser). Ein Risiko in diesem Bereich ist die Fragmentierung, da wir zunehmend zu viele dieser Werkzeuge bekommen.
Der Bereich der JavaScript-IDEs ist noch jung, aber er entwickelt sich schnell. Die Komplexität und Dynamik der Webentwicklung machen diesen Bereich zu einem fruchtbaren Boden für Innovationen. Zwei Open-Source-Beispiele sind Brackets und Light Table.
Zusätzlich werden Browser zunehmend zu fähigen Entwicklungsumgebungen. Insbesondere Chrome hat in letzter Zeit beeindruckende Fortschritte gemacht. Es wird interessant sein zu sehen, wie stark IDEs und Browser in Zukunft integriert werden.
mapPar, filterPar und reducePar (parallelisierbare Versionen der vorhandenen Array-Methoden map, filter und reduce) verwendet. Damit die Parallelisierung funktioniert, müssen Callbacks in einem speziellen Stil geschrieben werden; die Haupteinschränkung besteht darin, dass Daten, die nicht innerhalb der Callbacks erstellt wurden, nicht verändert werden können.JavaScript ist weit verbreitet und zieht beide der genannten Vorteile
Mehrere Dinge deuten darauf hin, dass JavaScript eine glänzende Zukunft hat:
Wenn man die vorangegangene Liste dessen, was eine Sprache attraktiv macht, betrachtet, schneidet JavaScript bemerkenswert gut ab. Es ist sicherlich nicht perfekt, aber im Moment ist es schwer zu schlagen – und die Dinge werden nur besser.