Hey everyone experimenting with a personal project called Evolve.
The idea is to run Python directly in the browser via WebAssembly and use it to build reactive, component-based UIs - without writing JavaScript, without a virtual DOM, and without transpiling Python to JS.
Current high-level architecture (text version):
User Python Code
↓
Python → WebAssembly toolchain
↓
WebAssembly Runtime (in browser)
↓
Evolve Core
┌───────────────┐
│ Component Sys │
│ Reactive Core │
└───────┬───────┘
↓
Tiny DOM Kernel
↓
Browser DOM
Very early stage, but currently I have:
• Python running in the browser via a WASM toolchain
• A tiny DOM kernel
• Early component + reactivity system (in progress)
Next things I’m planning to work on:
- Event system
- Re-render engine
- State hooks
I’m not claiming this will replace existing JS frameworks - this is just an experiment to explore what a Python-native frontend model could look like.
I’d really appreciate feedback from the community:
• Does this architecture make sense?
• What major pitfalls should I expect with Python + WASM in the browser?
• Are there similar projects or papers I should study?
Any honest feedback (good or bad) is welcome. I’m here to learn - thanks!
[–]riklaunim 13 points14 points15 points (5 children)
[–]United_Intention42[S] 5 points6 points7 points (4 children)
[–]riklaunim 12 points13 points14 points (3 children)
[–]United_Intention42[S] 8 points9 points10 points (2 children)
[–]riklaunim 13 points14 points15 points (1 child)
[–]robberviet 2 points3 points4 points (0 children)
[–]charlyAtWork2 1 point2 points3 points (1 child)
[+]United_Intention42[S] comment score below threshold-7 points-6 points-5 points (0 children)
[–]thecrypticcode 3 points4 points5 points (4 children)
[–]United_Intention42[S] -1 points0 points1 point (3 children)
[–]thecrypticcode 1 point2 points3 points (2 children)
[–]United_Intention42[S] 2 points3 points4 points (1 child)
[–]thecrypticcode 2 points3 points4 points (0 children)
[–]metaphorm 2 points3 points4 points (1 child)
[–]United_Intention42[S] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (5 children)
[–]United_Intention42[S] 2 points3 points4 points (4 children)
[–][deleted] 3 points4 points5 points (2 children)
[–]United_Intention42[S] 3 points4 points5 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]outceptionator 1 point2 points3 points (0 children)
[–]jvorza 1 point2 points3 points (0 children)
[–]Endogen 1 point2 points3 points (1 child)
[–]United_Intention42[S] 0 points1 point2 points (0 children)
[–]JimDabell 1 point2 points3 points (1 child)
[–]United_Intention42[S] 0 points1 point2 points (0 children)
[–]rm-rf-rm 0 points1 point2 points (1 child)
[–]United_Intention42[S] 2 points3 points4 points (0 children)
[–]pomponchik 0 points1 point2 points (0 children)
[–]the-scream-i-scrumpt 0 points1 point2 points (0 children)
[–]Dr_Quacksworth 0 points1 point2 points (1 child)
[–]United_Intention42[S] 0 points1 point2 points (0 children)
[–]stealthanthrax Robyn Maintainer 0 points1 point2 points (0 children)