Frage

Beim Lernen Sitecores Ich habe festgestellt, dass die Mehrheit des Sitecores Beispielcode im Web in XSL ist anstelle von .NET.

Was wäre der Vorteil von XSL über die Prozesse der Wahl ich als .NET-Entwickler gewöhnt haben?

Gibt es die Verarbeitung Geschwindigkeitsvorteile zu XSL?

Ist XSL tatsächlich einfacher, wenn Sie mit der Syntax vertraut sind?

War es hilfreich?

Lösung

Ich werde einfach zu my 2 cents hinzufügen:

Ich finde, dass es zu viele Einschränkungen in XSLT, dass Bedarf entweder mit externen „Bibliotheken“ überwunden werden oder mit einer Methode in C # zu entwickeln, die in XSLT verwendet werden können.

So finde ich mit Asp.Net einfacher. Aber dann bin ich auch viel besser mit Asp.Net als mit XSLT.

Aber XSLT hat einige gute Dinge:

  • gut, wenn immer Felder aus dem aktuellen Kontext Punkt
  • gut mit einfachen Inhalt etc.
  • zwingt nicht die Lösung recycle / rebuild
  • in der Regel eine schöne Möglichkeit, es ausfällt, dh. noch die Seite funktioniert, aber die Xslt dass gescheitert sagt es nicht

Wenn ich mit Sitecore ersten zu arbeiten begann, meine Firma verwendet ziemlich viel XSLT, aber wir haben langsam aus, dass, weil es seine Grenzen und weil die meisten Menschen hier sind besser vertraut mit Asp.Net/C # weggegangen.

Andere Tipps

Einige Leute bevorzugen XSL wegen bestehenden Team Fähigkeiten, um die Verfügbarkeit von XSL-Talent, oder die Überzeugung, dass XSL ist einfacher oder billiger zu lernen.

In Sitecores, ASP.NET-basierte Sublayouts ausführt tatsächlich viel besser als XSL-Renderings. Wenn das, was Sie sind komfortabel mit, denn es geht. Ich habe noch nie eine XSL-Rendering selbst erstellt.

XSLT ist eine mächtige Sprache; seine wichtigsten Vorteile gegenüber Sprachen wie ASP.NET neigen zu kommen, wenn Sie über eine Vielzahl von verschiedenen Seiten oder Dokument anderer Quelle wieder zu verwenden und anpassen Logik wollen Strukturen mit gemeinsam genutzten Elementen und anderen variablen Strukturen. Um dies zu erreichen, ist es verwendet eine regelbasierte Verarbeitung Modell, das einige Leute ziemlich schwierig finden, mit auf die erste Begegnung in den Griff zu bekommen. Lernen ist eine Investition, die im Laufe der Zeit auszahlen wird, aber es kann auf dem ersten entmutigend sein.

Was der Leistung habe ich noch nie auf einer Website kommen, wo es nicht schnell genug für den Job ist, und das schließt einige ziemlich High-Stress-Dienstleistungen; wenn die Leute Performance-Probleme gehabt haben, haben sie in der Regel in anderen Teilen der Verarbeitungspipeline entpuppen (oder einfach wegen schlechter Codierung).

Die Wahl zwischen XSLT und .NET-Komponenten in Sitecore ist weitgehend ein von Geschmack und Skillset. XSLT in Sitecore hat auch einige Nachteile, obwohl - es von .NET-Komponenten für alle, aber die meisten einfachen Renderings und die Orte übertroffen zu werden neigt, wo es vielleicht logischste scheinen, es zu benutzen, wie Content-Baumstruktur als Site-Menü zu replizieren, sind die tatsächlich die dazu neigen, die größten Performance-Einbußen zu nehmen. In den richtigen Situationen ist XSLT ein unglaublich mächtiges Werkzeug und es lohnt sich das Lernen, aber ich habe noch für die Herstellung viel Gebrauch davon in Sitecores ein überzeugendes Argument, um zu sehen. Es ist auch erwähnenswert, dass einige der Standardmuster von XSLT-Programmierung sind nicht die effizienteste in Sitecores.

Der einzige wirkliche Vorteil, den ich denken kann, wäre, dass XSLT-Renderings sind leichter in Isolation zu implementieren. Nehmen wir zum Beispiel, dass Sie Ihre „News Spots“ Rendering sind aktualisiert und Sie sofort diese Änderung Test / Produktion einzusetzen -. Es ein einfacher Fall von dem Hochladen der XSL-Datei wäre selbst

Mit .NET Entwicklung (und die Web Application Project Modell nachhaltig), ein Einsatz der Code-Basis würde jegliche und alle Änderungen an den betroffenen Baugruppen implizit einsetzen -. Einschließlich, was Sie im Gang haben Arbeit

Es gibt natürlich Möglichkeiten, wie Sie diese verwalten. Quellcode Verzweigung / Zusammenführung und so weiter - aber das ist eine zusätzliche Ebene der Komplexität zu Ihrer Lösung

.

That being said, verwende ich für weit über 95% .NET alle meine Sitecores Entwicklung selbst: -)

„Zusammenfassend ein primäres Ziel der Software-Designs und Codierung erobert Komplexität. Die Motivation hinter vielen Programmierpraktiken ist ein Programm, das die Komplexität zu reduzieren. Reduzierung der Komplexität ist ein Schlüssel ein effektiver Programmierer zu sein.“ -Steve McConnell (1993)

, dass die Führung Lassen Sie verwenden, wenn XSLT über C #.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top