Aabits tarkvaraarenduse tellijale: mida need sõnad tähendavad, millest arendaja räägib?

Django, HTML5, Rails, Javascript – kui tarkvaraarendajalt küsida arenduse vahendite ja platvormide kohta, siis kostub palju tavainimeste jaoks uusi ja tundmatuid sõnu, millest mõned varem midagi kuulnud pole. Muidugi on ka kogenud tellijaid, kes kõigis neis mõistetes hästi orienteeruvad, aga mida teha siis, kui ettevõte on tellimas alles oma esimest tõsisemat arendust ja firma tegevusala on IT-st erinev? 

Singletoni sissejuhatav aabits seletab lahti mõned olulisemad põhimõisted, millest on hea alustada, et arenduse käekäigust paremini aru saada.

A

Agiilne arendus 

Lähenemisviis tarkvaraarenduses, millega planeeritakse tegevusi väga paindlikult ja pidevalt toodet täiustades. Põhiliseks eesmärgiks on tarkvara kiire turuletoomine ja selle kujundamine lähtudes klientide tegelikest vajadustest.

Alfatestimine
Testimine arendaja enda juures (vt ka beetatestimine – testimine koos kliendiga).

Algoritm
Algoritm on etteantud ülesannete täitmiseks vajalike sammude hulk. Programmeerimises on algoritmidel ülesannete lahendamiseks kanda võtmeosa. Algoritmi loomisel dokumenteerivad arendajad kõik vajalikud sammud, mida läheb vaja lahenduseni jõudmiseks.

API
Application Program Interface ehk API on liides, mille kaudu arvutid ja erinevad rakendused omavahel suhtlevad.

B

Back-end
Tegemist on nii-öelda telgitaguste digilahendustega, mis tagavad saidi kasutajaliidese ehk front-endi töö. Siia alla kuuluvad algoritmide kood, saidi stiilid, andmebaasimootorid ja pistikprogrammid. Kui front-endi näevad kõik kasutajad ja see on avalik just nagu lava ja etendus teatris, siis back-end on kõik vajalikud taustajõud lava taga, et etendus saaks laval toimuda: lavatöötajaid, meigikunstnikud, kostüümid, tehniline meeskond jne.

Beetatestimine
Testimine koos kliendiga või ka väljastpoolt võetud võimalike lõppkasutajatega (vt ka alfatestimine – testimine arendaja juures).

Bootstrap

Bootstrap on tasuta avatud lähtekoodiga kasutajaliidese ehk front-endi raamistik veebisaitide ja veebirakenduste kujundamiseks, mida kasutatakse tänapäeva veebides väga tihti. Bootstrap sisaldab HTML- ja CSS-põhiseid kujundusmalle veebivormide, nuppude, tabelite, navigeerimise, moodulite ja muu jaoks ning vajalikke JavaScripti pistikprogramme.

C

CMS

Content Management System (CMS) ehk sisuhaldussüsteem on veebisaidi haldamiseks loodud lahendus, mille abil saavad kasutajad lihtsalt sisu hallata, lisada ja muuta, ilma et peaksid teadma programmeerimise ja veebi koodi kohta põhjalikumalt. Tuntumad sisuhaldussüsteemid ehk CMS-id on näiteks WordPress, Drupal, Joomla jt.

CSS

Cascading Style Sheets ehk CSS on veebilehe stiili ja kujundust kirjeldav keel, mida kasutatakse HTML-iga loodud veebilehe sisu disainimiseks. CSS-is määratakse kodulehe elementide stiil, nagu näiteks teksti suurus ja värv, paragrahvide ja tabelite äärised, linkide värvid jne.

D

Django

Django on kõrgetasemeline Pythoni programmeerimiskeelel loodud raamistik, mida kasutatakse veebide loomisel ja mis soodustab kiirete ja puhta disainiga veebilehtede loomist. Kogenud arendajad kasutavad seda veebiarenduses, et saaks keskenduda rakenduste kirjutamisele, ilma et peaks levinud ja kõigis saitides korduvaid koodijuppe nagu jalgratast uuesti leiutama. See on tasuta ja avatud lähtekoodiga lahendus, mida saab kasutada igal pool.

Domeen

Domeen kodulehe üldine aadress, avalehe aadress veebis tavaliselt kujul firmanimi.ee. Kui koduleht on nagu ettevõtte „maja“ veebis, siis domeeninimi on lihtsustatult selle „maja“ aadress.

Front-end

Front-end on see, mida kasutaja näeb ja millega suhtleb veebis ehk nähtav kasutajaliides.

Full-stack

Tavaliselt leiab selle mõiste kodulehte tegema hakkavate arendajate CV-dest. See tähendab, et nad oskavad teha nii veebi back-endi ehk taustaprogramme kui ka front-endi ehk kasutajaliidest, seega on tegemist universaalsete spetsialistidega. Lisaks teavad nad ka andmebaaside kohta ja kuidas neid siduda nii taustaprogrammide kui kasutajaliidesega.

G

Git

Tarkvaraarenduses on Git lühidalt versioonikontrolli süsteem, millega arendajad saavad oma koodi salvestada ja hallata. Arendajatel tuleb töö käigus rakenduse koodi pidevalt muuta, Git aitab neid muudatusi jälgida ja vajadusel tagasi pöörata, kui uues versioonis ei tööta midagi nii hästi, nagu taheti. Samuti aitab Git teha koostööd teiste tiimidega ja hallata mitut projekti korraga.

GUI

Graphical User Interface ehk GUI on graafiline kasutajaliides, millega kasutajad saavad rakendusega suhelda mugavalt kujundatud kasutajaliidese abil, mis koosneb erinevatest disainielementidest, näiteks ikoonid, nupud, märgised jne. Tänapäeval on enamikel rakendustel graafiline kasutajaliides, tekstiaknas suhtlemine käib vaid mõnede operatsioonisüsteemide käsurealt (näiteks Linuxis).

H

HTML

HTML ehk Hypertext Markup Language kuulub veebimaailma algteadmiste hulka, milleta kodulehe tegemine on peaaegu võimatu. Kui CSS-iga kujundatakse veebilehe väljanägemist, siis HTML-iga määratakse veebilehe üldine struktuur ning sisu.

J

Java

See on Sun Microsystemsi poolt loodud programmeerimiskeel, mille parimaks omaduseks on võimalus kasutada seda väga erinevatel platvormidel. Java kood tõlgitakse igal platvormil vastavasse masinale arusaadavasse keelde. Seega piisab üks kord koodi kirjutamisest ja seda saab kasutada väga erinevates süsteemides.

Javascript

JavaScript on programmeerimiskeel, mis esialgselt kujunes välja veebilehe kasutajaliidese programmaatiliseks muutmiseks brauseris. Tekstipõhine programmeerimiskeel aitab näiteks muuta veebilehti interaktiivseks, kus midagi lehel tehes muutub selle välimus või edastatakse kasutaja sisestatud andmeid, ilma et peaks uuele lehele minema. Tänapäevased lahendused võimaldavad seda kasutada ka rakenduse back-endis (vt. Node.js).

jQuery

Just rääkisime JavaScriptist, jQuery on sellega aga väga lähedalt seotud. jQuery lihtsustab JavaScripti kasutamist veebisaitidel, koondades palju korduvaid JavaScripti koodijuppe üheks. Selle asemel, et lisada veebilehe koodi ikka ja jälle korduvaid tüüpilisi koodiridasid, saab arendaja lihtsalt võtta jQuery teegist vajaliku ja vaid viidata sellele.

M

Masinõpe

Masinõppeks nimetatakse selliseid algoritme ja koode, mis rakenduse töö jooksul kogemuste ja andmete põhjal end pidevalt automaatselt täiendavad. Masinõpet peetakse tehisintellekti osaks.

Mobile-first

Mobile-first on veebidisaini ja veebiarenduse selline lähenemine, mis seab esikohale mobiilse vaate. Selle asemel, et luua veebisaiti lauaarvuti brauseri jaoks ning siis mobiilse seadme jaoks kohendada, tehakse arendus vastupidi – esmalt väikese ekraani jaoks. See on ka õigustatud, sest enamuse veebisaitide liikluses on üle poole kasutajatest tulnud lehele mõne mobiilse seadmega.

N

Node.js

Node.js on avatud lähtekoodiga platvormide-ülene keskkond, mis on loodud JavaScriptis kiirete serveripoolsete veebirakenduste arendamiseks. Node.js töötab operatsioonisüsteemides OS X, MS Windows, Linux jm.

O

open source

Avatud lähtekood ehk open source kood on programm, mille lähtekood on kasutajatele või teistele arendajatele kasutamiseks ja muutmiseks vabalt kättesaadavaks tehtud.

P

patch

Tegemist on kiire paigaga (patch) programmile, mis seotud mõne esile kerkinud probleemi kiire parandustööga. Sageli on patchid allalaadimiseks saadaval tarkvaratootja kasutajatoe kaudu ja neid antakse välja ka värskelt avastatud turvaaukude kiireks parandamiseks.

PHP

PHP ehk Hypertext Preprocessor on kasutaja eest peidetud serveripoolne programmeerimiskeel, mille ülesandeks on genereerida muutuva sisuga veebilehti. PHP on ühilduv pea kõigi serveritega ja töötab enamikel veebiplatvormidel. PHP koodi väljundiks on lihtne HTML, mida veebibrauserid oskavad lugeda ja selle põhjal kodulehe kasutajale valmis “joonistada”.

Plugin

Plugin ehk pistikprogramm on rakenduse laiendus, mis lisab olemasolevale tarkvarale mõne lisafunktsiooni. Näiteks brauseril on pistikprogrammid või WordPressil lisandmoodulid. See lihtne viis uute funktsioonide lisamiseks näiteks kolmanda osapoole arendajate poolt, ilma et programmi ennast peaks muutma.

R

React

