Comparison of widget engines
From Wikipedia, the free encyclopedia
| This article or section is incomplete and may require expansion and/or cleanup. Please improve the article, or discuss the issue on the talk page. |
This is a comparison of widget engines. This article is not about widget toolkits that are used in computer programming to build graphical user interfaces.
Contents |
[edit] General
^ The Yahoo! Widget Engine was originally released by Arlo Rose and Ed Voas as Konfabulator. The name was changed several months after Yahoo! acquired the software in July 2005.
[edit] Platform
| Engine | Mac OS X | Windows XP | Windows Vista | Linux |
|---|---|---|---|---|
| adesklets | No | No | No | Yes |
| Amazing Brass | No | Yes | ? | No |
| AveDesk | No | Yes | Yes | No |
| Dashboard | Yes | No | No | No† |
| DesktopX | No | Yes | Yes | No |
| gDesklets | No† | No† | No† | Yes |
| Google Desktop Gadgets | Yes | Yes | Yes | Yes |
| Jackfield | No | No | No | Yes |
| Kapsules | No | Yes | ? | No |
| KlipFolio | No | Yes | Yes | No |
| Netvibes | Dashboard bridge | Using browser | Using browser | Using browser |
| Opera | Yes | Yes | Yes | Yes |
| Plasma | No | No | No | Yes |
| Screenlets | No | No | No | Yes |
| Serious Samurize | No | Yes | Yes† | No |
| SuperKaramba | No† | No† | No† | Yes |
| Yahoo! Widget Engine | Yes | Yes | Yes | No |
| Microsoft Gadgets | No | No | Yes | No |
| Webwag | Yes | Yes | Yes | Yes |
| WidSets | No† | No† | No† | No† |
^ The next version of the KDE is planned to include support for Dashboard widgets.
^ As for the next major version based on KDE4 the SuperKaramba developers are planning to support Windows XP and Mac OS X.
^ As for the next major version the gDesklets' developers are planning to support Windows XP and Mac OS X.
^ Early versions of Windows Sidebar have been successfully ported to Windows XP, though this activity is forbidden under the EULA.
^ The current version of Samurize (1.64.2) runs on Vista but there are a few minor issues that need to be worked out, such as security dialog prompts.
^ Google Desktop for Linux can search the desktop but does not support Google Desktop Gadgets.
[edit] Technical
[edit] Languages
What programming languages the engines support. Most engines rely upon interpreted languages.
| Engine | HTML | XHTML | CSS | XML | JavaScript | Perl | Python | Ruby | C++ | Executable |
|---|---|---|---|---|---|---|---|---|---|---|
| Amazing Brass† | No | No | No | No | No | No | No | No | Yes | Yes |
| AveDesk† | No | No | Yes | Yes | Yes | No | No | No | Yes | ? |
| Dashboard | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes† | Yes† |
| DesktopX | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | Yes | Yes |
| gDesklets††† | No | No | No | Yes | No | No | Yes | No | No | No |
| Google Desktop Gadgets | ? | ? | ? | Yes | Yes | No | No | No | No | No |
| Kapsules† | ? | ? | ? | ? | No | Yes | Yes | No | ? | ? |
| KlipFolio | No | No | Yes† | Yes | Yes | No | No | No | No | No |
| Netvibes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No |
| Opera† | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No |
| Plasma | No† | No† | No† | No† | Yes | No | No† | No† | Yes | ? |
| Screenlets | ? | ? | ? | ? | No | No | Yes | No | ? | ? |
| Serious Samurize†† | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes |
| SuperKaramba | ? | ? | Yes | Yes | Yes | No | Yes | Yes | Yes | ? |
| Webwag | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No |
| Yahoo! Widget Engine† | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No† |
| Microsoft Gadgets | Yes | No | Yes | Yes | Yes | No | Yes | Yes | Yes (as ActiveX) | Yes |
| WebKit | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | ? |
^ Amazing Brass has a custom programming language and compiler, known as Shiny, for easy creation of plugins. Compatible plugins written in any other language capable of producing a DLL can also be used.
^ AveDesk can be extended using AveScripter, which supports plugins written with XML and Javascript, extended using CSS.
^ Widgets for Kapsules and Serious Samurize can be written in any scripting language for which there is an ActiveScript engine, including PHP, JScript, VBScript and Ruby.
^ This is only relevant for Opera's extensions; the web browser itself supports HTML, CSS and others.
^ Samurize supports DLLs compiled with C++, Delphi, PowerBASIC, and FreeBasic, among others. HTML/XML/CSS support can be added by using certain plugins.
^ Yahoo! Widget Engine supports Perl and Python indirectly through the use of the shell, provided that the interpreters are installed on the machine (on Mac OS X, they are by default).
^ gDesklets might support Perl scripting through PyPerl [1] in the next major version.
^ The next major version of gDesklets will support Yahoo! Widgets. Thus, JavaScript support will be included, too.
^ gDesklets will provide some CSS like dialect in the next major version.
^ KlipFolio supports custom styles using CSS syntax.
^ Yahoo! Widget Engine can interface with COM (windows) or AppleScript (Mac OS)
^ Dashboard uses a technology called Cocoa Plugins.This allows for Objective-C code to be used through the plugin. The plugin is written with Cocoa and is compiled.
^ The Plasma version for KDE4.1 (currently in development) can run Dashboard Widgets and therefore also HTML, XHTML, CSS and XML. Besides the Dashboard support it is also planed to support Yahoo! Widgets, Google Desktop Gadgets and Microsoft Gadgets. It is also planed to add support for Python (in KDE4.1) and Ruby (at least in KDE4.2).
[edit] Formats and Development
| Engine | IDE | Widget Container | Widget MIME Type | Widget 1.0 Compliance |
|---|---|---|---|---|
| Amazing Brass | SSEdit | Proprietary Compiled Format | ? | No |
| AveDesk | AveScripter | ZIP | ? | No |
| Dashboard | Dashcode | ZIP | application/x-macbinary | No |
| DesktopX | Desktop X Pro | EXE | ? | No |
| gDesklets | No | Tar.gz | ? | No |
| Google Desktop Gadgets | Google Desktop Gadget Designer | ZIP | app/gg | No |
| Kapsules | ? | ZIP | ? | No |
| KlipFolio | No | Proprietary XML Format | ? | No |
| Netvibes | No | Online | ? | No |
| Opera | No | ZIP | application/x-opera-widgets | Yes |
| Plasma | No | ZIP, with plasmoid as extension instead of zip | ? | No |
| Serious Samurize | Serious Samurize Config Editor | ZIP | ? | No |
| Screenlets | No | Tar.gz | ? | ? |
| SuperKaramba | No | Tar.gz | ? | No |
| Yahoo! Widget Engine | No | Proprietary Format, ZIP | application/vnd.yahoo.Widget | No |
| Microsoft Gadgets | No | ZIP | application/x-windows-gadget | No |
| Webwag | No | Online | ? | No |
| WebKit | No | ? | ? | No |
[edit] Development Tools
As widgets are largely combinations of HTML or XHTML, CSS, and Javascript in most cases, standard AJAX tools, such as Eclipse ATF, can be used for development. Specialized tools may give access to additional capabilities supplied by frameworks such as Dojo or Openrico. An API-creating tool such as Dapper can allow the creation of a "universal" widget from content on any website.
IDE: Apple Dashcode, Eclipse ATF, and Google Desktop.
Microsoft Gadget and Yahoo! Widgets have documentation, but no IDE to aid development.

