Staatiliste veebilehtede maailm

02.01.2019

Keerukate raamistike ja sisuhaldussüsteemide kõrval kogub populaarsust uus suund. Üha rohkem inimesi eelistab dünaamilisele veebilehele täiesti staatilist, olgu tegu lihtsa kodulehe, ajaveebi või portfoolioga.

Staatiliste veebilehtede maailm

Staatiliste veebilehtede maailm

Keerukate raamistike ja sisuhaldussüsteemide kõrval kogub populaarsust uus suund. Üha rohkem inimesi eelistab dünaamilisele veebilehele täiesti staatilist, olgu tegu lihtsa kodulehe, ajaveebi või portfoolioga.

Mis on staatiline veebileht?

Staatiline veebileht viib meid tagasi vanadesse headesse aegadesse, mil inimesed panid oma lihtsa kodulehe kokku FrontPage'i või Dreamweaveriga. Kui oli vaja uut uudist, tehti olemasolevast koopia, asendati sisu, uuendati uudiste loendit ja laaditi uus leht FTP kaudu üles. Töövoog oli selge ja lihtne, sellega sai hakkama peaaegu igaüks ning programmeerimisoskusi polnud vaja. Leht oli kiire ja turvaline ega sõltunud andmebaasist ega serveris töötavast PHP-st.

Sisult kehtib sama ka tänapäevase staatilise veebilehe kohta. Ainus vahe on see, et mallid ja andmefailid on lehe uuendamiseks vajalikku käsitööd tunduvalt vähendanud.

Kellele staatiline veebileht sobib?

Staatilist veebilehte tasub kaaluda siis, kui soovite suhteliselt lihtsat kodulehte või ajaveebi, mis ei vaja keerukat otsingut, dünaamilist sisu ega vorme, kuid peab olema kiire ja turvaline. Kuigi enamikul staatiliste lehtede raamistikel on ka lihtne veebipõhine redaktor (sarnaselt WordPressile), nõuavad staatilised lehed tegelikult veidi rohkem tehnilisi teadmisi – nii lehe seadistamisel kui ka sisu uuendamisel. Olenevalt generaatorist peab sisuhaldaja tundma Ruby, Pythoni, Node.js-i või mõne muu tehnoloogia põhitõdesid ning oskama kasutada käsurida, et lehte genereerida ja pluginaid hallata.

Staatiliste veebilehtede maailm

Staatiliste veebilehtede maailm

Peamised põhjused staatilise lehe kasuks on kiirus ja turvalisus, nagu eespool mainitud. Dünaamilised lehed võtavad andmed andmebaasist ja koostavad külastajale kuvatavad lehed jooksvalt. See võtab aega ja võib äkilise liiklustõusu korral süsteemi üle koormata. Kui leht kasutab tavalist sisuhaldussüsteemi, võid olla kindel, et see on pahatahtlike häkkerite sihtmärk, kes üritavad turvaauke ära kasutada.

Staatilise lehe puhul peab server serveerima vaid staatilisi HTML-faile, seega pole andmebaasi, mida kustutada, ega vorme, mille kaudu pahatahtlikku koodi saata. Staatiline leht ei sõltu pakettidest, teekidest ja pluginatest, mida tuleb pidevalt uuendada ja mis ei pruugi omavahel ega veebiserveriga ühilduda. Serveri piiranguid on staatilisel lehel palju keerulisem ületada, sest see ei ühendu andmebaasidega.

Staatiliste lehtede teine eelis on versioonihalduse ja koostöö lihtsus. Enamikul tavalistest sisuhaldussüsteemidest on kogu lehe konfiguratsioon ja sisu andmebaasis ning selle versioneerimine on keeruline ülesanne. Kuigi regulaarseid varukoopiaid saab teha, ei võrdu see sellega, et kogu konfiguratsioon ja sisu, sealhulgas uudised, blogipostitused ja muu selline, on Gitis. Pole vaja kalleid ja ometi mitte veatuid vahendeid, et arenduskeskkonna andmebaasi live-keskkonda üle kanda.

Millised on piirangud?

Suurim argument staatilise veebilehe vastu on see, et ta on staatiline. Reaalajas andmeid sellel olla ei saa. Seega ei sobi staatiline leht broneerimissüsteemiks, e-poeks, külastajate käitumisel põhinevate trendide kuvamiseks, keerukaks soovitussüsteemiks jms.

Külastajad ei saa staatilisele lehele ise midagi lisada: keeruliseks võivad osutuda nii kommentaarid kui ka sisselogitud kasutajate alad või isegi lihtne kontaktivorm.

Nagu eespool öeldud, nõuab staatilise veebilehe haldamine mõnevõrra rohkem tehnilisi oskusi ja teadmisi. Paljud generaatorid loevad andmeid Markdown-failidest (tekstisisu) või JSON-objektidest (seadistus, struktuur, korduvate elementide andmed). Alguses võib see hirmutada, kuid liiga keeruline see pole.

Arenduskeskkonna seadistamine ei pruugi olla kõige mugavam protsess, kuid see on ühekordne töö. Lehe genereerimine on tavaliselt palju lihtsam.

Kuidas staatilist veebilehte luua?

