104204484d
It is designed to allow the programmer to express as much of the view logic as desired in Python, and includes a pure Python XML expression syntax named stan to facilitate this. However it also provides rich support for designer-edited templates, using a very small XML attribute language to provide bi-directional template manipulation capability. Nevow also includes Divmod Athena, a "two way web" implementation, providing a two-way bridge between Python code on the server and JavaScript code on the client. Modular portions of a page, known as "athena fragments" in the server python and "athena widgets" in the client javascript, can be individually developed and placed on any Nevow-rendered page with a small template renderer. Athena abstracts the intricacies of HTTP communication, session security, and browser-specific bugs behind a simple remote-method-call interface, where individual widgets or fragments can call remote methods on their client or server peer with one method: "callRemote". ok pyr@
19 lines
1.1 KiB
Plaintext
19 lines
1.1 KiB
Plaintext
Divmod Nevow is a web application construction kit written in Python.
|
|
It is designed to allow the programmer to express as much of the view
|
|
logic as desired in Python, and includes a pure Python XML expression
|
|
syntax named stan to facilitate this. However it also provides rich
|
|
support for designer-edited templates, using a very small XML
|
|
attribute language to provide bi-directional template manipulation
|
|
capability.
|
|
|
|
Nevow also includes Divmod Athena, a "two way web" implementation,
|
|
providing a two-way bridge between Python code on the server and
|
|
JavaScript code on the client. Modular portions of a page, known as
|
|
"athena fragments" in the server python and "athena widgets" in the
|
|
client javascript, can be individually developed and placed on any
|
|
Nevow-rendered page with a small template renderer. Athena abstracts
|
|
the intricacies of HTTP communication, session security, and
|
|
browser-specific bugs behind a simple remote-method-call interface,
|
|
where individual widgets or fragments can call remote methods on their
|
|
client or server peer with one method: "callRemote".
|