ThinWire

From Wikipedia, the free encyclopedia

ThinWire
Image:ThinWireLogo.png
Design by ThinWire LLC
Initial release June 22, 2006
Latest release 1.2 RC 2 / September 17, 2007 (2007-09-17); 269 days ago
Written in Java
OS Cross platform (JVM)
Genre Ajax framework
License LGPL
Website http://www.thinwire.com/

ThinWire is an open source, Java based web application framework that utilizes Ajax techniques to give Web Applications the look and feel of traditional GUI applications.

ThinWire attempts to differentiate itself from the plethora of Ajax frameworks by bringing the event-driven programming model of desktop applications to web programming. The source code of a ThinWire based application will more closely resemble that of a traditional desktop GUI application than it will a web application. ThinWire handles all the web rendering and browser/server communication automatically.

Contents

[edit] Features

  • Familiar event-driven GUI programming model
  • Reconnects the flow of logic, no request response
  • Maintains state naturally via variables, not via session
  • Develop exclusively in a server-side language
  • ThinWire downloads once, just over 100K
  • Completely Dynamic, single page for entire application
  • Content is sent incrementally and only when needed

[edit] The ThinWire Concept

The first thing ThinWire does is accept that HTML & HTTP were designed to deliver static content pages in the form that we see on news and magazine web sites. They are not intended to be used as is for business process, data centric application development. HTML forms provide basic data capture capability, but typical business process applications often utilize complex business rules to drive data entry. Further, its necessary to have more expressive user interface elements in order to accurately capture and report information to the user.

ThinWire takes advantage of Ajax techniques to create a more expressive and dynamic interface for the business user. In addition it provides a Java API that allows a developer to be concerned only with application logic, allowing them to easily create a web application that looks and functions like a traditional GUI application.

[edit] Components

  • Button
  • CheckBox
  • DateBox
  • Dialog
  • Divider
  • DropDown
  • FileChooser
  • Frame
  • GridBox
  • Hyperlink
  • Image
  • Label
  • Menu
  • MessageBox
  • Panel
  • ProgressBar
  • RadioButton
  • Slider
  • TabFolder
  • TabSheet
  • TextArea
  • TextField
  • Tree
  • WebBrowser

[edit] System Requirements

[edit] Server Requirements

To host a ThinWire application, you will need a Java Servlet container.

[edit] Client Requirements

To access a ThinWire application, you will need a modern web browser:

[edit] Knowledge Requirements

  • A basic knowledge of Java
  • A basic knowledge of GUI Application Development

[edit] History

In early 2000 the R&D team at Custom Credit Systems constructed a web-based framework called the WebTool. The goal of the framework was to provide a web-based interface to key features of their long-standing client-server based software. To accomplish the requirements of these web interfaces, some new (at the time) techniques were used. The result was a more responsive and interactive web form that could validate data in real time.

By mid 2002, the experience and knowledge gained with the WebTool was leveraged to envision a significantly more ambitious framework, one that would allow CCS to replace its client-server based software with a completely web-based solution. The demands on the new framework would be great since it would have to support all of the capabilities of our client-server software and in-addition, it would have to be flexible enough to support converting existing and stable customer systems to it. Shortly after its first client release in early 2004, the new framework was given the name ThinWire.

ThinWire is now used to power the operational software of key divisions within a top ten bank.

[edit] License

ThinWire is available Free and Open Source under the GNU Lesser General Public License.

[edit] External links