laying out the dream
This commit is contained in:
parent
9d2e607d66
commit
c2cffaeae4
1 changed files with 24 additions and 2 deletions
26
README.org
26
README.org
|
|
@ -1,3 +1,25 @@
|
||||||
#+title: nitinol
|
#+title: Nitinol
|
||||||
|
|
||||||
Nitinol is a framework for building malleable web applications.
|
Nitinol is a framework for building user-malleable web applications and tools, specifically PWAs, built on top of [[https://mithril.js.org/index.html][Mithril.js]] and [[https://lips.js.org/][LIPS scheme]].
|
||||||
|
It provides all the tools necessary to make a full application stack that the user is easily able to modify; both for themselves or others, and ephemerally or persistently.
|
||||||
|
|
||||||
|
:naming:
|
||||||
|
Nitinol is an alloy of Nickel and Titanium that has shape memory and superelasticity.
|
||||||
|
:end:
|
||||||
|
|
||||||
|
* Design Philosophy
|
||||||
|
Nitinol is heavily inspired by Emacs in terms of extensibility and self-documentation.
|
||||||
|
Instead of treating the application as a standalone application, it should be treated as a construction on top of a powerful Lisp core.
|
||||||
|
This core can then be modified by the user in real time --- allowing them to almost entirely change application behaviour --- or inspected to easily understand the inner workings.
|
||||||
|
|
||||||
|
A number of approaches already exist on the web for achieving malleability, but they are nothing compared to the power of a proper scripting engine.
|
||||||
|
- Settings only allow the user to modify the application in ways made legal by the original developer.
|
||||||
|
- Plugins also have limits in their ability to modify aspects of the application, while also generally being difficult to develop.
|
||||||
|
- Extensions can inject CSS or HTML but cannot modify server-side behaviour, and can also be annoying to develop and share.
|
||||||
|
- Open source projects typically lack sufficient internal documentation for non-developers to modify the internals, and often require additional (possible painful) setup steps.
|
||||||
|
|
||||||
|
Nitinol seeks to address all these problems by providing a Scheme environment in the web browser, and tools for building full applications.
|
||||||
|
- A live REPL allows the user to modify the application in real time.
|
||||||
|
- REPL inputs can be saved to a cached configuration file, which can be shared to other users of the application.
|
||||||
|
- Code is self-documenting via doc string macros and source code links, allowing easy introspection.
|
||||||
|
- Both the front-end and back-end can be modified (within security and access control constraints).
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue