A widget [ wɪʤət ] is a component of a graphical window system. The widget is the one from the window, a visible area, the mouse and / or receives keyboard events, and on the other from the non-visible object that stores the state of the component and may change on certain drawing operations the visible range. Widgets are always embedded in a particular window system and use this to interact with the user or other widgets of the window system.
Applets are also been integrated to an environment, but not necessarily use, in contrast to the widget provided by the window system services and windows. Applets are usually a - involved relatively coarse plugin interface in the host system and usually have their own window and event management - compared to the interface of the window system.
Widgets and partly applets can not be operated as a stand-alone application programs as part of an operating system. You need an environment that provides a programming interface basic functions and resources and thus limited the possibilities. Programs for the operation of boxes are referred to as a widget engines.
Origin and development
Widgets originally from the Athena project and designated an associate with a window object, the result is the short syllable word from Wi ( NDOW ) and ( Ga) DGET. Such a window object could autonomously react to events in the keyboard and / or mouse to adjust its appearance accordingly. With the first " world wide web browsers " in X11, a successor of the MIT Athena, this term came to the internet and is now used for different technologies.
Widgets are now supported by almost all graphical user interfaces, and even required, so that the full functionality of the environment is accessible. Thus, " gOS " or Google Chrome OS dependent. In Mac OS X since 2005 and since 2007 in Windows Widgets are common, but almost " function irrelevant". With SuperKaramba a widget framework is also available for KDE since 2003. The term widget achieved in 2003 by the Konfabulator program is widely disseminated.
Widget engines are basically software modules. They represent a prerequisite for the use of widgets and give the interfaces for their integration. Widget environments can be very diverse today. Available widget engines for work environments include:
Using DHTML, Ajax, Adobe Flash, Silverlight, or Java applets, such applications can be integrated into web pages. Several vendors offer platforms for compiling personalized widgets, such as Netvibes, Google's personalized homepage iGoogle, page flakes, ContentSieve, allyve, sports board or Facebook.
Widgets on smartphones
On mobile devices such as PDAs and smartphones widgets are commonly used.
Mobile devices based on the Android operating system, support widget on the home screen ( launcher ) and since Android 4.2 on the login screen in the form of so-called Lock Screen Notification widgets. Widgets usually in this case represent a portion of an application ( app ), which is used to display important information or the quick start functions, the app allows.
A similar approach with the Microsoft introduced with Windows Phone live tiles. These present information in a colored tile grid and update in a defined interval. The concept has also been adopted for the operating system Windows 8 for classic workstation and resolves the supported until then Widgets and the Start menu of the Windows operating system.
Most manufacturers provide documentation for creating your own, usually proprietary widgets.