Fastcomp is the name of EmScripten's new LLVM C++ back-end. Fastcomp lives outside of the LLVM tree (along with some other EmScripten-designed LLVM patches) but aims to provide noticeable benefits over its original compiler back-end.
Duetto is fully compatible with almost all C and C++ 11 code. You just need to add some tags to tell duetto if you want your methods compiled for the server or for the client. Everything else (including client to server and server to client remote procedure call, serialization and deserialization, etc.) will work automagically! The duetto compiler is based on the proven and robust LLVM stack.
So the current version is 0.9.3., so they are near the magic first stable release.
If you take a look into the example section, you get the picture pretty fast. A wiki page is also available. What its left to need, is some spare time :-).
initial page request is returning a simple html page as response that is triggering a lot of ajax calls
if ajax request returns a ok, the return contains the updated data or handles the error (hint, on the backend, a "read from master" flag is added to retrieve the most accurate data without running into master/slave replication problems)
share code between server and client
templates, validation, entities
create "a widget"
php controller (providing data)
do not fetch data directly (because it is painfully slow)
require stuff (search for "evolution of code design at facebook" at infoq)
fetch requirements in a preparing step
batch requirements by calling resolvers
resolvers talks with services (multi-GET)
services calls connector interface (databases for example)
fetching data from connector
distribute back all the fetched data
Multi-Get (get multiple data via one request for fetching a lot of data)
requirement vs. optional
optional, template will be rendered without that data
data dependencies within a widget by using callbacks (to create a dependencies and dataload workflow)