Hacker News new | ask | show | jobs
by amirouche 3257 days ago
I have two prefered stacks:

1) python with aiohttp framework with asyncpg for the backend serving REST and WebSockets, with a posgresql database, memo (a pure python clone of redis), celery (but I might switch to something lighter) and sentry. On the frontend I use, reactjs (but I might move to preactjs because of the license) with a custom redux-like framework built on CRA with async/await support and optional ImmutableJS dependency. I call it the 'django2' stack.

2) GNU Guile Scheme with fibers (which brings asyncio, but still lakes websocket support) for the backend. Database is built on top of wiredtiger glued with Guile again using EAV pattern that I call the feature space (it's somewhat similar to MUMPS and datomic, some call it RDF store). On the frontend, I use a simiar framework but written in Scheme powered by BiwaScheme (I plan to move to RacketScript). That stack is missing a lot of features (queues for background job scheduling, proper pooling of database connections, websockets). I call it the 'mono' stack, because everything lives in a single processus. NO GIL FTW!

None of them support true isomorphic (or universal) web app. Even mono stack which only rely on scheme doesn't support it. That said I can render backend side the same thing that frontend renders and achieve the same goal without the elegance.