@@ -170,25 +170,32 @@ Layout Server
170170The :ref: `Dispatcher <Layout Dispatcher >` allows you to animate the layout, but we still
171171need to get the models on the screen. One of the last steps in that journey is to send
172172them over the wire. To do that you need an
173- :class: `~idom.server.base.AbstractRenderServer ` implementation. Right now we have a
174- built in subclass that relies on :mod: `sanic `, an async enabled web server. In principle
175- though, the base server class is capable of working with any other async enabled server
176- framework. Potential candidates range from newer frameworks like
177- `vibora <https://vibora.io/ >`__, `starlette <https://www.starlette.io/ >`__, and
178- `aiohttp <https://aiohttp.readthedocs.io/en/stable/ >`__ to older ones that are
179- starting to add support for asyncio like
180- `tornado <https://www.tornadoweb.org/en/stable/asyncio.html >`__.
173+ :class: `~idom.server.base.AbstractRenderServer ` implementation. Presently, IDOM comes
174+ with support for the following web servers:
181175
182- .. note ::
183- If using or implementing a bridge between IDOM and these servers interests you post
184- an `issue <https://github.com/rmorshea/idom/issues >`__.
176+ - :class: `sanic.app.Sanic ` (``pip install idom[sanic] ``)
177+
178+ - :class: `idom.server.sanic.PerClientStateServer `
179+
180+ - :class: `idom.server.sanic.SharedClientStateServer `
181+
182+ - :class: `flask.Flask ` (``pip install idom[flask] ``)
185183
186- In the case of our :class: `~idom.server.sanic.SanicRenderServer ` types we have one
187- implementation per built in :ref: `Dispatcher <Layout Dispatcher >`:
184+ - :class: `idom.server.flask.PerClientStateServer `
188185
189- - :class: `idom.server.sanic.PerClientStateServer `
186+ - :class: `tornado.web.Application ` (``pip install idom[tornado] ``)
187+
188+ - :class: `idom.server.tornado.PerClientStateServer `
189+
190+ However, in principle, the base server class is capable of working with any other async
191+ enabled server framework. Potential candidates range from newer frameworks like
192+ `vibora <https://vibora.io/ >`__ and `starlette <https://www.starlette.io/ >`__ to
193+ `aiohttp <https://aiohttp.readthedocs.io/en/stable/ >`__.
194+
195+ .. note ::
190196
191- - :class: `idom.server.sanic.SharedClientStateServer `
197+ If using or implementing a bridge between IDOM and an async server not listed here
198+ interests you, post an `issue <https://github.com/rmorshea/idom/issues >`__.
192199
193200The main thing to understand about server implementations is that they can function in
194201two ways - as a standalone application or as an extension to an existing application.
0 commit comments