Es gibt mehrere Web-Frameworks für Haskell wie Happstack , Snap und Yesod und wahrscheinlich noch einige mehr.
In welchen Aspekten unterscheiden sie sich voneinander? Beispielsweise:
- Funktionen (zB nur Server oder auch Client-Scripting, einfache Unterstützung für verschiedene Arten von Datenbanken)
- Reife (zB Stabilität, Dokumentationsqualität)
- Skalierbarkeit (zB Performance, handliche Abstraktion)
- Hauptziele
Was sind Beispiele für Websites / Webanwendungen in der Praxis, die diese Frameworks verwenden?
Danke vielmals.
Antworten:
Ich kann nur im Namen von Yesod sprechen, da ich bisher nur Snap und Yesod ausprobiert habe, aber schnell bei Yesod geblieben bin.
Der Hauptgrund für Yesod ist wahrscheinlich, dass es ein vollständiges Framework mit einer wachsenden Anzahl von Funktionen bietet, wie z
In meinen Augen ist die große Stärke von Yesod die Zusammenstellung seiner dynamischen Inhalte, z. B. HTML-Sites. Die Template-Site wird über Template Haskell analysiert und in eine Haskell-Datenstruktur konvertiert. Daher wird die Vorlage nicht jedes Mal analysiert, wenn der Benutzer sie aufruft. Meiner Meinung nach ist dies ein großer Geschwindigkeitsvorteil im Vergleich zu PHP und zu Snap, das nicht kompilierte Vorlagen verwendet, und es hilft auch sehr bei der Skalierbarkeit.
Yesod nähert sich demnächst der Version 1.0, und es werden bereits einige Websites darauf ausgeführt. Ich denke, das Hauptziel von Yesod ist die Bereitstellung eines typsicheren, vollständigen Webanwendungs-Frameworks, das alle Ihre und noch einige weitere Anforderungen erfüllt.
Außerdem integriert sich Yesod in die WAI-Schnittstelle und arbeitet perfekt mit dem reinen Haskell-Server Warp zusammen.
quelle