Ist es möglich, das Haskell-Frontend mit Ghcjs, Haste, Elm usw. serverseitig zu rendern?

8

Ich denke, dass Haskell fantastische Eigenschaften bietet. Auch für die Web-Entwicklung geeignet. Allerdings vermisse ich ein Merkmal. Serverseitiges Rendering Die Gründe dafür sind Google Crawler und Pre-Rendering, um die Leistung auf mobilen Geräten zu erhöhen.

Ist es möglich, das Haskell-Frontend mit Ghcjs, Haste, Elm oder mit einem anderen Haskell- & gt; JS-Compiler serverseitig zu rendern?

    
Jakub Kříž 26.09.2015, 08:21
quelle

2 Antworten

4

Ich glaube nicht, dass Alexandr die Frage beantwortet hat.

Die Frage ist, ob Haskell-Web-Frameworks Server-seitiges Rendering von JavaScript - Vanilla JS oder JS-via-Haskell (GHCJS, Fay, etc.) durchführen. Ich verstehe, dass Jessod JS nicht vorrendert (d. H. JS ausführt und den resultierenden HTML-Code bereitstellt). Eher macht Jessod serverseitige Generierung von HTML über Hamlet (oder Blaze-HTML, oder klar, je nach Ihren Vorlieben).

Die einzige Bibliothek, die ich für das serverseitige Haskell-JS-Rendering (für Angular) finden konnte, ist:

Ссылка

Aber es ist immer noch in der Beta.

Wenn es andere Bibliotheken / Lösungen gibt, würde ich gerne von ihnen hören. Das ist auch ein Problem für mich. Ich möchte auf dem Client purescript-halogen verwenden, aber ... SEO.

Bearbeiten: Im Moment ist die beste Option, nginx als Load-Balancer vor Ihrem Haskell-Server mit prerender.io zu verwenden, um gerenderte JS-Seiten an Such-Bots zu liefern:

Ссылка

Ссылка

    
Jason Zoladz 26.09.2015 14:28
quelle
3

Lager Yesod Scaffold führt das serverseitige Rendern von HTML durch und hat benutzerdefinierte vorverarbeitete Sprachen für HTML, CSS und JS. Sie sollten in der Lage sein, Fay / Purescript ohne allzu große Probleme zu integrieren, da sie schon eine Weile da sind und jaod mit Gerüsten für mindestens einen von ihnen kommt.

Für etwas wie die GHCJS-Integration sehen Sie in den kommenden Versionen des Tools stack eine Menge Fortschritt (zB dieses Problem ). Theoretisch wird das Full-Stack-Haskell ohne großen Aufwand möglich. Im Moment verstehe ich, dass die Integration von GHCJS nicht trivial ist.

    
Alexandr Kurilin 26.09.2015 10:06
quelle