Widgets
Från Rilpedia
En Widget är ett grafiskt föremål, exempelvis en tryckknapp eller ett textinmatningsfält, som kan visas i ett fönster i ett grafiskt användargränssnitt på en dator. Grafiska användargränssnitt på datorer är uteslutande baserade på abstraktionen "fönster", och begreppet kommer från en sammanslagning av begreppen "window gadget" - ungefär "fönstergrej". [källa behövs]
Innehåll |
Kännetecken
Den yta som denna text visas för läsaren på är till exempel troligen en widget av klassen "flikat fönster", (det har en flik längst upp som det står "artikel" på) och ett eller flera "flikade fönster" kan samlas i en widget av klassen "container för flikade fönster".
Widgets kännetecknas, förutom sin grafiska närvaro, ofta av att de tillåter interaktion från användarens sida genom exempelvis textinmatningar eller musklickningar. Man säger att en widget vid ett interaktionstillfälle genererar en händelse (ett event), och att denna händelse motsvaras av en aktivitet (en action) i någon form i systemet. Sådana system sägs vara händelsedrivna (event driven), vilket gäller för de allra flesta moderna datorsystem.
Ursprung
Begreppet Widget uppstod på 1980-talet bland programmerare som utvecklade grafiska användargränssnitt till datorer som hade olika implementationer av operativsystemet UNIX. De olika UNIX-dialekterna skiljde sig åt, ofta ganska litet men dock, och när man flyttade ett program mellan olika UNIX-plattformar såg användargränssnitten inte likadana ut. För att komma tillrätta med detta skapade man olika bibliotek av Window gadgets och såg till så att dessa såg likadana ut på alla plattformar. Dessa widgetbibliotek (widget libraries) användes sedan vid programvaruutvecklingen.
Programvaruutveckling i grafiska miljöer är dessutom tidsödande och komplicerat om ett stöd i form av widgets eller liknande saknas, eftersom programmeraren tvingas skriva i princip samma kodrader om och om igen för varje grafiskt element som ska ingå i användargränssnittet. Widgets tillför alltså även en oerhörd effektivitetsvinst i programmeringsarbetet, i och med att man återanvänder färdigtestad och väl fungerande kod.
Nutid
Idag är widgets ett standardbegrepp, framför allt inom utvecklingen av grafiska användargränssnitt med objektorienterade metoder. Widgets gör det dels enkelt att komponera grafiska användargränssnitt, dels ger de (i idealfallet) programutvecklaren en viss kontroll över hur ett program ser ut på olika plattformar - exempelvis UNIX, Windows eller MacIntosh. Sist men inte minst ger de tillgång till vältestad kod för den grafiska hanteringen som oftast har få men välkända fel och svagheter.
Inom vissa kretsar vidgas dessutom widgetbegreppet alltmer och kan idag även vara ett program som bäddas in i ett annat program (exempelvis ett i ordbehandlingsprogram) eller i en webbsida, ungefär som en applet. Detta står inte i motsats till den ursprungliga "definitionen" av begreppet, utan innebär enbart att fenomenet har utvecklats från att vara kodsnuttar till att vara kompletta småprogram.
Widgets hos Apple
Widget är också namnet på de småprogram gjorda i Javascript (vilket inte är samma sak som Java) som körs i Apples Dashboard.