Programček je posebna vrsta računalniškega programa, ki naj bi se izvajal samo znotraj druge programske aplikacije. Izraz se najpogosteje uporablja za opis programov, ki so napisani v programskem jeziku Java. Ti programi so zasnovani tako, da dodajo funkcionalnost in interaktivnost spletnim mestom, kjer standardni jezik za označevanje hiperbesedila (HTML) ne zadostuje. Mobilne naprave, kot so mobilni telefoni, uporabljajo tudi programčke, vendar lahko to počnejo na drugačen način.
Med programčkom in standardno računalniško aplikacijo je veliko razlik. Največja razlika je v tem, da lahko programček zažene samo drug program, ki je že v sistemu, največkrat spletni brskalnik ali drug specializiran tolmač. To zagotavlja dodatno varnost in omogoča, da je programček neodvisen od platforme, ker jezik, v katerem je napisan, po potrebi prevaja vsak različni operacijski sistem.
Ena od prednosti uporabe programčka namesto aplikacije je vgrajena izvedba zelo strogega varnostnega nadzora. Standardni programček teče v zelo omejenem načinu, kjer ni sposoben neposrednega dostopa do katerega koli sistemskega vira. Programska oprema, ki izvaja program, lahko omeji dostop, tako da se ne zaveda sistema, v katerem se izvaja. Obstajajo tudi vrste programčkov, ki lahko izvajajo napredne varnostne metode, ki omogočajo večji dostop po presoji uporabnika.
Spletni brskalniki pogosto uporabljajo programčke Java, da uporabnikom omogočijo dostop do različnih vrst spletnih medijev, ne da bi morali namestiti popolnoma ločen program. Programček se lahko uporablja tudi za lažje izpolnjevanje spletnih obrazcev, za dinamičen prikaz slik ali za omogočanje igranja iger. Programčki imajo celo široko uporabo na trgu elektronskega poslovanja, kjer so zaposleni za varno komunikacijo s strežnikom pri nakupih.
Pri uporabi prek spletnega brskalnika je mogoče programčke zelo prilagoditi brez potrebe po ponovnem pisanju programske opreme. To se naredi z uporabo HTML. Ko ga pokličete iz dokumenta HTML za spletno mesto, je mogoče programu posredovati več različnih parametrov neposredno znotraj kode HTML. Ta mehanizem omogoča enostavno prilagajanje enega programa na več spletnih mestih.
Mobilne naprave uporabljajo programčke na nekoliko drugačen način. Številne naprave vključujejo notranji programski okvir, ki omogoča, da se programčki izvajajo neodvisno od katerega koli drugega programa. Ta metoda zagotavlja vso varnost in prenosljivost standardne izvedbe, ne da bi morali program zaviti v ločen vsebnik programske opreme.
Čeprav so programčki zasnovani za delovanje v varnem okolju, kjer gostiteljskega sistema ni mogoče poškodovati, obstajajo načini, kako lahko pridobijo popoln dostop do sistema. Programčke Java je mogoče podpisati, kar pomeni, da če uporabnik sistema zaupa programu, mu bo dovoljen dostop do datotek in virov gostiteljskega sistema. Te vrste varnostnih izjem vedno najprej pozovejo uporabnika, preden dovolijo dostop.