fwt (private) 。PureScript で Halogen を使った server-side rendering を雑に実装。……と言っても Halogen の HTML を String にして返しているだけ。 String にする箇所の雰囲気は↓。
bower install -S purescript-halogen purescript-halogen-vdom-string-renderer
import Control.Monad.Eff (Eff) import Control.Monad.Eff.Console (CONSOLE, log) import Data.Unit (Unit) import Halogen.HTML (HTML(..), PlainHTML) import Halogen.HTML as HH import Halogen.VDom.DOM.StringRenderer (render) renderWidget :: forall w. w -> String renderWidget _ = "" render' :: HTML -> String render' (HTML vdom) = render renderWidget vdom view :: PlainHTML view = HH.html [] [ {- ... -} ] main :: Eff ( console :: CONSOLE | e ) Unit main = log $ render' view
HTML
を Component
にしたら、いろいろ難しそう。とりあえずは深く考えずに書いていく。
あとは Client のビルドもできるようにした。 pulp browserify
しているだけ。
明日は Client で navigator.mediaDevices.getUserMedia
を使ってごにょごにょしていく。 PureScript の中で JavaScript の Promise
を扱うあたりなど FFI まわりが課題になるのかな。