React.js on avatud lähtekoodiga JavaScripti teek, mida haldab Meta (endine Facebook) koos mõnede sõltumatute arendajatega, mis võimaldab luua interaktiivseid kasutajaliideseid. React on arendajate seas üks lemmiktehnoloogiatest, kuna lubab väga kiirelt arendada. React Native on aga Reacti uuem põlvkond, mis lubab arendajatel sama koodi veebis ja mobiilirakenduse uuesti kasutada. Arendajad saavad React Native´iga nüüd kasutada sama koodi iOS-i ja Androidi rakenduste jaoks.

Responsive Design

Responsive disain tagab, et veebisaiti kuvatakse õigesti olenemata sellest, millises seadmes kasutaja seda vaatab. Responsiivsed veebisaidid on üles ehitatud nii, et need kohanduvad erinevate ekraanisuurustega, nii et kasutaja saab sama kasutusmugavuse sõltumata sellest, kas ta vaatab veebi lauaarvutis, mobiilis või tahvelarvutis.

Ruby

Ruby on järjekordne programmeerimiskeel, mis keskendub lihtsusele ja paremale tootlikkusele. Üks levinumaid Ruby programmeerimiskeelel põhinevaid raamistikke on Ruby on Rails, mis pakub vajalikke tööriistu kiireks veebirakenduste arendamiseks.

S

SSL

SSL ehk Secure Sockets Layer on standardne turvaprotokoll, mis tagab, et kõik veebiserveri ja brauseri vahel edastatavad andmed jäävad krüpteerituks ja on kõrvaltvaataja jaoks loetamatud. Veebiaadressi järgi saab aru, kas veebisaidil on SSL-sertifikaat, kui veebiaadress ehk URL algab tähtedega https. Tänapäeval peaksid kõik veebisaidid olema SSLiga turvatud.

T

Tooltip

Arvutikasutajad on harjunud erinevate ikoonidega, mis tähistavad faile, kaustu, programme ja muid arvutis olevaid asju. Kuigi mõned ikoonid on arusaadavad (näiteks printeri ikoon printimiseks), on paljud siiski ebaselged ning vaja on vihjeid, mis selgitavad, mida iga ikoon tähendab. Tooltip ongi tekstivihje, mida kuvatakse, kui liigutada kursor üle ikooni.

U

UI

Kasutajaliides ehk User interface (UI) on ekraanid, nupud, ikoonid ja muud nähtavad (või ka kuuldavad) elemendid, mida kasutatakse rakendusega suhtlemiseks. Kasutajaliidese kujundaja muudab UI abil rakenduse välimuse atraktiivseks ja lihtsalt kasutatavaks.

UX

Kasutajaliidese ehk UI-ga on tihedalt seotud User experience design ehk UX disain, mis keskendub veebirakenduste kasutatavuse ja lihtsuse parandamisele kasutaja seisukohast. UX-disainer muudab lühidalt öeldes rakenduse kasutamise lihtsamaks.

V

Vue.js

Vue.js on järjekordne avatud lähtekoodiga JavaScripti raamistik, mis keskendub kasutajaliideste ja n-ö ühel lehel töötavate (single page) rakenduste loomisele. Single page rakendus on justkui üks leht, millel sisu dünaamiliselt JavaScripti abil uuendatakse.

W

Web app

Oluline on teha vahet mobiilirakendustel ja veebirakendustel, kuna need on üles ehitatud erinevalt. Mobiilirakendused on loodud kindlale platvormile (näiteks iOS´ile) ning installitakse ja käivitatakse seadmes endas. Seevastu veebirakendustele ehk Web app´idele pääseb ligi veebibrauseriga ja need kohanduvad mis tahes seadmega, millega neid kasutatakse. Web appe pole vaja installida ega alla laadida.

X

XML

XML (Extensible Markup Language) on märgistuskeel dokumentide kodeerimiseks ning andmete edastamiseks ja salvestamiseks ühtses kindlas vormis. XML määrab ära reeglite komplekti, kuidas dokumendi erinevaid andmeid lugeda nii inimloetavas kui samal ajal ka masinloetavas vormis. XML on küll pealtnäha sarnane tavalise HTML-iga, kuid erineb sellest, kuna lubab dokumente kuvada paljudes lisavormingutes, mis on näiteks lihtsalt selle dokumenditüübi jaoks kokku lepitud ja mida pole HTML-i reeglistikes kirjas.

Mis on DigiPRO ja kes seda teevad? Loe siit

Populaarsed lood mujal Geeniuses

Kolm korda nädalas

Telli DigiPRO uudiskiri

Kolm korda nädalas (esmaspäeviti, kolmapäeviti ja reedeti) spetsiaalne DigiPRO liikmetele tehtud kommenteeritud uudiskiri, et sa midagi olulist maha ei magaks. Iga uudiskirja magnet on meie ajakirjanike kirjutatud pikem artikkel, mis meie arvates võiks selles valdkonnas töötavaid inimesi huvitada ja neile vajalik olla