http://blog.urbantastic.com/post/81336210/tech-tuesday-the-fiddly-bitsWelche Vorteile bietet das Bereitstellen von statischem HTML und das Generieren von Inhalt mit AJAX/JSON?
Heath aus Urbantastic schreibt über seine HTML-Generation-System:
Alle HTML in Urbantastic vollständig statisch ist. Alle dynamischen Daten werden über AJAX im JSON-Format gesendet und dann mit Javascript mit Javascript kombiniert. Anders gesagt, die Server-Software für Urbantastic produziert und konsumiert ausschließlich JSON. HTML, CSS, Javascript und Bilder werden alle über einen anderen Dienst (einen Vanilla-Nginx-Server) gesendet.
Ich denke, das ist ein interessantes Modell, wie es Präsentation physisch von Daten trennt. Ich bin kein Experte für Architektur, aber es scheint, als würde es einen Sprung in Effizienz und Stabilität geben.
jedoch folgende Bedenken mich:
[subjektive] Clojure ist extrem leistungsfähig; Javascript ist nicht. Das Schreiben der gesamten Inhaltsgenerierung in einer Sprache, die für andere Ziele erstellt wurde, wird einige Probleme verursachen (stellen Sie sich vor, dass Sie JavaScript-Code in CSS schreiben). Es sei denn, er hat ein Makro-System zum Generieren von Javascript, Heath ist wahrscheinlich bis zu ständigen Wechsel zwischen JavaScript und Clojure. Er wird auch viel JS-Code haben; wahrscheinlich viel mehr als Clojure. Das ist vielleicht nicht gut in Bezug auf Kraft, schnelle Entwicklung, Prägnanz und all die Dinge, die wir beim Wechsel zu LISP-basierten Sprachen beachten.
[Leistung] Ich bin mir nicht sicher, aber Rendering alles auf dem Computer des Benutzers möglicherweise Lag.
[Zugänglichkeit] Wenn Sie JS deaktiviert haben, können Sie die Website überhaupt nicht verwenden.
[Zugänglichkeit # 2] Ich vermute, dass viele dynamische Daten mit JavaScript füllen Cross-Browser-Probleme erstellen.
Kann jemand kommentieren? Ich wäre daran interessiert, Ihre Meinung zu dieser Art von Architektur zu lesen.
Referenzen:
Javascript ist extrem leistungsfähig. Ich meine, du musst Javascript nicht wirklich verstehen. Es bietet mehr Paradigmen und Optionen als C++ oder Lisp. Es fehlt etwas Geschwindigkeit, aber für die Menge der Arbeit, die irrelevant ist. –
Irgendwelche Speed-Mängel gleichen den Daten-Overhead bei der Übertragung ganzer Seiten irgendwie aus. (die meiste Zeit mindestens). Javascript gibt Ihnen die Möglichkeit, einen riesigen Prozessor-Cluster mit 0 Aufwand zu machen. (Zuschauer machen die Arbeit;)) –
Die Geschwindigkeit relativ zur Wahrnehmung ist wirklich kein Thema. Es ist die IO-Grenze, die immer noch das Problem ist. – annakata