Smart client
Smart client is a term describing a computer application environment which:
- delivers applications over a web Hypertext Transfer Protocol (HTTP) connection
- does not require installation (or provide automated installation and updates)
- automatically updates without user action
- has the look and feel of desktop applications
The term "smart client" was chosen to refer to simultaneously capturing the benefits of a "thin client" (zero-install, auto-update) and a "fat client" (high performance, high productivity).
The smart client approach came about because when businesses tried to develop web applications to replace their old desktop applications, user productivity decreased. This was because web-based user interfaces based on server-side HTML generation are typically not as responsive, have fewer hot keys, require more use of the mouse and are unreliable when handling large files such as computer aided design drawings.
Smart client applications bridge the gap between web applications and desktop applications. They provide the benefits of a web application (such as using the Internet for remote access to data) while still providing the snappy look and feel inherent to desktop applications.
Platforms for building smart client applications:
- Flex from Adobe, which uses Flash or Adobe AIR as a runtime platform.
- JavaFX from Oracle Corporation, or Google Web Toolkit, both for Java; the former can also be used in Scala
- Silverlight from Microsoft (although this is only supported on Windows and Mac; the Linux port, Moonlight, was abandoned due to lack of popularity)