Veebibrauser on programm, mille kaudu Interneti-lehti vaadatakse. Kõigi populaarsete brauserite üldine arhitektuur on sarnane: see koosneb mitmest üksteisest sõltumatust komponendist, mis seejärel ühendatakse spetsiaalsete liideste kaudu.
Juhised
Samm 1
Kõigepealt tulevad võrguseaded: JavaScript, XML-i parser ja Display Backend (sündmuste haldamine ekraanil). Need on 4 sõltumatut moodulit, mis töötavad graafikamootori raames. Järgmisena programmeeritakse kõrgetasemeline mootor, mis on sarnaselt kasutajaliidesele võimeline teatud andmeid salvestama. On ka lisakomponente (pistikprogrammid, multimeedia, postimoodul, abi, arendaja tööriistad jne), kuid need ei mõjuta brauseri struktuuri nii palju.
2. samm
Iga arhitektuuri komponent on teatud tasemel ja saab suhelda ainult lähima elemendiga. Seetõttu nimetatakse brauseri arhitektuuri kihiliseks.
3. samm
Kasutajaliides on mingi puhver, mis eksisteerib mootori ja kasutaja vahel. See on see, kes võtab kasutajalt vastu kõik soovid, annab talle kõik võimalused ja töötleb kõik tema toimingud. Liides aitab pakkuda standardset funktsioonide komplekti. Kõrgetasemeline mootor vastutab lehe töötlemise eest, see tähendab kogu graafilise osa kuvamise eest. Samuti alustab ta lehe laadimist, värskendab neid, hüppab edasi või edasi, töötab järjehoidjate, ajaloo ja graafikat mõjutavate sätetega.
4. samm
Sama graafikamootor on iga brauseri põhiosa. See renderdab ressursi sisu ning sõelub HTML-i ja XML-i, võttes arvesse CSS-i ja JS-i, aga ka muude objektide (piltide, välgu) mõju. Kõigi mootori kogutud andmete põhjal genereeritakse paigutus, mida kasutaja näeb ekraanil.
5. samm
Komponentide võrk, JS, XML parser on programmi spetsiaalsed osad, mis töötavad vastavate parameetritega. Kuva taustaprogramm on seotud operatsioonisüsteemiga ja pakub kõige primitiivsema graafika (kerimisribad, vormid, akna kaunistamine jne) väljundit, mis sõltub operatsioonisüsteemist.
6. samm
Tänu komponendisüsteemile saab brauser hõlpsasti kujundust muuta, programmivigade lokaliseerimine on lihtsam, iga komponenti täiustatakse eraldi ja see ei mõjuta programmi tervikuna, iga komponenti saab kasutada eraldi.