Staatiliste veebilehtede genereerimiseks on üle 50 tööriista. Kunagi oli moes luua oma CSS-i grid-raamistik, tänapäeval tundub, et igaüks peab tegema oma staatiliste lehtede generaatori. Generaatorit valides tasub arvestada mitme teguriga:

Staatiliste lehtede generaatorid

Enamik generaatoreid kasutab paigaldamiseks, kohalikuks käivitamiseks ja lehe genereerimiseks Node.js-i, Rubyt või Pythonit. Mõni üksik tugineb Google'i Go-le, Elixirile, Reactile või Erlangile. Iga generaatori saab küll seadistada nii Windowsis, Linuxis kui ka Macis, kuid mõni tööriist on optimeeritud kindlale operatsioonisüsteemile ja sageli jääb ametliku toeta just Windows.

Generaatori põhiotstarve

Mõni staatiliste lehtede generaator keskendub kitsale nišile. Näiteks DocPad ja Slate on mõeldud dokumentatsiooni loomiseks, Expose ja Sigal fotogaleriide jaoks. Mõni generaator esitleb end ajaveebi tööriistana, kuid nagu WordPressi, saab ka neid „kuritarvitada“ keerukate veebilehtede loomiseks.

Dokumentatsiooni kvaliteet ja kogukonna tugi

Generaatori kohandamine konkreetsetele nõuetele võib olla keeruline ja nõuda loovat mõtlemist. Tehnilisi lahendusi otsides on abiks põhjalik dokumentatsioon koos koodinäidetega. Kesisemat dokumentatsiooni saab mingil määral korvata tugev kogukond. Kui on olemas foorum, Slacki kanal või kasutajad, kes vastavad küsimustele Stack Overflow's, on suur tõenäosus, et te oma küsimustega üksi ei jää.

Laiendatavus

Kui plaanite kasutada staatiliste lehtede generaatorit millegi keerukama jaoks, võite jõuda olukorda, kus olemasolevad tööriistad vajalikku tulemust ei anna. Siis on hea teada, kas leidub kolmanda osapoole pluginaid või kui keeruline oleks ise plugin luua. Mõni generaator toetab isegi teisele generaatorile mõeldud pluginaid, kas muudatustega või ilma.

Valik staatiliste lehtede generaatoreid

Staatiliste veebilehtede maailm

Jekyll

Jekyll on üks esimesi ja praegu kindlasti kõige populaarsem staatilise lehe generaator. Selle on Rubys ehitanud GitHub ise. Jekyll on suunatud blogijatele ja väiksematele ettevõtetele. Üks suurimaid Jekyllit kasutavaid projekte on ilmselt GitHubi ametlikud õppematerjalid. Selle suurim pluss on lai pluginate valik ja tugev kogukond. Tänu sellele sobib see igat tüüpi projektidega.

Jekyllil on ka palju kõrvaltööriistu, näiteks Jekyll Admin ja Jekyll now, mis muudavad seadistamise ja haldamise algajale lihtsamaks. Nagu paljud teisedki generaatorid, kasutab Jekyll tekstisisu hoidmiseks Markdown-faile. Jekyll tähistab peagi oma 10. sünnipäeva. Üks Jekylli suurimaid puudusi on võimalikud probleemid Windowsis. Windows 10-s on Jekyllit võimalik seadistada, kuid vanematel versioonidel võib see olla keeruline. Samuti tasub märkida, et Jekylli mitmekeelseks tegemine nõuab teiste generaatoritega võrreldes veidi rohkem malle ja seadistamist.

Hugo

Hugo on staatiliste lehtede maailmas olnud poole lühemat aega kui Jekyll, kuid on teinud suure hüppe ja jõudnud teisele kohale populaarsuselt. See on ehitatud Google’i programmeerimiskeeles Go ning nagu Jekyllilgi on sellel tohutult pluginaid, malle ja koodilõike ning suur valik valmisteemasid, mida saab alla laadida ja kasutada sellisel kujul või oma teema lähtepunktina.

Smashing Magazine valis pärast WordPressist loobumist oma staatiliste lehtede generaatoriks Hugo. Nagu Jekyll, kasutab ka Hugo tekstisisu jaoks Markdowni. Erinevalt Jekyllist toetab Hugo ametlikult ka Windowsit.

Hexo

Hexo on Hugoga ühevanune: mõlemad on turul olnud alates 2013. aastast. Kui Jekyll kasutab Rubyt ja Hugo Go-d, siis Hexo on Node.js-iga loodud ehitustööriist. Hexo on mõeldud eelkõige ajaveebidele, kuid paindlike mallide ja seadistusvõimaluste tõttu sobib see igasugusteks projektideks.

Hexo suurim nõrkus on mitte just kõige põhjalikum dokumentatsioon ning Hugo ja Jekylliga võrreldes palju vähem aktiivne kogukond. Lihtsus ja töökindlus kõigis operatsioonisüsteemides teevad sellest aga tugeva konkurendi ning praegu kolmanda populaarseima staatiliste lehtede generaatori.

Võta ühendust

Me soovime katta kõik teie veebiarenduse vajadused, et saaksite keskenduda oma ettevõtte ehitamisele ja kasvatamisele.

Margus Eha

Margus Eha

Tegevjuht, äriarendus