ThinWire
Encyclopedia
ThinWire is an open source
, Java
based web application framework
that uses Ajax
techniques to give Web Applications
the look and feel of traditional GUI
applications. The project encourages all users to contribute and enhance the product.
ThinWire attempts to differentiate itself from the plethora of Ajax framework
s 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.
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.
and Open Source
under the GNU Lesser General Public License
.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, Java
Java (Sun)
Java refers to several computer software products and specifications from Sun Microsystems, a subsidiary of Oracle Corporation, that together provide a system for developing application software and deploying it in a cross-platform environment...
based web application framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...
that uses Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
techniques to give Web Applications
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...
the look and feel of traditional GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
applications. The project encourages all users to contribute and enhance the product.
ThinWire attempts to differentiate itself from the plethora of Ajax framework
Ajax framework
In web application development, an Ajax framework is a framework which leverages Ajax, a collection of technologies for building dynamic web pages on the client side...
s 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.
Features
- Familiar event-drivenEvent-driven programmingIn computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...
GUIGraphical user interfaceIn computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
programming model - Reconnects the flow of logic, no request response
- Maintains stateState (computer science)In computer science and automata theory, a state is a unique configuration of information in a program or machine. It is a concept that occasionally extends into some forms of systems programming such as lexers and parsers....
naturally via variablesVariable (programming)In computer programming, a variable is a symbolic name given to some known or unknown quantity or information, for the purpose of allowing the name to be used independently of the information it represents...
, not via sessionSession (computer science)In computer science, in particular networking, a session is a semi-permanent interactive information interchange, also known as a dialogue, a conversation or a meeting, between two or more communicating devices, or between a computer and user . A session is set up or established at a certain point... - Develop exclusively in a server-sideServer-sideServer-side refers to operations that are performed by the server in a client–server relationship in computer networking.Typically, a server is a software program, such as a web server, that runs on a remote server, reachable from a user's local computer or workstation...
language - ThinWire downloads once, just over 100K
- Completely Dynamic, single page for entire application
- Content is sent incrementally and only when needed
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 use 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.
Server requirements
To host a ThinWire application, you will need a Java Servlet container.Client requirements
To access a ThinWire application, you will need a modern web browser:- Internet ExplorerInternet ExplorerWindows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...
v5.5 or greater - Firefox v1.0 or greater
- OperaOpera (web browser)Opera is a web browser and Internet suite developed by Opera Software with over 200 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting on IRC, downloading files via BitTorrent,...
v8.0 or greater - SafariSafari (web browser)Safari is a web browser developed by Apple Inc. and included with the Mac OS X and iOS operating systems. First released as a public beta on January 7, 2003 on the company's Mac OS X operating system, it became Apple's default browser beginning with Mac OS X v10.3 "Panther". Safari is also the...
2 or greater - Other GeckoGecko (layout engine)Gecko is a free and open source layout engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation , as well as in many other open source software projects....
Browsers (CaminoCaminoCamino is a free, open source, GUI-based Web browser based on Mozilla's Gecko layout engine and specifically designed for the Mac OS X operating system...
, MozillaMozillaMozilla is a term used in a number of ways in relation to the Mozilla.org project and the Mozilla Foundation, their defunct commercial predecessor Netscape Communications Corporation, and their related application software....
, NetscapeNetscapeNetscape Communications is a US computer services company, best known for Netscape Navigator, its web browser. When it was an independent company, its headquarters were in Mountain View, California...
)
Knowledge Requirements
- A basic knowledge of Java
- A basic knowledge of GUI Application Development
License
ThinWire is available FreeFree software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
and Open Source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...
under the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
.