Cheatah: Javascript Organisieren

Beitrag lesen

Hi,

  1. Es wird ja gesagt das viele Requests nicht gut sind. Bislang haben wir aber tatsächlich ca. 20-30 Javascrpt Dateien eingebunden. Waren natürlich eine Menge Dateien und Requests. Gibt es eine Lösung wie man die Javascript Sachen durch einen Parser (PHP) laufen lassen kann der mir am Ende eine Datei ausspruckt?

bei meiner Arbeit habe ich ein System erstellt, dass mittels Pseudo-Kommandos wie IMPORT:dateiname.js eine Datei einbinden kann. Das ist simpel, wirksam und bewahrt die Übersicht.

Vorsicht: Dies sollte nur _vor_ dem Deployment geschehen. Die Ergebnisse sollten unbedingt als statische Dateien abgelegt sein.

Ich hab JS-Min im Internet gefunden. Ist das gut?

Sowas macht ein Debugging am "lebenden Objekt" unmöglich. Dank mod_gzip u.ä. ist der Nutzen davon auch vergleichsweise gering.

Eventuell ist es auch ratsam gleich am Anfang alles in eine Datei zu packen?

Nope, das Gegenteil sollte angestrebt werden. Je mehr Dateien bei der Entwicklung, umso besser - auch weil es zu modularen Ansätzen zwingt, die sehr effizient sein können.[1] Tipp: Um sich in zentrale Dateien "einzuklinken", eignet sich das Event-Modell von jQuery; Stichwort .trigger().

  1. Führt mich auch gleich zur Zweiten Frage. Wir haben bislang auch für sehr kleine Probleme "Objekte" und "Klassen" gebaut. War natürlich eine tolle Sache alles OOP zu haben. Das haben wir aber auch für die kleinsten Funktionen gemacht. Gerade mit JQuery sind kleine sichtbar/unsichtbar Spielereien ja nicht mehr als 1-3 Zeilen. Dafür braucht man natürlich keine eigene Klasse oder Datei. Oder wie seht ihr dass?

OOP für umfangreichere Konzepte oder für Dinge, die man (ähnlich, nicht identisch) wiederverwenden will, ist eine super Sache. OOP als Selbstzweck ist der Versuch, Java-Konzepte auf JavaScript zu stülpen, was nur mit Gewalt geht und zu ähnlichen Ergebnissen führt. Don't do this at home.

Ich bräuchte da ein paar Vorschläge und Erfahrung. Gerne auch Links zu guten Vorgehen.

Deine Fragen zeigen deutlich, dass Du bereits über (meiner Ansicht nach) vernünftige Gedanken verfügst. Tue das, was Du für Dein Projekt sowie die (auch zukünftige) (Team-)Arbeit für richtig hältst. Noch'n Tipp: Die Inline-Dokumentation und andere Kommentare kann man im gleichen Script, das die Imports durchführt, vor dem Speichern der deployment-tauglichen Datei automatisch entfernen. Vergiss aber nicht, mit diesem Resultat auch zu testen ;-)

Cheatah

[1] Ja, sie können auch schlecht sein. Ich habe nicht den Eindruck, dass Du diesbezüglich Gefahr läufst ;-)

--
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes