Utvidelser, plugins og tillegg er ikke det samme — og jeg har blandet dem sammen i årevis


Et sted mellom å installere en grammatikkontroll og hente en reverb-effekt til min DAW, gikk det opp for meg at jeg hadde slengt rundt ordene extension, plugin og add-on som om de var utskiftbare. Som tre forskjellige navn på det samme. Nærme nok, ikke sant? Ikke helt.

Forskjellene er subtile, noe som sannsynligvis er grunnen til at de fleste aldri gidder å undersøke dem nærmere. Og for å være ærlig, har ikke teknologiverdenen hjulpet mye, ettersom mange kjente apper uansett gjør disse grensene uklare. Det alene gjør det verdt å gå nærmere inn på.

Utvidelser er laget for å holde seg i sin egen fil

De låner nettleserens språk og kjører med det






Hvis du hadde spurt meg for en stund siden, ville jeg sagt at utvidelser bare var «plugins for nettlesere». Det er ikke helt riktig.

En utvidelse er vanligvis en lettvekts programvare skrevet spesielt for å endre eller forbedre en eksisterende applikasjon, vanligvis en nettleser, ved å bruke det samme språket som vertsapplikasjonen allerede forstår. Chrome-utvidelser, for eksempel, er bygget med HTML, CSS og JavaScript, som i utgangspunktet er webens egne språk.

Det designvalget former hvordan utvidelser oppfører seg. I tiden for Googles overgang til Manifest V3 har de gått over til hendelsesstyrte Service Workers i stedet for alltid-kjørende bakgrunnssider, noe som gjør dem ressurs-effektive og mindre påtrengende. Enda viktigere, de lever i en sandkasse. Jeg pleide å overse det begrepet, men hvis du ser nærmere på hva sandkasseering er og hvordan det beskytter deg på nettet, vil du se at det gjør reelt arbeid her. Utvidelser holdes stramt inntil snor, med tydelig definerte tillatelser. De kan bare få tilgang til det du eksplisitt tillater, og de får ikke fritt bevege seg gjennom systemet ditt. Ikke desto mindre er det avgjørende å sjekke tillatelsene til Chrome-utvidelsen din for å sikre at et verktøy ikke ber om bredere tilgang enn det som er rimelig nødvendig.

Denne arkitektoniske isolasjonen er en stor grunn til at de anses som relativt trygge. De graver seg ikke dypt inn i systemet ditt eller vandrer av gårde på egen hånd; de ligger på toppen av nettleseren og former opplevelsen din uten å bli for påtrengende.

Plugins ble alltid laget for å gå dypere

Nativ kode med mye nerve






«Plugin» var ordet jeg brukte for nesten alt på et tidspunkt, spesielt for alt som virket litt mer kraftfullt. På en måte var ikke den intuisjonen helt feil, men den var bare ikke presis.

Tradisjonelt var plugins binære kjørbare filer, forhåndskompilerte kodebiter, ofte skrevet i C++, som kjørte gjennom det som kalles NPAPI (Netscape Plugin API)-standarden. I motsetning til utvidelser levde disse utenfor nettleserens sandkasse, ofte med tilgangsprivilegier som samsvarte med nettleserens egne systemnivå-tillatelser.

Det klassiske eksempelet her er Adobe Flash Player. Den var ikke innebygd i nettleseren, men var et eget program du installerte separat, og nettleseren ville kalle på det når den møtte innhold den ikke kunne håndtere på egen hånd. Den kraften kom imidlertid med en kostnad; vanlige sårbarheter og utnyttelser gjorde det til et hovedmål for skadelig programvare. Å kjøre native-kode med det tilgangsnivået åpnet døren for alvorlige sikkerhetsproblemer, og det er derfor Flash måtte dø for å gi plass til sikrere nettstandarder. Innen 2020 var støtten faktisk borte, og tryggere, mer begrensede modeller tok over.

Utenfor nettleserverdenen er derimot «plugin» fortsatt veldig levende og blomstrende. Spesielt i kreativ programvare er det standardspråket. Hvis du har brukt en DAW som Ableton eller FL Studio, har du sannsynligvis jobbet med VST-plugins som enhver musiker bør ha, og som gjør det verten ikke kan gjøre alene. De kan simulere maskinvare-synthesizere, prosessere lyd gjennom komplekse reverbalgoritmer, eller komprimere en miks i sanntid. De kjører direkte på CPU-en din, noe som er hvordan de holder latenstiden lav og ytelsen stram.

VST-standarden i seg selv går langt tilbake; Steinberg introduserte den i 1996, og den er fortsatt sterk i dag i sin VST3-form. Den samme ideen gjelder for verktøy som Photoshop, hvor tredjeparts-plugins kan forbedre ferdighetene dine i bildebehandling.

Så i denne sammenhengen har «plugin» en tendens til å antyde noe tyngre, mer integrert og mer ytelsesdrevet. Det er programvare som arbeider dypt i prosesskjeden, håndterer rådata raskt. Nettleserverdenen beveget seg bort fra den modellen til fordel for sikkerhet. Kreative verktøy, derimot, er fortsatt avhengige av det fordi kraft og presisjon betyr mer enn isolasjon.

'Add-on' er alles favorittforkortelse

Mozilla startet det, og resten av oss løp med det

Nå er "add-on" der det blir litt løsere. Det er ikke et strengt teknisk begrep, men mer et samlebetegnelse. I bunn og grunn betyr det bare "en ekstra del du kan feste til et hovedprogram." Mozilla hjalp til med å popularisere det som en paraplybetegnelse, som grupperte utvidelser, plugins, temaer og til og med søkemotorer i en enkel, ryddig meny. Google Workspace tok i bruk den samme terminologien, og kalte sine tredjepartsintegrasjoner i Docs og Sheets for "Add-ons."

Microsoft, som Microsoft, gikk i stedet for «Add-in» (med en 'i'). Samme generelle idé, litt annerledes vekt — og i bedriftsmiljøer bærer den formuleringen faktisk vekt. Tradisjonelt refererte en add-in til dypere integrasjoner, produkter bygget med COM eller VSTO som koblet direkte inn i Office sitt interne objektmodell. Selv nå, etter at Microsoft har gått over til webbaserte add-ins, har navnet blitt værende for å skille dem fra nettleserutvidelser eller mer generelle OS-nivå tillegg. I mellomtiden, i spillmiljøer, sirkulerer «add-on» også, ofte brukt om hverandre med «mod» for å beskrive ekstra innhold eller UI-justeringer. Det er et fleksibelt begrep, nesten et sikkerhetsnett når den eksakte arkitekturen ikke er poenget.

En enklere måte å tenke på det på er slik: hvis noen sier «add-on», snakker de generelt, bare forteller deg noe som utvider en app. Hvis de sier «extension», antyder de noe lettvekt, vanligvis nettleserbasert, laget med webteknologi. Og hvis de sier «plugin», peker de mer på hva det gjør, vanligvis noe spesialisert, ofte med dypere og mer ytelsestung integrasjon.

Et godt eksempel på hvor dette blir litt rotete er Grammarly. Du kan installere Grammarly-utvidelsen i Chrome for å sjekke skrivingen din på nettet. Du kan også installere Grammarly-tillegget i Microsoft Word for å korrekturlese dokumenter direkte. Samme selskap, samme kjerneidé, men terminologien endres avhengig av hvor det kjører og hvordan det kobler seg til programvaren.

Et notat før du drar

Ingenting av dette betyr at du trenger å rette folk i uformelle samtaler. Språk utvikler seg gjennom bruk, og disse ordene har kryssbestøvet hverandre i flere tiår. Men neste gang noen gir deg en anbefaling om en "plugin" for nettleseren din, vil du vite at noe er litt feil. Og neste gang du installerer en vintage-synthesizer i DAW-en din, vil du vite nøyaktig hvorfor de kalte det en plugin og ikke en utvidelse.

Relaterte artikler