[jQuery] Art Newsfeed - wie realisieren?
Hi,
ich habe eine Webseite mit Nachrichten, die ich gerne in "Echtzeit" laden möchte. Die Frage ist wie man das am Besten und Sinnvollsten realisiert. Ich benutze eine MS SQL Datenbank und programmiere mit ASP.net und jQuery. Meine erste Idee ist es über JavaScript einen Timer aufzusetzen und immer einen AJAX-Call abzusetzen und so die Daten zu laden. Ist das in euren Augen eine gute Lösung? Mein anderer Ansatz wäre eine Art "Push"-Funktion über die Datenbank aber ich weiss nicht ob es sowas gibt?! Weiss da einer von euch mehr? Bin gespannt auf eure Antworten! Gruß Christian |
AW: [jQuery] Art Newsfeed - wie realisieren?
Push ist Web tricky.
Das Problem ist, dass Du ja nicht vom Webserver aus eine Verbindung zum Browser aufmachen kannst um die Daten zu senden. Wenn die Webseite die Daten pullt ist das relativ okay. Die einzige Push-Technologie die einigermassen ordentlich funktioniert ist die hier: http://www.lightstreamer.com/ - der benötigt aber einen Server-Part der in Java geschrieben ist und auf dem Browser jede Menge(!) Javascript. Die haben zwar ne kostenlose Edition, ich weiss aber nicht genau wie da die Bedingungen sind. Also die Idee alle X Sekunden Daten zu pullen ist wie gesagt ganz okay. Reduzier die übertragenen Daten indem Du sie als JSON überträgst und pack sie dann im Browser in die Anzeige per callback. Ist massiv weniger aufwand und funktioniert genausogut :) |
AW: [jQuery] Art Newsfeed - wie realisieren?
Hi Phoenix,
ich dachte mir schon, dass eine Push-Variante schwierig wird. Die Pull-Variante gefällt mir eigentlich auch besser und ist auch leichter umzusetzen. Genauso habe ich es nämlich auch bisher umgesetzt...dann brauche ich am Code ja nichts mehr ändern :-) ich hatte manchmal den Eindruck, dass es nicht sooo performant ist, aber man muss ja auch nicht jede Sekunde nach neuen Nachrichten suchen ;-) Danke und Gruß Christian |
AW: [jQuery] Art Newsfeed - wie realisieren?
Zitat:
|
AW: [jQuery] Art Newsfeed - wie realisieren?
Zitat:
Das hier hat mir den Einstieg damals sehr erleichert. mfg Florian |
AW: [jQuery] Art Newsfeed - wie realisieren?
Zitat:
|
AW: [jQuery] Art Newsfeed - wie realisieren?
Hi,
ich würde das Thema gerne nochmal aufgreifen. Ich habe meine Seite nun soweit fertig und ich prüfe per SetInterval jede 5 Sekunden, ob neue Nachrichten existieren. Darüber hinaus habe ich noch 3 andere Funktionen, die zeitlich Dinge prüfen müssen. Manche Funktionen geben nur ein true oder false zurück, aber irgendwie habe ich ein ungutes Gefühl dabei, soviele Dinge im Hintergrund zu prüfen. Wie machen das denn andere Seiten, die mehrere Daten auf Aktualität prüfen (ohne Reload)? Ist meine Sorge womöglich unbegründet? Gruß Christian |
AW: [jQuery] Art Newsfeed - wie realisieren?
Deine Sorge ist unbegründet. Es ist ja nur ein sehr kleines Request. Das sollte auf die Performance keine spürbare Auswirkung haben.
|
AW: [jQuery] Art Newsfeed - wie realisieren?
Macht es von der Performance einen Unterschied, wenn ich die Ajax-Aufrufe alle in einen packe?
|
AW: [jQuery] Art Newsfeed - wie realisieren?
Meinst du damit, dass du statt 4 Requests, 1 machst? Dann hat es einen kleinen Vorteil, weil die Verbindung nur einmal hergestellt werden muss. Die Arbeit auf dem Server dauert je nach PHP-Programmierung eben kürzer oder länger.
|
AW: [jQuery] Art Newsfeed - wie realisieren?
Wenn sämtliche Funktionen im gleichen Intervall laufen und immer nur gemeinsam (de)aktiviert werden, dann kannst du das in einen Request packen. Dem Browser dürften die Requests aber ziemlich egal sein. Man muss halt schauen, dass man z.B. wenn man gleichzeitig noch viele Animationen hat, nicht zu viele Timer bekommt. Aber ich meine die Animationen würden bei jQuery über einen gemeinsamen Timer laufen - wobei ich mir da grade nicht ganz sicher bin.
|
AW: [jQuery] Art Newsfeed - wie realisieren?
Hi,
und nochmal würde ich das Thema gerne aufgreifen ;) Wenn meine Seite in mehreren Tabs aufgerufen wird, dann werden die Aktualisierungen natürlich auch in jedem Tab gemacht. Kann man das irgendwie verhindern bzw. synchronisieren? Oder ist das auch nicht wirklich kritisch von der Performance? Danke! :) |
AW: [jQuery] Art Newsfeed - wie realisieren?
Ich nehme mal an du meinst Browser-Tabs. Die behandelt der Browser i.A. als eigenständige Prozesse (guck dir beispielsweise mal im Taskmanager um, wenn du Google Chrome mit mehreren Tabs geöffnet hast).
Von der Performance macht das gar nichts. Du willst ja schließlich keine MBs übertragen sondern nur nen Newsfeed aktualisieren. Das hat im kleinsten Fall die Meldung "{uptodate:true}", wenn du JSON zur Übermittlung verwendest. Kannst du natürlich auch noch auf "{u:1}" kürzen. Die paar Bytes spürst du gar nicht. Schau dir mal an, was Facebook, Twitter und Co an Daten rumschubsen. Und da funktioniert auch alles sehr flüssig. Zuck |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz