Boxjs, Boxcss und Boxresizer

Javascript und CSS gepackt, komprimiert und minimiert

Boxjs soll die Bequemlichkeit beim modularen Laden von Javascript-Dateien mit der Geschwindigkeit einer einzelnen, komprimierten Javascript-Datei verbinden. Boxcss bietet Ähnliches für CSS und Boxreszier stellt einen Proxy zum Verkleinern von Bildern bereit.

Artikel veröffentlicht am ,
Boxjs, Boxcss und Boxresizer: Javascript und CSS gepackt, komprimiert und minimiert
(Bild: Boxjs)

Das Laden mehrerer Javascript-Dateien verlangsamt die Anzeige von Webseiten unnötig, da der Browser jede einzelne Datei holen muss. Schneller geht es, wenn Javascript-Code erst dann dynamisch nachgeladen wird, wenn er auch wirklich benötigt wird oder, sollte der Code von vornherein notwendig sein, wenn der gesamte Javascript-Code in eine einzelne Datei gepackt und diese minimiert und komprimiert wird. Das bietet sich vor allem bei mobilen Websites an, da hier die Latenzen höher sind und es spürbar länger dauert, mehrere kleine anstatt einer großen Datei zu laden. Das gilt nicht nur für Javascript, sondern auch für CSS und Bilder.

Stellenmarkt
  1. Changemanager/in (w/m/d)
    Statistisches Bundesamt, Wiesbaden
  2. Technischer Direktor (m/w/d)
    Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Erlangen
Detailsuche

Für Entwickler ist der modulare Ansatz, jede Javascript-Datei einzeln einzubinden, einfacher und flexibler, denn kleine Änderungen können sofort getestet werden. Mit der rund 2 KByte großen Javascript-Bibliothek Boxjs soll diese Flexibilität erhalten bleiben, auch wenn nur eine einzelne minimierte und komprimierte Javascript-Datei ausgeliefert wird.

Einmal in die Seite eingebunden, werden dem Objekt Box die URLs der zu ladenden Javascript-Dateien übergeben. Boxjs holt dann die Dateien, minimiert und komprimiert diese und liefert sie in Form einer einzelnen gecachten Javascript-Datei aus. Dazu übergibt die Bibliothek die URLs an den Boxjs-Dienst, der die eigentliche Arbeit übernimmt.

Auch Coffeescript-Dateien lassen sich damit direkt in eine Website einbetten. Boxjs sorgt in diesem Fall dafür, dass der Coffescript-Code zuvor in Javascript umgewandelt wird. Über Optionen können Entwickler zudem festlegen, ob Dateien minifiziert werden. Auch kann festgelegt werden, dass die Javascript-Datei erst zu einem späteren Zeitpunkt geladen wird. Wer den Javascript-Code benötigt, bevor die Seite komplett geladen ist, kann zudem erzwingen, dass der Javascript-Code per document.write eingebunden wird. Für gewöhnlich hängt Boxjs einfach ein entsprechendes Script-Tag ans Ende der HTML-Datei.

Golem Akademie
  1. IT-Sicherheit für Webentwickler
    2.-3. November 2021, online
  2. Python kompakt - Einführung für Softwareentwickler
    28.-29. Oktober 2021, online
  3. Advanced Python - Fortgeschrittene Programmierthemen
    27.-28. Januar 2022, online
Weitere IT-Trainings

Die Option "dev" sorgt dafür, dass die angegebenen Dateien direkt über einzelne Script-Tags in die Seite eingebunden werden. So können bei der Entwicklung auch lokale Javascript-Dateien berücksichtigt werden, die für den Boxjs-Dienst nicht erreichbar sind.

Boxcss für CSS

Was Boxjs für Javascript macht, übernimmt Boxcss für CSS-Dateien. Dabei wird einfach eine einzelne CSS-Datei von Boxcss.com eingebunden, der die zu verwendenden CSS-Dateien als URL-Parameter übergeben werden. Boxcss übernimmt auch hier den Rest und unterstützt dabei auch das CSS-Framework Less.

Wer auf das CDN von Boxjs beziehungsweise Boxcss nicht vertrauen will, kann die von Boxjs generierte Datei auch auf einem eigenen Server hinterlegen und manuell in eine Seite einbinden. Die Boxjs-Entwickler Marcel Du Preez und Simon Smith wollen hierfür in Zukunft aber eine elegantere Lösung bieten.

Boxresizer kümmert sich um Bilder

Boxresizer sorgt dafür, dass keine unnötig großen Bilder vom Server geladen werden müssen. Gedacht ist dies für adaptives Webdesign, das sich der jeweiligen Displaygröße anpasst. Boxresizer stellt dazu einen Proxy zur Verfügung, dem die URL des Originalbildes sowie die gewünschte Bildgröße als URL-Parameter übergeben werden. Boxresizer liefert dann eine entsprechend verkleinerte Version des Bildes an das Endgerät aus.

Allerdings unterstützt Boxresizer derzeit keinerlei Caching, so dass sich Entwickler darum selbst kümmern müssen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Kaiser Ming 18. Jul 2011

erstmal wie Ka... javascript designt ist was denke ich darin liegt dass man von...

GodsBoss 18. Jul 2011

Die gzip-Kompression ist mindestens seit HTTP/1.1 im Standard enthalten, das sind zwölf...

GodsBoss 18. Jul 2011

Es steht doch außer Frage, dass es für Entwickler vieeeel zu kompliziert ist: 1. Mehrere...



Aktuell auf der Startseite von Golem.de
Chorus angespielt
Automatischer Arschtritt im All

Knopfdruck, Teleport hinter Feind, Abschuss: Das Weltraumspiel Chorus will mit Story, Grafik und Ideen punkten. Golem.de hat es angespielt.
Von Peter Steinlechner

Chorus angespielt: Automatischer Arschtritt im All
Artikel
  1. Valve: Steam Deck kann als PC-Controller verwendet werden
    Valve
    Steam Deck kann als PC-Controller verwendet werden

    In einem FAQ hat Valve Nutzerfragen zum Steam Deck beantwortet. Derzeit erhalten Entwickler erste Prototypen.

  2. Carvera: CNC-Fräse für den Tisch wechselt Aufsätze selbstständig
    Carvera
    CNC-Fräse für den Tisch wechselt Aufsätze selbstständig

    Die Carvera ist eine CNC-Maschine und Drehbank für Hobbybastler. Das System wechselt Aufsätze selbstständig, ist aber nicht günstig.

  3. Lightning ade: EU will USB-C als alleinige Handy-Ladebuchse vorschreiben
    Lightning ade  
    EU will USB-C als alleinige Handy-Ladebuchse vorschreiben

    Die EU-Kommission will eine einheitliche Ladebuchse einführen. USB-C soll zum Aufladen aller möglichen Kleingeräte verwendet werden.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Asus 27" WQHD 144Hz 260,91€ • Alternate-Deals (u. a. Acer Nitro 27" FHD 159,90€) • Neuer Kindle Paperwhite Signature Edition vorbestellbar 189,99€ • Black Week bei NBB: Bis 50% Rabatt (u. a. MSI 31,5" Curved WQHD 165Hz 350€) • PS5 Digital mit FIFA 22 bei o2 bestellbar [Werbung]
    •  /