Gatsby vs Hugo, üksikasjalik võrdlus

Selles artiklis võrdlen kahte staatilist saidigeneraatorit, Gatsby ja Hugo. Arutlen raamistiku tundmise, stabiilsuse, turvalisuse, tööriistade loomise, kiiruse suurendamise, jõudluse ja mõlemat ümbritseva kogukonna üle. Alustame siis

Umbes aasta tagasi muutsin oma veebisaidi Wordpressist versiooniks Hugo, mis on Go sisse kirjutatud staatiline saitide generaator, mis kasutab mallide koostamiseks Go malliraamatukogusid. Olen hiljuti hinnanud Gatsby, teise staatilise saidigeneraatori, mis on kirjutatud ajakirjas React, mis kasutab mallide moodustamiseks Reaktit.

Selles artiklis võrdlen Hugo v0.42 ja Gatsby v1.93 erinevusi. Võrdluseks kasutasin seda Hugo ja seda Gatsby saiti. Nende koodide leiate Githubist Hugo saidi ja Gatsby saidi kohta.

Raamistiku tundmine

Kui te ei ole Reactiga tuttav ja te ei plaani Reacti õppima minna, peaksite tõenäoliselt valima Hugo. Kui teate ja teile meeldib Reakt, kas peaksite valima Gatsby? Noh, mitte tingimata.

Ma tahaksin väita, et kui soovite kasutada Gatsby, peate mõistma Reacti mõistvat suhtumist (vt Lugege nende ressursside abil reageerimist). Ja selleks, et Reaktiivist aru saada, on teil vaja JavaScripti mõistvat suhtumist (vt Jagage JavaScripti nende ressurssidega).

Ehkki olen Hugot kasutanud juba peaaegu aasta, polnud mul vaja Go-st aru saada. Pidin ainult natuke õppima ka Go malliraamatukogude kohta. Siiski leidsin, et pidin Hugoga sagedamini dokumentatsioonile viitama, kuna mul puudusid teadmised. Gatsby nõuab Reaktist sügavamat mõistmist, kui Hugo Go-st loodab. Sellegipoolest, kui raamide tundmine oleks ainsad kriteeriumid, valiksin ma Gatsby, kuna on tore, kui ma ei pea oma veebisaidile uute funktsioonide lisamisel dokumentidele viitama.

Stabiilsus

Üks viis stabiilsuse hindamiseks oleks võrrelda Hugo GitHubi ja Gatsby GitHubi küsimusi. Näete, et Gatsbyl on rohkem funktsioone (mis on põnev), kuid ka rohkem vigu (mis pole nii põnev). Algselt ei pidanud ma stabiilsust kriteeriumiks, kuni leidsin selle vea ja see pani mind mõistma tarkvara stabiilsuse olulisust. Võib-olla võtan seda isiklikult kulutatud aja ja vaeva tõttu proovides seda viga leida, kuid arvan siiski, et Hugo on stabiilsem kui Gatsby.

Turvalisus

Gatsby kasutab JavaScripti ja JavaScripti rakendused on kurikuulsad, kuna nende käitamiseks on vaja palju sõlme mooduleid. Seal on isegi moodul Node, mis saadab kuuma tasku säutsu, ja teine, mis kogub krediitkaardinumbreid: D. Staatilised saidid on oma olemuselt tavaliselt turvalisemad, kuid arvan siiski, et tasub mainida, et suuremad sõltuvused annavad rohkem koodi, mida te ei pruugi usaldada.

Tööriistad

Gatsbyl on JavaScripti tööriistaketi kõik eelised ja kõik JavaScripti väsimuse puudused. Lisaks on Gatsbys tõesti kena pluginate kogu. Eelkõige lubas võrguühenduseta gatsby-plugin mul oma veebisaidile hõlpsasti võrguühenduseta võimalusi lisada, mida ma Hugo puhul siiani välja pole mõelnud.

Teisest küljest tulevad mõned asjad, mis vajavad Gatsby jaoks pistikprogrammi, lihtsalt Hugo abil karbist välja. Peasildi muutmiseks on vaja näiteks kiirsilti gatsby-plugin-react-kiiver, samas kui seda saab Hugos teha lihtsa HTML-iga. Kuna mulle meeldis kasutada Gatsbyga kaasas olnud tööriistu, siis kingin selle Gatsbyle.

Ehitage kiirus

Hugo suudab minu veebisaidi ehitada vähem kui 100 ms jooksul ilma täiendavate tööriistadeta. Gatsby suudab minu veebisaidi ehitada umbes 15 sekundiga, kuid see sisaldab palju täiendavaid tööriistu. PostCSS-i ja Imagemini lisamine Hugo-versioonile kärbib ehituse aega kuni umbes 5 sekundini. Ka Hugo abil oli arenduse ajal muutuste jälgimine kiirem. Ma arvan, et Hugo on siin võitja.

Dokumentatsioon

Nii Gatsby kui ka Hugo dokumendid on tõeliselt toredad. Hugol on kiirkäivitus ja Gatsbial on jaotis Alustamine. Gatsbyl on ka tõeliselt tore juhendaja, mis tasandab järsema õppimiskõvera. Isiklikult oli mul Gatsbyga alustamine lihtsam, kuid see on tingitud asjaolust, et sain Reaktist juba aru. Ma arvan, et on õiglane öelda, et nii Hugol kui ka Gatsbyl on suurepärane dokumentatsioon.

Etendus

Tuletorni kasutades oli minu saidi Hugo tulemusteskoor 100 ja Gatsby saidil 95. Esimene sisuline värv 3G-ühenduse jaoks oli Hugo saidi jaoks umbes 1 sekund ja Gatsby saidi jaoks 1,5 sekundit. Veebilehe kasutamine Test 2G-ühenduse laadimisaeg oli Hugol 8,7 sekundit ja Gatsbyl 11,7 sekundit.

Tehes lihtsa käsitsi testi, et näha, milline sait kõigepealt laaditakse, oli Gatsby märgatavalt kiirem, nii et ma ei saa tegelikult aru, mida majakas või veebilehe test mõõtis. Lisaks, kuna Gatsby on üheleheline rakendus, ei vaja veebisaidil navigeerimine serveri taotlust. Lehed muudetakse lihtsalt JavaScriptiga. Igatahes võin kindlalt öelda, et nii Hugo kui ka Gatsby on kiired. Mul oleks huvitav kuulda teie mõtteid allpool toodud kommentaarides.

Kogukond

Gatsby kogub kiiresti populaarsust, millega kaasneb edukas kogukond. See ei tähenda, et Hugo kogukond oleks igav. Kui GitHubi staaride vahel on midagi vaadata, on Hugol rohkem kui 27 tuhat ja Gatsbyl rohkem kui 23 tuhat. Twitteris näib Gatsby aktiivsem kui Hugo.

Lõplikud mõtted

Millise neist peaksite valima? Gatsby kasutab Reaktorit, millega olen rohkem tuttav, sellel on paremad tööriistad ja sel on jõudsalt arenev kogukond. Teisest küljest on Hugo stabiilsem ja kulutab vähem aega hoonele. Suuremate veebisaitide jaoks muutub ehitamiskiirus olulisemaks ja mõni teist ei pruugi Reacti eest üldse hoolida. Minu puhul oli stabiilsus kõige olulisem kriteerium, mistõttu otsustasin jääda Hugo juurde. Mul on väga hea meel näha, mida tulevik selles ruumis toob.

Enne minekut ... Täname, et lugesite artiklit! Kui teile see meeldis, ärge unustage, et ilmutate oma nuppu, klõpsates allpool asuvat !

Kirjutan oma erialastest ja hariduslikest kogemustest iseõppinud tarkvaraarendajana, nii et kui see teid huvitab, klõpsake nuppu Järgi. Lisateabe saamiseks võite vaadata ka minu ajaveebi või tellida minu uudiskirja.

Teile võiksid meeldida ka:

  • Kuidas värskendusi oma isiklikule veebisaidile avaldan
  • Õppematerjal - tarkvaraarendus (õppematerjalide loetelu, alustades sissejuhatusest informaatikasse)
  • Kuidas kirjutada CV tarkvaraarendajana (CV kaasas)