Terminal Adapter


I have seen the diagrams explaining the architecture of Vaadin. It looks like there is a clear separation of the client part (UI) via the Terminal Adapter. I even get an impression that it might be possible to implement an alternative implementation which uses a different technology/protocols. But when looking on the sources , I do not seem to find that clear cut between layers. Is it really so? What I have in mind is about implementing Swing/JavaFX/SWT terminal adapter. This way I can develop server-client apps with “native” UI. I mean I still want to have the server with all logic , I just want to run my UI client outside of the browser (and not HTML based). Ideally I can re-use the server side and just switch from one adapter to another… or runthem in parallel, like some users use browser UI , others use native UI.

So would that be possible in the current architecture?


The terminal adapter ideology has been more prominent previously, where the thought indeed has been to enable the writing for different platforms. As time has passed, the term has been left in place, but the coupling between browsers and server has become stronger and stronger. If I’m not mistaken, the last of the decoupling has been removed with Vaadin 7.

So, it should be possible to do with Vaadin 6, but expect it to be a large undertaking and also expect to find things that simply don’t work as naturally as they do with the GWT terminal adapter.

As to getting tips on how to approach, I can’t help you there. I assume the development team is the only ones who know how to approach this at all.