ThinWire
From Wikipedia, the free encyclopedia
- For the Ethernet coax cable, see 10BASE2.
ThinWire® is an open source, Java based rich Internet application development framework that utilizes Ajax techniques to give Web Applications the look and feel of traditional GUI applications.
ThinWire® attempts to differentiate itself from the plethera 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, it's 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:
- Internet Explorer v5.5 or greater
- Firefox v1.0 or greater
- Opera v8.0 or greater
- Safari 2 or greater
- Other Gecko Browsers (Camino, Mozilla, Netscape)
[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.