Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) bandweite, javascript, quelltext (edit)
 
Reply to this topicStart new topicStart Poll
> JavaScript, Quelltext/Bandweite zu sparen? (ajax?), ...eine gute Idee?
Josh
Geschrieben am: Di 14.06.2005, 11:01
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


Hallo alle

Angenommen, ich muss eine Tabelle mit 100 Zeilen ausgeben, dann sähe der Quelltext etwa so aus:

CODE

<table border="1">
<tr>
 <td>Hans</td>
 <td>Mueller</td>
</tr>
<tr>
 <td>Heidi</td>
 <td>Keller</td>
</tr>
<tr>
 <td>Peter</td>
 <td>Tobler</td>
</tr>
<tr>
 <td>Maria</td>
 <td>MutterGottes</td>
</tr>
<!-- und das noch 96x -->
</table>


Dies erzeugt einen ziemlich grossen Quelltext, welcher einerseits vom Server hochgeladen muss und andererseits vom Client wieder runtergeladen werden muss.

Wäre es eine gute Idee, statt dessen folgenden Code zu benutzen?

CODE

<script type="text/javascript">
function writeRow(name,vorname) {
document.write("<tr>");
document.write("  <td>" + name + "</td>");
document.write("  <td>" + vorname + "</td>");
document.write("</tr>");
}
</script>

<table border="1">
<script type="text/javascript">
writeRow("Hans","Mueller");
writeRow("Heidi","Keller");
writeRow("Peter","Tobler");
writeRow("Maria","MutterGottes");
// Weitere 96x...
</script>
</table>


Nun gut, in diesem Beispiel sieht es nicht wirklich nach weniger Code aus im 2. Codelisting, aber wenn da noch Verzierungen, Schnickschnack etc. hinzukommen würden für das Design könnte man da garantiert einiges an Code sparen!
Voraussetzung wäre halt einfach, dass JavaScript aktiviert wäre, aber wenn dies für die restliche Applikation sowieso vonnöten wäre, dann wäre das ja in dem Sinne schon gegeben.

Was haltet ihr von dieser Technik? Sie würde sehr viel Uploadbandweite und Downloadbandweite beim Benutzer sparen! Was spricht evtl. dagegen?

Liebe Grüsse
Josh


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
 
kolibali
#2 Geschrieben am: Di 14.06.2005, 11:06 (+00:04)
Report PostQuote Post

AyomRank 4
********

Gruppe: Validating
Beiträge: 131
Mitglied seit: 11.03.2005


Wieso nicht <div> benutzen und die ganzen Verzierungen im CSS definieren ? Wenn sich Verzierungen wiederholen kann man ja auch schon eine Menge Code ersparen.

Gegen JS spricht ja das übliche:
Kein JS aktiviert.
Suchmaschinen verstehen es nicht...
Na ja... Es ist einfach suboptimal.

CSS ist viel besser und bringt ein Vielfaches an Flexibilität. Eine gute Anleitung vorrausgesetzt. (Gutes Buch wie: CSS Praxis).
Top
PMEmail Poster
Top
 
Mike
#3 Geschrieben am: Di 14.06.2005, 11:17 (+00:11)
Report PostQuote Post

AyomRank 4
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 175
Mitglied seit: 22.12.2004


Ich würde auf jeden Fall vermeiden, dass JS Pflicht ist, um die Seite anzuschauen. JS sollte immer nur zur Unterstützung und Verzierung sein, also ablaufende Timer und andere Spielereien, die aber nicht zwingend nötig sind.
Wenn du sagst, dass die Seite sowieso JS braucht, würde ich dort erstmal optimieren wink.gif
Dann lieber mit GZIP vom Server packen lassen und versenden...
Top
PM
Top
 
Josh
#4 Geschrieben am: Di 14.06.2005, 11:18 (+00:01)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


@ kolibali:

QUOTE
Gegen JS spricht ja das übliche:
Kein JS aktiviert.
Suchmaschinen verstehen es nicht...

Je nach Anforderung sind das sicher Killerkriterien. Aber CSS kann sehr mühsam sein, wenn es z.B. um dynamische Masse geht etc.

Ein weiterer Vorteil von JS: man kann es in externe Dateien auslagern und vom Browser cachen lassen, womit wieder viel Bandweite gespart werden kann.


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Josh
#5 Geschrieben am: Di 14.06.2005, 11:20 (+00:02)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


