Die folgende Frage könnte für Sie hilfreich sein: Smarty vs. Javascript/AJAX
In meiner Antwort auf diese Frage habe ich einige Punkte angesprochen:
-
Sie sollten serverseitige Skripte verwenden, um alle Daten anzuzeigen, die zum Zeitpunkt des Ladens der Seite bekannt sind . In diesem Fall wissen Sie, dass die Liste der Produkte angezeigt werden soll. Die Tatsache, dass die Antworten auf eine Frage angezeigt werden sollen, ist beim Laden der Seite bekannt.
-
Sie sollten AJAX-Aufrufe nur verwenden, um dynamische Daten zu laden, die no zum Zeitpunkt des Ladens der Seite bekannt . Zum Beispiel, wenn Sie auf den Link "Kommentare" unter einer Frage oder Antwort auf Stack Overflow klicken. Die Tatsache, dass Sie die Kommentare zu einer bestimmten Frage anzeigen möchten, ist beim Laden der Seite nicht bekannt.
-
Javascript sollte no für den Zugriff auf die Kernfunktionen Ihrer Website erforderlich sein .
-
Sie sollten die Funktionalität sanft abbauen, wenn Javascript deaktiviert ist. . Stack Overflow zum Beispiel funktioniert auch mit deaktiviertem Javascript einwandfrei. Sie haben zwar keinen Zugang zu Markdown-Vorschauen in Echtzeit oder dynamischen Badge-Hinweisen, aber die Kernfunktionalität bleibt erhalten.
-
Eine einzige HTTP-Anfrage an eine vom Server generierte Seite wird deutlich schneller geladen als eine Anfrage zum Laden einer Seite, die fünf oder sechs zusätzliche AJAX-Aufrufe macht , insbesondere bei Verbindungen mit hohen Latenzzeiten (wie Mobilfunknetzen). Siehe Yahoos Bewährte Praktiken für die Beschleunigung Ihrer Website .
Sie sollten Javascript als eine Bonusfunktion betrachten, die möglicherweise nicht aktiviert ist, und nicht als etwas, das für die Erstellung wichtiger Teile Ihrer Website verwendet werden sollte. Es gibt Ausnahmen von dieser Regel. Wenn Sie eine Art Paginierung durchführen möchten, bei der Sie auf eine Schaltfläche "Nächste Seite" klicken und sich nur die Produktliste ändert, könnte AJAX die richtige Wahl sein. Sie sollten jedoch darauf achten, dass Benutzer ohne Javascript nicht von der Anzeige der gesamten Liste ausgeschlossen werden.
Es gibt nichts Frustrierenderes, als wenn auf eine Seite nicht zugegriffen werden kann, weil der Webentwickler sich nicht an die KISS-Prinzip . Ein Beispiel dafür ist Friendly's Restaurants . Ich wollte nachsehen ihr Menü als ich im Einkaufszentrum war, also lud ich ihre Website auf mein iPhone, nur um herauszufinden, dass man ohne Flash buchstäblich keine aussagekräftigen Informationen über das Restaurant erhalten kann. Es ist zwar schön, schicke Speisekarten zu haben, auf denen überall Desserts herumschwirren, aber eigentlich wollte ich nur die Speisen auf der Karte sehen. Das konnte ich nicht, weil sie Flash benötigten. In diesem Fall wäre es hilfreich gewesen, den Service zu entschärfen.
Einige Dinge im Web können ohne Javascript nicht effektiv durchgeführt werden. Die Anzeige einer Liste von Produkten ist no einer von ihnen. Wenn Sie noch unsicher sind, schauen Sie sich an, wie andere beliebte Websites vorgehen. Ich denke, Sie werden feststellen, dass die meisten erfolgreichen, gut durchdachten Websites die oben aufgeführten Richtlinien befolgen.
2 Stimmen
Mir ist aufgefallen, dass Sie die Frage mit "soap" gekennzeichnet haben. Ich stimme den Postern zu, dass AJAX oft die beste Lösung ist, aber vermeiden Sie SOAP, wenn Sie es nicht verwenden müssen. Das Parsen von SOAP ist nicht einfach und Sie können die zusätzliche Arbeit und den Verarbeitungsaufwand auf beiden Seiten vermeiden, indem Sie JSON verwenden.