Javascript, the GNOME way
summary
GNOME Shell uses JavaScript as glue to 30k lines of JS hooked to ~40k lines of C and runs in production on millions of desktops; the stack extracts C APIs with GObject Introspection into .gir/.typelib files and loads them at runtime via GRepository and libffi, with gjs wrapping SpiderMonkey (and a JSCore seed port); demos include a GTK GUI and a Clutter+GStreamer webcam implemented in 52 lines of code and a websocket server; current pain points are module import semantics and sparse binding documentation.
AI-written summary · about
chapters (16)
- 0:00Start
- 3:37Genome Shell
- 8:00Share Binding Infrastructure
- 11:02Foreign Function Interface
- 15:51Annotate the Code
- 17:03Validating the Return Value
- 20:45Writing Javascript
- 25:12Kill the Event Loop
- 36:12Important Modules
- 40:23Native Modules
- 41:37Functions
- 42:20Object Methods
- 44:14Documentation
- 45:49How To Synchronize Our Community with the Rest of the World
- 49:48Current Issues
- 50:17Final Thoughts








