# VirtualDom implementation

**URL:** <https://discourse.elm-lang.org/t/virtualdom-implementation/2675>\
**Category:** Learn\
**Created:** [December 3, 2018, 12:06am UTC](https://discourse.elm-lang.org/t/virtualdom-implementation/2675 "2018-12-03T00:06:42Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![rupert](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/rupert/32/1775_2.png) [@rupert](https://discourse.elm-lang.org/u/rupert)\
**Post date:** [December 4, 2018, 10:42am UTC](https://discourse.elm-lang.org/t/virtualdom-implementation/2675/2 "2018-12-04T10:42:17Z")

</div>

Not really answering your question, but I don’t know if you saw this post from a while back:

> [@Blog: Implementing VDOM in Elm](https://discourse.elm-lang.org/t/blog-implementing-vdom-in-elm/810):
>
> I just wrote a blog post entitled Implementing VDOM in Elm. It’s meant as an example of some non-trivial Port usage as well as an example of how VDOM actually works without using very much JavaScript. I’m interested to hear your comments: both on the actual code as well as on the presentation (which is mostly code with a bit of writing). I’m not sure how clear it is.

One issue I currently have with the VDOM implementation is that a `VirtualDom.Node` cannot be passed through a port. If it could, it would make server side rendering a lot simpler, as it would be possible to use a `Platform.program` and pass the rendered DOM through a port to serve up.

---

_[View the full topic](https://discourse.elm-lang.org/t/virtualdom-implementation/2675)._
