
Wenn man weiß, dass Stoyan Stefanov seine Brötchen bei Yahoo verdient, kann man schon erahnen, dass sein Buch JavaScript Patterns wohl kaum ein tiefer Griff ins Klo sein dürfte – und das auch nicht der Fall. Auf etwas über 200 Seiten geht es um Entwurfsmuster für JavaScript und das, was dort zu Papier gebracht wurde (ein Mix aus Best Practices und Codeschnipseln), hat sachlich absolut Hand und Fuß. Von grundlegenden Dingen wie
Finger weg von
über clevere Tricks mit Funktionen bis zu einem von A bis Z durchexerzierten Modulsystem ist eigentlich alles geboten und auch viele Antipatterns werden gezeigt und erklärt. Also, ein Super-Buch das man sich ohne großes Nachdenken sofort ins Regal stellen sollte? Das kommt ganz drauf an.new Array()
Das Buch dürfte für all diejenigen interessant sein, die alle JavaScript-Basics soweit auf dem Kasten haben, dass sie alle Aufgaben des täglichen Webworkertums im Schlaf erledigen und die in Zukunft planen, mehr als nur eben jene Standardaufgaben in Angriff zu nehmen. Für alle, die tendenziell eher JavaScript-Anfänger sind, bietet das Buch zu wenig Grundlagenarbeit. Für alle, die auch in Zukunft nicht vorhaben, mehr als ein paar jQuery-Animationen zusammenzuhauen, gibt es zu wenig Praxisbezug. Das Buch enthält zwar ein Kapitel über DOM-Patterns, aber falls man bereits eine JavaScript-Bibliothek verwendet (und wer tut das nicht?), wird man diese nicht wirklich brauchen. Und wer schon ein ausgewachsener JavaScript-Super-Nerd ist, dürfte sich ein wenig langweilen, denn bahnbrechend Neues werden auch nicht präsentiert. Um das Ganze grafisch darzustellen:

Das ist dem Buch nicht zum Vorwurf zu machen – es ist eben inhaltlich so konzipiert. An dem was drin steht ist absolut nichts auszusetzen, die Frage ist nur, ob der Inhalt für Jeden relevant ist. Wer noch gar kein JS kann oder mit seinen Scripts bis auf weiteres nur Websites zu dekorieren gedenkt, braucht es eher nicht. Alle anderen erhalten ein Büchlein, in dem vielleicht nicht viel Neues steht, aber das in jedem Fall zumindest ein taugliches Nachschlagewrk abgibt – und wenn man bedenkt, was für einen Bockmist eine Google-Suche nach beliebigen JavaScript-Themen zutage fördert, ist das eigentlich schon viel wert.
Kommentare (9)
Karsten ¶
29. November 2010, 15:24 Uhr
Schön, wie Du das ansprechende Diagramm mit Comic Sans abgerundet hast.
Sven Drieling ¶
29. November 2010, 19:06 Uhr
Das Buch liegt auch auf PaperC: http://paperc.de/10414-javascript-patterns-9781449397043
Gegen eine Registrierung kann man es dort ausführlich lesen und so sehen, ob es für einen geeignet ist.
Marcel Eichner ¶
29. November 2010, 21:20 Uhr
Ich hab das Buch auch letztens durchgelesen und ist echt klasse. Viel besser als die anderen beiden neuen Bücher über JS von O’Reilly! Die Grafik ist echt lustig :D
Emanuel ¶
30. November 2010, 07:56 Uhr
also erstmal chapeau zu dieser infografik! :-)
ich denke, dass es der richtige weg ist, die zielgruppe zu segmentieren und den inhalt des buches dann speziell auf diese abzustimmen. javascript ist zwar, wie man so schön sagt, erwachsen geworden, allerdings ist auch die anwendergruppe - durch das aufkommen von librarys und frameworks - sehr viel heterogener geworden.
es gibt jene, die ihre website einfach nur ein bißchen "aufhübschen" wollen, wobei hier sicherlich jquery und mootools zu nennen sind, und solche, die dies auf ein neues level heben möchten, und bspw eigene erweiterungen für diese librarys schreiben, die noch besser auf ihre bedürfnisse abgestimmt sind.
dann wiederum gibt es leute, die komplexere applikationen erstellen möchten und mit einer "interface-library" wenig anfangen können. diese greifen dann bspw auf prototype.js oder oder yui zurück.
auf welchem level auch immer man sich befindet, ein entsprechendes javascript-buch - welches nicht nur die methoden und funktionen der jeweiligen librarys und frameworks erläutert, sondern auch - abgestimmt auf das niveau - native methoden, patterns, best practices, whatever thematisiert, halte ich für sehr sinnvoll.
"alles" umfassende javascript-kompendien wiederum traue ich nicht mehr über den weg. da wird dann immer noch vorgeschlagen, dass man mit dem
with
-ausdruck seinen code übersichtlicher gestalten kann :-)und der langen rede kurzer sinn: die javascript-thematik ist sehr komplex geworden und nischen-orientierte bücher sicherlich die zukunft. welche zielgruppe ein buch dabei anspricht, muss natürlich offen kommuniziert werden. andererseits ist der kauf eines javascript-buches nicht immer der weisheit letzter schluss - wenn ich mich bspw in prototype.js reingefuchst habe und trotzdem murks schreibe, sollte ich vlt erstmal ein allgemeineres buch zum thema objektorientierte programmierung konsultieren.
molily ¶
6. Dezember 2010, 14:17 Uhr
Ich habe mal in das Buch bei PaperC hineingeschaut und die Beschreibung der pseudoklassischen OOP ist wirklich gut (Kapitel 5). Davon abgesehen habe ich immer das Gefühl, dass Bücher über klassische Patterns langweilen und an der Realität vorbeigehen. »Pro JavaScript Design Patterns« war so ein Buch, das mich total enttäuscht hat. Ich verstehe nicht den Wert von der Fleißübung, alle möglichen Patterns der Softwareentwicklung auf JavaScript zu übertragen. Dass das prinzipiell möglich ist, hilft doch niemanden weiter. Meine Frage wäre also, ob diese Patterns nicht nur beschrieben, sondern auch praktisch eingeordnet werden. Wenn ich das richtig sehe, ist mit Patterns auch mehr ein Rundgang durch sämtliche JavaScript- und DOM-Scripting-Techniken gemeint? Das Buch scheint ja sehr verschiedene JavaScript-Themen abzudecken. Was ist der rote Faden?
Peter Müller ¶
15. April 2012, 19:40 Uhr
wieso „finger weg von new Array()“?
Peter Kröner ¶
15. April 2012, 20:01 Uhr
Neue Arrays macht man am einfachsten (weil am kürzesten) mit dem Literal
[]
. Es gibt keinen Grund, sich mitnew Array()
einen Wolf zu tippen, denn das bringt gegenüber[]
keine Vorteile. Außerdem machtnew Array()
, je nachdem wie viele Argumente man ihm mitgibt, sehr unterschiedliche Sachen:Den ganzen Stress hat man mit
[]
nicht, da kommt einfach ein Array mit den Elementen heraus, die man hineingesteckt hat.Juuro ¶
9. Juli 2013, 23:07 Uhr
Ok, aber es gibt keine Performance-, oder Speicher-Gründe wegen denen man
new Array()
nicht nehmen sollte? Denn manchmal möchte man ja z.B. vielleicht wirklich ein leeres Array mit length = 3 haben.Peter Kröner ¶
9. Juli 2013, 23:14 Uhr
Wofür denn?