| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <title>Apache Rivet</title> |
| <link rel="stylesheet" href="http://rivet.bandasalute.it/templates/wondrous/styles.css" type="text/css" /> |
| </head> |
| |
| <body> |
| <div id="container"> |
| <div id="header"> |
| <h1><a href="index.rvt?show=index">Rivet</a></h1> |
| <h2 id="slogan">Webscripting for Tcl'ers</h2> |
| <div class="clear"></div> |
| </div> |
| <div id="body"> |
| <div id="content"> |
| <h2>Apache Rivet</h2> |
| <div class="floatright"><img src="picts/Rivetlogo_tiny.png" /></div><div> |
| <!--div id="announces"> |
| <div> |
| 01-Dec-2012: <sitereference href="rn-2-0">Rivet 2.0.6</sitereference> and |
| <sitereference href="rn-2-1">Rivet 2.1.0</sitereference> released. |
| |
| </div> |
| </div --> |
| <p> |
| <b>Apache Rivet</b> |
| |
| is a powerful, flexible, consistent, |
| fast, and robust solution to creating web applications: |
| </p> |
| <p> |
| <b>Powerful</b> |
| |
| : Apache Rivet puts the Tool Command |
| Language in the hands of the programmer, allowing him or |
| her to manipulate data easily and concisely. Millions |
| of lines of Tcl code already exist - all you have to do |
| is glue them together to create unique and useful |
| applications. Rivet unites this power with the Apache |
| web server. |
| </p> |
| <p> |
| <b>Flexible</b> |
| |
| : The original design constraints for Tcl |
| required that it be flexible enough to be inserted and |
| function in an extreme variety of environments. That's |
| still true today, and makes Tcl, and as a consequence, |
| Apache Rivet, easy to integrate into your business to |
| leverage existing systems. |
| </p> |
| <p> |
| <b>Consistent</b> |
| |
| : The Tool Command Language is |
| integrated with Apache Rivet in such a way as to provide |
| you with an easy-to-learn interface that won't surprise |
| you. Because of this, you can use the same, elegant |
| programming language for your web applications, GUI's |
| (with the Tk toolkit), and quick'n'dirty system |
| administration tasks. Very simple! |
| </p> |
| <p> |
| <b>Fast</b> |
| |
| : A dedicated team of programmers works to |
| make sure Apache Rivet locks in tightly with both Tcl |
| and Apache, ensuring that you get as much performance as |
| your hardware can handle. Where you need to squeeze out |
| the last bit of speed, the Tool Command Language |
| provides you with a high-quality C API which lets you |
| write Tcl extensions in no time. |
| </p> |
| <p> |
| <b>Robust</b> |
| |
| : Created in the late 80's by U.C. Berkeley |
| professor John Ousterhout, Tcl has stood the test of |
| time, being used in such notable companies as IBM, |
| Oracle, Cisco, AOL, and many, many others. There is a |
| core group of maintainers who oversee the development |
| and maintainance of the Tool Command Language, so that |
| it continues to improve, yet maintains its rock-solid |
| nature. |
| </p> |
| <p> |
| Rivet can be used in two different ways: in |
| <a href="">Rivet templates</a> |
| |
| or |
| with pure <a href="">Tcl scripts</a> |
| </p> |
| <!--table> |
| <tbody> |
| <tr> |
| <td colspan="2"><hr width="90%" /></td> |
| </tr> |
| <tr> |
| <td align="center"><b>Rivet Templates (.rvt)</b></td> |
| <td align="center"><b>Tcl Scripts (.tcl)</b></td> |
| |
| </tr> |
| <tr> |
| <td width="50%"> |
| Templates let you add a bit of code to your HTML, |
| to add dynamic content to it, or speed up creation |
| of repetitive elements. Templates are appropriate |
| for quick'n'dirty pages, where you just need to do |
| some scripting quickly. But they are also |
| appropriate for the 'display' component of your |
| complex application. |
| </td> |
| <td> |
| Pure Tcl scripts let you do the heavy lifting to |
| control your application. A sensible design |
| pattern is to put most of your complex logic in |
| these files, and then parse template files to |
| display the results. This means that those who |
| are creating the HTML files don't have to know |
| much Tcl, and only need to call a few simple |
| commands. |
| </td> |
| </tr> |
| <tr class="code"> |
| |
| <td class="code"> |
| <pre class="code"> |
| <span class="type"><table></span> |
| <span class="type"><tbody></span> |
| <span class="type"><tr></span> |
| <span class="type"><td></span> |
| <? |
| <span class="keyword">foreach</span> line [chat::model::getlines $user] { |
| puts <span class="string">"$line<br>"</span> |
| } |
| ?> |
| <span class="type"></td></span> |
| <span class="type"></tr></span> |
| <span class="type"></tbody></span> |
| <span class="type"></table></span> |
| </pre> |
| </td> |
| |
| <td class="code"> |
| <pre class="code"> |
| <span class="keyword">proc</span> <span class="function-name">chat::model::getlines</span> {user} { |
| set sk [chat::model::getsock] |
| puts $sk [list user $user cmd get msg <span class="string">""</span>] |
| <span class="keyword">if</span> { ! [eof $sk] } { |
| gets $sk data |
| <span class="keyword">return</span> <span class="string">"$data"</span> |
| } <span class="keyword">else</span> { |
| <span class="keyword">error</span> <span class="string">"Problem with socket"</span> |
| |
| } |
| } |
| </pre> |
| </td> |
| </tr> |
| </tbody> |
| </table--> |
| </div> |
| |
| |
| |
| <div class="contentbottom"> |
| |
| </div> |
| </div> |
| |
| <div class="sidebar"> |
| <ul> |
| <li id="news"> |
| <h4>News</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a href="/index.rvt?show=rn-2-1">30 Jun 2013: Rivet 2.1.2 released</a> |
| </li> |
| <li class="navitem"> |
| <a href="/index.rvt?show=rn-2-0">1 Dec 2012: Rivet 2.0.6 released</a> |
| </li> |
| </ul> |
| </li> |
| |
| </ul> |
| <ul> |
| <li id="home"> |
| <h4>Rivet</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a title="A home for Rivet" href="/index.rvt?show=index">Rivet Homepage</a> |
| </li> |
| <li class="navitem"> |
| <a title="Home of Apache Tcl related stuff" target="asf" href="http://tcl.apache.org/">Apache Tcl Home</a> |
| </li> |
| <li class="navitem"> |
| <a title="Getting Rivet" href="/index.rvt?show=download">Getting Rivet</a> |
| </li> |
| <li class="navitem"> |
| <a title="Hello World!" href="/index.rvt?show=hello_world">Examples</a> |
| </li> |
| <li class="navitem"> |
| <a title="The Rivet development team" href="/index.rvt?show=about">About Us - Contact</a> |
| </li> |
| </ul> |
| </li> |
| <li id="tcl"> |
| <h4>Tcl/Tk</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a title="The Tcl Developer Xchange" target="tclxchange" href="http://www.tcl.tk/"> |
| The Tcl/Tk Language |
| </a> |
| </li> |
| <li class="navitem"> |
| <a title="Tcl community wiki site" target="tclwiki" href="http://wiki.tcl.tk/">Tcl'ers Wiki</a> |
| </li> |
| </ul> |
| </li> |
| <li id="support"> |
| <h4>Support</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a title="Apache Rivet Bugzilla" href="https://issues.apache.org/bugzilla/buglist.cgi?quicksearch=Rivet">Bug Reports</a> |
| </li> |
| </ul> |
| </li> |
| <li id="manual"> |
| <h4>Manuals</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a title="Rivet Manual" target="rivetman2.0" href="http://tcl.apache.org/rivet/manual2.0/">Rivet 2.0 Manual</a> |
| </li> |
| <li class="navitem"> |
| <a title="Rivet Manual" target="rivetman2.1" href="http://tcl.apache.org/rivet/manual2.1/">Rivet 2.1 Manual</a> |
| </li> |
| </ul> |
| </li> |
| |
| </ul> |
| <ul> |
| <li id="acknowledgments"> |
| <h4>Acknowledgments</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a href="http://www.apache.org/foundation/thanks.html">ASF Sponsorship</a> |
| </li> |
| </ul> |
| </li> |
| |
| </ul> |
| </div> |
| <div class="clear"></div> |
| </div> |
| </div> |
| <div id="footer"> |
| <div class="footer-content"> |
| <p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p> |
| </div> |
| </div> |
| <div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body> |
| </html> |
| |