@ Mike:

QUOTE
Wenn du sagst, dass die Seite sowieso JS braucht, würde ich dort erstmal optimieren wink.gif

Vielleicht sollte ich meine Ansprüche etwas präzisieren. smile.gif
Ich arbeite mit Templates, und somit kann ich jederzeit Templates für Ottonormalverbraucher erstellen und einsetzen, welche *jeder* Browser versteht.
Wenn ich aber etwas mehr herausholen möchte aus einer Applikation, so könnte ich einen optimierten Templateskin anbieten, welcher JS benötigt, dafür aber oben genannte Vorteile bringt.
Standard wäre natürlich der Ottonormalverbraucherskin, welcher auch von SuMas gut gelesen werden kann.


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
hatschi1810
#6 Geschrieben am: Di 14.06.2005, 11:32 (+00:11)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 638
Mitglied seit: 20.01.2004


Mhm hast du dir mal angesehen wie viel du dir wirklich sparst?
Ohne whitespace ist das nicht so viel:
CODE
<tr><td>Hans</td><td>Mueller</td></tr><tr><td>Heidi</td><td>Keller</td></tr>


Ansonsten hilft vielleicht output buffering mit gzip, unter PHP mit ob_gzhandler eine feine Sache, nehme aber mal das du das auch unter Java irgendwie findest.

Tipp für die Leseratten:
„Speed up your Site“, lohnt sich wirklich, selbst wenn man die meisten Tricks kennt motviert es wieder zu Optimieren.
(Ich glaub zu dem Buch habe ich hier mal sogar ein kurzes review gepostet, konnte es aber nicht finden...).

