Files in the top-level directory of check-in 7be9077b848c4738
- docs
- examples
- tests
- encode-binary-file.tcl
- Makefile
- Makefile.macos
- mkccode.tcl
- README.md
- tclsqlite3.c
- wapp.tcl
- wapptclsh.c.in
- wapptclsh.tcl
Wapp - A Web-Application Framework for TCL
1.0 Introduction
Wapp is a framework for writing web applications in TCL, with the following advantages:
- Very small API → easy to learn and use
- A complete application is contained in a single file
- Resistant to attacks and exploits
- Cross-platform → CGI, SCGI, or a built-in web server
- The MVC design pattern is supported but not required
- The Wapp framework itself is a single-file TCL script that is "source"-ed, "package require"-ed, or even copy/pasted into the application TCL script
- The framework can easily be embedded within a larger application to provide a web-based monitoring capability to an existing code base
- 2-clause BSD license
2.0 Hello World
Here is a minimal web application written using Wapp:
#!/usr/bin/tclsh package require wapp proc wapp-default {} { wapp-subst {<h1>Hello, World!</h1>\n} } wapp-start $argv
To run this application using the built-in web-server, store the code above in a file (here we use the name "hello.tcl") and do:
tclsh hello.tcl
To run the app using the built-in web-server bound to all TCP addresses and listening on port 8080, use:
tclsh hello.tcl --server 8080
To run the app as an SCGI server listening on port 9001:
tclsh hello.tcl --scgi 9001
To run the application as CGI, make the hello.tcl file executable and move it into the appropriate directory of the web server.