a) How to user graphical constructions (we call them parts) outside of the main framework? We currently work on ways to "snapshot" them in a way that they include all their dependencies. So not just the object (graph) state but really all code dependencies. es6 modules are a big help here since they allow to trace dependencies statically. This is work in progress and we will post updates about this.
The state right now is that you can the HTML view of morphs into web pages, e.g. see [2]
b) Several parts of the system can be used standalone, e.g. you can enable support for Lively tooling in node.js processes or arbitrary webpages. See https://lively-next.org/worlds/lively-2-webpage for a bookmarklet that loads the lively.vm [1] and lively-system-interface on a arbitrary web page: https://imgur.com/a/2foGR. This allows you to then use the workspaces, system browser, inspectors, etc. on remote targets.
Apart from the UI (inspired by Self's Morphic [1]), lively.next implements a meta system on top of normal JavaScript that makes such things possible as to hold on and inspect system state (variables defined inside a module, mechanisms for redefining things etc).
Also, lively.next runs on any JS system and it's various packages can be embedded, e.g. to create a programming environment for node.js and other such things.
The Lively project evolved over time and lively.next is the newest version:
- https://www.lively-kernel.org is from the Sun Labs / HPI days (check out the ancient http://sunlabs-kernel.lively-web.org, fully SVG based rendering)
- Lively Web: https://lively-web.org A live, programmable wiki (2012-2015)
- lively.next since 2016 https://lively-next.org.
[1] http://ftp.squeak.org/docs/Self-4.0-UI-Framework.pdf