[Ayom Edit: Ja hast Du. Hier: http://www.ayom.com/topic-5489.html]
Top
PMEmail Poster
Top
 
Josh
#7 Geschrieben am: Di 14.06.2005, 11:44 (+00:12)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


QUOTE
Mhm hast du dir mal angesehen wie viel du dir wirklich sparst?
Ohne whitespace ist das nicht so viel

Wie gesagt, wenn da noch z.B. verschiedene Formatierungen, CSS, Links etc. für jeden Eintrag hinzukommen, dann können das richtige Bandwürmer werden.
Brauche ich für jeden Eintrag z.B. noch Links à la

<a href="xxx.php?session=asdfasdfasf&show=names&action=delete&id=110">Löschen</a>
<a href="xxx.php?session=asdfasdfasf&show=names&action=rename&id=110">Umbenennen</a>
<a href="xxx.php?session=asdfasdfasf&show=names&action=edit&id=110">Editieren</a>

dann brauche ich nur die ID zusätzlich im Funktionsaufruf zu übergeben, und statt 100x obigen Code benötige ich ihn nur 1x.


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Ansgar Berhorn
TOPdesk Deutschland
#8 Geschrieben am: Di 14.06.2005, 12:25 (+00:40)
Report PostQuote Post

AyomRank 6
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 857
Mitglied seit: 8.10.2004


QUOTE
Je nach Anforderung sind das sicher Killerkriterien. Aber CSS kann sehr mühsam sein, wenn es z.B. um dynamische Masse geht etc.

Was ist denn dynamische Masse?

Wenn eine dynamisch erzeugte große "Code-Masse" da ist und du die Masse dann wieder zurückfährst, indem du Javascript-Schleifen einführst, ist bei mir die Frage ob du die Masse nicht gleich verhindern kannst?

Entweder das intelligente bandbreiten-schonende Design steckt im Javascript oder im CSS.
Die Wartbarkeit sinkt jedenfalls bei der Javascript-Version, wenn du nicht mit einer sehr guten Dokumentation gegensteuerst.

Ich bin der Meinung, dass man Komprimierung dem Protokoll überlassen sollte und wie oben genannt einfach die Zip-Komprimierung im Server anmachen sollte.


--------------------
Top
PMUsers Website
Top
 
Josh
#9 Geschrieben am: Di 14.06.2005, 12:45 (+00:20)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Moderatoren
Beiträge: 2142
Mitglied seit: 19.10.2003


QUOTE
Was ist denn dynamische Masse?

Damit meine ich z.B. Höhe / Breite von Tabellen, welche nicht fix sind, also z.B. nach unten gestreckt werden.

QUOTE
Ich bin der Meinung, dass man Komprimierung dem Protokoll überlassen sollte und wie oben genannt einfach die Zip-Komprimierung im Server anmachen sollte.

Danke für die Meinung. Im Allgemeinen bin ich auch vollkommen dieser Meinung, doch es geht mir darum, ein Bisschen zu experimentieren mit neuen Techniken. smile.gif


--------------------
Mein letztes Projekt: Atelier-Schmuck.ch

"Das habe ich nie getan und werden es auch nie wieder tun!" :lol:
Top
PMEmail PosterUsers WebsiteICQ
Top
 
spaceman007
#10 Geschrieben am: Di 14.06.2005, 12:51 (+00:06)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 124
Mitglied seit: 23.03.2005


Das mit den Whitespaces rauslöschen schaut zuwar im notepad gut aus, bringt aber effektiv nicht sehr viel.

Wenn das Kriterium die Daten sind, die vom Server zum Client geladen werden, solltest Du Dir mal AJAX anschauen.

http://www.adaptivepath.com/publications/e...ives/000385.php

Du kannst aus der DB ein xml-File generieren und diese mit AJAX in's html file laden.
das heisst, du ladest keine "table"-tags, keine "div" tags oder ähnliches im html-file sondern nur der Teil des HTML-Files der das layout definiert, und das xml-file mit den Daten separat. Das XML kannst du mit dynamisch mit JS und CSS in's HTML schreiben.

Ich habe dies schon in ein einigen projekten eingesetzt!

Bei einem Page-Request werden nurnoch die Daten geladen also keine Bilder, keine scripts und kein html-gerüst.

Mehr kann man mit den heutigen technologien nicht optimieren.

Googlemaps zum beispiel arbeitet mit dieser Technologie.

Gruss

Spaceman007


--------------------
think-> google -> post
http://www.buechergestell.ch
http://www.pickup-artists.ch
http://www.web24.ch Die neue Schweizer Suchmaschine!
Top
PMEmail Poster
Top
 
Sandro Feuillet
zehnplus GmbH
#11 Geschrieben am: Di 14.06.2005, 14:47 (+01:55)
Report PostQuote Post

AyomRank 7
Group Icon

Gruppe: Moderatoren
Beiträge: 1462
Mitglied seit: 4.05.2004


QUOTE (spaceman007 @ Di 14.6.2005, 12:51)
Googlemaps zum beispiel arbeitet mit dieser Technologie.

Ajax ist DIE Zukunft für Webapplikationen (!=Infoseiten)

Beispiele:
Google Mail (praktisch kein Refresh der ganzen Seite)
Google Suggest
http://map.search.ch
http://www.ceiton.net/winlike/73_sample_xmlhttprequest.html

Mehr Infos zu Ajax gibts bei Wikipedia

Wieso sollte man die ganze Page neu laden um ein Suchresultat andersrum zu sortieren?
Und ja, es ist zeit Javascript vorauszusetzen. Wer heute noch ohne JS durchs Netz tuckert ist auf der Suche nacht TEXT, wer Applikationen will, soll JS einschalten.

Gruss Sandro

Ps: Josh, du hast quasi AJAX erfunden. Bist bloss nicht der Erste...


--------------------
Gruss Sandro

--------------------------------------------------------------------------

zehnplus - Wir optimieren Ihre Seite SEO, Online-Kundendienst, Usability
Politik Forum Schweiz Das führende Schweizer Politikforum
Top
PMEmail PosterUsers WebsiteYahooMSN
Top
 
Irene
irene.ch
#12 Geschrieben am: Di 14.06.2005, 17:39 (+02:52)
Report PostQuote Post

AyomRank 7
Group Icon

Gruppe: Experten Entwicklung (Mod)
Beiträge: 1114
Mitglied seit: 3.05.2004


QUOTE (Josh @ Di 14.6.2005, 12:01)
Was haltet ihr von dieser Technik? Sie würde sehr viel Uploadbandweite und Downloadbandweite beim Benutzer sparen! Was spricht evtl. dagegen?

Mich schreckt diese Technik eher ab. Heutzutage sind Bandbreiten nicht mehr so ein Problem wie vor Jahren, und die allermeiste Bandbreite wird für Bilder (oder Animationen, Flash etc.) verbraucht. Vor zehn Jahren wär ich begeistert über diese Erfindung wink.gif

Der effektive HTML-Source einer Seite ist meistens sehr klein. Wenn er zu aufgeblasen ist, dann darum, weil nicht sauber mit CSS gearbeitet wird und/oder weil CSS und Javascript nicht in separate Dateien ausgelagert sind. Im Idealfall hat jede Zelle einer Tabelle genau einen CSS-Tag und fertig, keine weiteren Font- oder Rahmen- oder sonstigen Formatierungen in einer Zelle. Die langen Links gehören (zu einer Applikation) halt einfach irgendwie dazu; man könnte sie mit Javascript etwas verkürzen (im Stil vom Dotnet-Postback-Prinzip, ich weiss nicht obs bei PHP etwas ähnliches gibt, aber sonst gibts ja rewrite).

Mit der erwähnten Technik wird ein Teil der Darstellungslogik vom Server auf den Client verlegt. Und gerade bei der Darstellung gibts immer noch Browserunterschiede, deshalb find ich es heikel, dies dem Client zu überlassen.

So lange Tabellen werden ja mehrheitlich zum Anzeigen und/oder Bearbeiten von Daten verwendet. Aus Benutzersicht ist eine zu lange Tabelle aber nicht sehr bequem, er muss dann zuviel scrollen und verliert schnell die Übersicht, weil die Titelzeile verschwindet. Besser wäre, die Daten in mehreren blätterbaren Seiten darzustellen, z.B. 25 Records pro Seite. Damit wäre automatisch auch der HTML-Source pro Seite verkleinert.

Griessli
Irene


--------------------
Top
PMUsers Website
Top
2 Monate später...
mwe
#13 Geschrieben am: Di 2.08.2005, 12:22 (+2m )
Report PostQuote Post

AyomRank 2
****

Gruppe: Member (aktiv)
Beiträge: 21
Mitglied seit: 1.08.2005


QUOTE (Irene @ Di 14.6.2005, 17:39)
Mich schreckt diese Technik eher ab. Heutzutage sind Bandbreiten nicht mehr so ein Problem wie vor Jahren

Man bedenke, dass die Mehrheit der Internetnutzer immernoch mit 56k unterwegs ist. Außerdem erhöht sich durch die Verwendung dieser Technik die Schnelligkeit der Software.

QUOTE (Irene @ Di 14.6.2005, 17:39)
Mit der erwähnten Technik wird ein Teil der Darstellungslogik vom Server auf den Client verlegt. Und gerade bei der Darstellung gibts immer noch Browserunterschiede, deshalb find ich es heikel, dies dem Client zu überlassen.

Dies kann ich leider nicht nachvollziehen. Der generierte Code ist immernoch exakt derselbe.

Zur AJAX-Technik empfehle ich folgendes Tutorial: http://www.teencoderz.com/forums2/articles...rticle&artid=39

Außerdem lassen sich mit Hilfe von AJAX innovative Funktionen entwickeln, wie (bereits von Sandro genannt) Google Suggest. Ich plane so etwas ebenfalls für meine (themen-spezialisierte) Suchmaschine.
Top
PMEmail Poster
Top
 
pangu
#14 Geschrieben am: Di 2.08.2005, 13:19 (+00:57)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 836
Mitglied seit: 29.07.2005




--------------------
Jonglieren lernen nette Community rund ums Jonglieren °°°
Top
PMEmail PosterUsers WebsiteICQ
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/7485

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
Ajax - Chat mit Datenbank jAuer 68 0 So 23.11.2008, 17:02
Firefox 2.0.0.18 -> ajax Probleme ?! lalo 133 1 Fr 21.11.2008, 22:34
Suche Freelancer: Ajax, XML, PHP, MySQL omc 318 3 Mi 12.11.2008, 18:22
Ajax Formularübergabe POST Daniel Cieslar 205 5 Di 4.11.2008, 18:07
[AJAX] Script für Beziehungsdarstellung gesucht TSc 164 5 Mi 29.10.2008, 21:35
Problem mit JavaScript & Flash Marc3l 258 4 Mo 22.09.2008, 06:49
Javascript Problem Oliver Sinz 125 1 Fr 29.08.2008, 08:59
Javascript problem für Google? Mark_L 176 5 Di 26.08.2008, 21:36
Iframe Javascript Frage Sancheck 296 10 Do 21.08.2008, 09:37
Dringend JavaScript Programmierer gesucht nightcrawler86 130 0 Mo 11.08.2008, 16:02




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]