Razvoj programske opreme: zgodovinski pregled do danes
Razvoj programske opreme (SD) je imel od svojega nastanka do danes svoje značilnosti. Svet razvoja programske opreme je bil že od samega začetka razdeljen na dva dela: razvoj brezplačne in odprtokodne programske opreme ter razvoj lastniške in zaprtokodne programske opreme.
In vse to je posledično sprožilo tekmo v vsakem svetu distribuiranih sistemov (DS) za izdelavo podobnih vrst programske opreme, kar je sčasoma privedlo do različnih vrst aplikacij. Tako je DS povzročil prvo in še vedno aktualno sistemsko programsko opremo (SS), nato programsko opremo (SP) in končno aplikacijsko programsko opremo (AS). In te slednje aplikacije so segale od tradicionalnih izvornih aplikacij – torej tistih, ki jih je mogoče namestiti in so specifične za vsak operacijski sistem (OS) – do inovativnih distribuiranih aplikacij, ki delujejo prek interneta na verigi blokov.

Software
Praktično istočasno kot so se rodili SS, ki so bili v bistvu sam operacijski sistem in so obsegali gonilnike naprav, sistemske pripomočke in vsa orodja, ki so se uporabljala za specifičen nadzor nad lastnostmi računalnika, torej vse programe, ki so omogočali upravljanje strojne opreme (HW), kot so: pomnilnik, diski, vrata, druge naprave in periferne naprave, sta se rodila tudi SP in SA.
Programski paketi (SP) so vključevali programske izdelke, ki jih programerji uporabljajo za razvoj drugih računalniških programov z uporabo različnih programskih jezikov in/ali podatkovnih baz. SP običajno vključujejo urejevalnike besedil, prevajalnike, interpreterje, povezovalnike in razhroščevalnike. Vključujejo tudi integrirana razvojna okolja (IDE), ki so programski paketi, ki združujejo vsa potrebna orodja, omenjena zgoraj, v eno samo okolje (običajno grafični uporabniški vmesnik ali GUI), da bi pokrili celoten življenjski cikel razvoja programa.
Kategorija SA zajema programsko opremo, ki jo (končni) uporabniki uporabljajo za opravljanje naloge. SA običajno vključuje pisarniške pakete, programsko opremo za grafično oblikovanje ali multimedijo, računovodsko ali administrativno programsko opremo, če naštejemo le majhen del vseh kategorij aplikacij, ki jih lahko najdemo v tej kategoriji. Zato je SA ali preprosto aplikacija približno
Vsak program, ki končnemu uporabniku omogoča izvajanje različnih nalog v računalniku, prenosniku, tablici, mobilnem telefonu ali drugih vrstah opreme ali tehnoloških platformah.

aplikacije
Aplikacije (Apps) so bile v zgodnjih dneh računalništva značilne po bistveni zahtevi po namestitvi za uporabo in le znotraj enega samega, specifičnega, izvornega operacijskega sistema. Vendar pa so se sčasoma in napredkom računalništva in tehnologije aplikacije razvijale in pridobivale funkcije, kot so prenosljivost, združljivost med platformami, modularnost in skalabilnost. Tako imamo danes veliko vrst aplikacij, od tradicionalnih izvornih aplikacij do inovativnih porazdeljenih aplikacij.
Začetek
Prve so bile ustvarjene izvorne aplikacije, tiste, ki so bile razvite posebej za določen operacijski sistem, običajno z uporabo kompleta za razvoj programske opreme (SDK) . Ključna značilnost teh aplikacij je njihova popolna integracija s funkcionalnostmi in lastnostmi naprave ali platforme, kar ima za posledico boljšo uporabniško izkušnjo. Zato so v izvornem okolju običajno videti in delujejo bolje ter delujejo bolj gladko in zanesljivo. Vendar pa imajo pogosto višje stroške razvoja, če je za vsako različico izvornega operacijskega sistema potrebna nova aplikacija.
Z napredkom tehnologije so se pojavile spletne aplikacije, znane tudi kot WebApps . To so aplikacije, ki se izvajajo vdelane v spletno stran ali spletno mesto prek internetnega brskalnika. Zato se lahko izvajajo v praktično katerem koli internetnem brskalniku in na kateri koli vrsti računalnika, naprave ali platforme. In praktično vse, kar je mogoče storiti v njihovi spletni obliki, je mogoče storiti tudi v njihovi namestitveni izvorni obliki aplikacije.
Hibridne aplikacije so nastale iz kombinacije prejšnjih dveh pristopov. To so aplikacije, razvite z uporabo jezikov, značilnih za spletne aplikacije, kar omogoča njihovo uporabo na različnih platformah , vendar z zmožnostjo izvornih aplikacij dostopa do velikega dela strojne opreme računalnika, naprave ali platforme, na kateri delujejo. Z drugimi besedami, v celoti izkoriščajo vsestranskost spletnega razvoja in prilagodljivost strojne opreme izvornih aplikacij.
prisoten
Danes se razvijajo progresivne spletne aplikacije (PWA). To so v bistvu spletne strani, ki uporabljajo storitvene delavce in druge tehnologije ter se obnašajo bolj kot izvorne aplikacije in manj kot spletne aplikacije. Medtem ko storitveni delavci in druge tehnologije delujejo v ozadju, se sama aplikacija izvaja v spletnem brskalniku.
Končno so se trenutne aplikacije preselile v format porazdeljenih aplikacij, znanih tudi kot decentralizirane aplikacije (DApps). To so decentralizirane aplikacije, ki uporabljajo platformo veriženja blokov , da uporabnikom omogočajo neposredno interakcijo in izvajanje transakcij (sporazumov) brez posredovanja centralne entitete, ki upravlja storitev. Posledično je v DApp vsak uporabnik vozlišče v decentraliziranem omrežju, kjer vsa vozlišča delujejo skupaj kot globalni notar vsake transakcije, opravljene na platformi.
Zaključek
Svet razvoja programske opreme, ki je potopljen v samo srce znanosti in tehnologije, se nenehno razvija in napreduje. In tako so se iz namestitvene programske opreme (izvornih aplikacij) pojavile številne druge oblike aplikacij (spletne, hibridne, progresivne, distribuirane).
Oblike, ki bodo zagotovo kmalu dale prostor novim in inovativnim oblikam aplikacij, na katere bo vplivala uporaba trenutnih in spreminjajočih se tehnologij , kot so veliki podatki, globoko učenje, umetna inteligenca in še vedno spreminjajoče se tehnologije, kot sta računalništvo v oblaku in veriženje blokov.