Gatsby vs Hugo, detalizēts salīdzinājums

Šajā rakstā es salīdzinu divus statisko vietņu ģeneratorus - Gatsby un Hugo. Es diskutēju par vispārzināmo sistēmu, stabilitāti, drošību, instrumentiem, ātruma palielināšanu, veiktspēju un abām apkārtnes kopienām. Tāpēc sāksim!

Apmēram pirms gada es nomainīju savu vietni no Wordpress uz Hugo, kas ir statisks vietņu ģenerators, kas rakstīts Go, un kas izmanto Go veidņu bibliotēkas veidņu veidošanai. Nesen esmu veicis Gatsby, vēl viena statiskas vietnes ģeneratora, kas uzrakstīts React, dzīvotspējas novērtējumu, kas veidnei izmanto React.

Šajā rakstā es salīdzinu atšķirības starp Hugo v0.42 un Gatsby v1.93. Salīdzinājumam es izmantoju šo Hugo vietni un šo Gatsby vietni. Katra kods ir atrodams vietnē Github vietnei Hugo un vietnei Gatsby.

Ietvarstruktūra

Ja jūs neesat pazīstams ar React un jūs neplānojat mācīties reaģēt, iespējams, jums vajadzētu izvēlēties Hugo. Ja jūs zināt un patīk React, vai jums vajadzētu izvēlēties Gatsby? Nu, ne obligāti.

Es apgalvotu, ka, ja vēlaties izmantot Gatsby, jums ir nepieciešama pienācīga izpratne par React (skatiet Uzziniet, kā reaģēt ar šiem resursiem). Un, lai saprastu reaģēt, jums ir nepieciešama pareiza JavaScript izpratne (skatiet sadaļu Uzziniet JavaScript ar šiem resursiem).

Lai arī Hugo esmu izmantojis gandrīz gadu, man nebija nepieciešams saprast Go. Man arī tikai mazliet bija jāiemācās par Go veidņu bibliotēkām. Tomēr es atklāju, ka man bija biežāk jāatsaucas uz dokumentāciju ar Hugo, jo man trūkst zināšanu. Gatsbijs prasa dziļāku izpratni par Reaktīvu, nekā Hugo sagaida no Go. Neskatoties uz to, ja vienīgie kritēriji būtu vispārzināmība, es izvēlētos Gatsbiju, jo ir patīkami, ja, pievienojot manai vietnei jaunas funkcijas, nav jāatsaucas uz dokumentāciju.

Stabilitāte

Viens no stabilitātes novērtēšanas veidiem būtu salīdzināt Hugo problēmas vietnē GitHub ar Gatsby jautājumiem vietnē GitHub. Jūs redzēsit, ka Gatsby ir vairāk funkciju (kas ir aizraujoši), bet tajā ir arī vairāk kļūdu (kas nav tik aizraujoši). Sākotnēji neuztvēru stabilitāti kā kritēriju, līdz atradu šo kļūdu, un tas man lika saprast stabilitātes nozīmi programmatūrā. Iespējams, ka tērēju šo personīgi tērētā laika un pūļu dēļ, mēģinot atrast šo kļūdu, bet es joprojām uzskatu, ka Hugo ir stabilāks nekā Gatsbijs.

Drošība

Gatsbijs izmanto JavaScript, un JavaScript lietojumprogrammas ir bēdīgi slavenas, jo tām ir nepieciešams daudz mezglu moduļu palaišanai. Ir pat Node modulis, kas sūta Hot Pocket tweets, un vēl viens, kas novāc kredītkaršu numurus: D. Statiskās vietnes pēc būtības parasti ir drošākas, taču es joprojām uzskatu, ka ir vērts pieminēt, ka lielākas atkarības rada vairāk koda, kam jūs, iespējams, neuzticaties.

Instrumenti

Gatsbijam ir visas JavaScript rīku ķēdes priekšrocības un visi JavaScript noguruma trūkumi. Papildus tam Gatsby ir patiešām jauka spraudņu bibliotēka. Proti, bezsaistes spraudnis gatsby-plugin ļāva man savai vietnei viegli pievienot bezsaistes iespējas, kuras es joprojām neesmu izdomājis kopā ar Hugo.

No otras puses, dažas lietas, kurām nepieciešams spraudnis ar Gatsby, vienkārši iznāk kopā ar Hugo. Piemēram, galvas tagu rediģēšanai ir nepieciešama ķivere gatsby-plugin-react-ķivere, turpretī to Hugo var izdarīt ar vienkāršu HTML. Tā kā man patika izmantot instrumentus, kas tika piegādāti kopā ar Gatsby, es to atdodu Gatsby.

Veidojiet ātrumu

Hugo var izveidot manu vietni bez papildu rīkiem mazāk kā 100 ms. Gatsbijs var izveidot manu vietni apmēram 15 sekundēs, taču tas ietver daudz papildu rīku. Pievienojot PostCSS un Imagemin Hugo būvē, izveidošanas laiks tiek samazināts līdz aptuveni 5 sekundēm. Izmantojot Hugo, arī attīstības laikā bija vērojama pārmaiņas. Es domāju, ka šeit uzvar Hugo.

Dokumentācija

Gan Gatsbijam, gan Hugo ir patiešām jauka dokumentācija. Hugo ir ātrā sākšana, un Gatsby ir sadaļa Darba sākšana. Gatsbijā ir arī patiešām jauka apmācība, kas izlīdzina stāvāko mācīšanās līkni. Personīgi man bija vieglāk uzsākt darbu ar Gatsbiju, bet tas ir tāpēc, ka es jau sapratu React. Es domāju, ka ir taisnīgi teikt, ka gan Hugo, gan Gatsby ir lieliska dokumentācija.

Performance

Izmantojot bāku, veiktspējas rādītājs bija 100 manai vietnei Hugo un 95 vietnei Gatsbijā. Pirmā saturīgā krāsa 3G savienojumam bija apmēram 1 sekunde vietnei Hugo un 1,5 sekundes vietnei Gatsby. Tīmekļa lapas izmantošana Pārbaudiet, vai 2G savienojuma ielādes laiks bija 8,7 sekundes Hugo un 11,7 sekundes Gatsbijā.

Tomēr, veicot vienkāršu manuālu pārbaudi, lai redzētu, kura vietne vispirms tiek ielādēta, Gatsbijs bija ievērojami ātrāks, tāpēc es īsti nesaprotu, ko mēra bāka vai tīmekļa lapu pārbaude. Turklāt, tā kā Gatsby ir vienas lapas lietotne, navigācijai vietnē nav nepieciešams servera pieprasījums. Lapas ir vienkārši pārveidotas ar JavaScript. Jebkurā gadījumā es varu droši apgalvot, ka gan Hugo, gan Gatsbijs ir ātri. Es būtu ieinteresēts dzirdēt jūsu domas komentāros zemāk.

Kopiena

Gatsbijs ātri iegūst popularitāti, kas nāk ar plaukstošu kopienu. Tas nenozīmē, ka Hugo kopiena ir garlaicīga. Ja kaut kas paiet GitHub zvaigznēm, Hugo ir vairāk nekā 27 tūkstoši, bet Gatsby - vairāk nekā 23 tūkstoši. Twitter tīklā Gatsby šķiet aktīvāks nekā Hugo.

Noslēguma domas

Tātad, kuru jums vajadzētu izvēlēties? Gatsbijs izmanto Reaktu, kuru es vairāk pazīstu, tam ir labāki rīki, un tam ir plaukstoša kopiena. No otras puses, Hugo ir stabilāks un tērē mazāk laika celtniecībai. Lielākām vietnēm svarīgs kļūst ātrums, un daži no jums, iespējams, nemaz nerūpējas par Reaktīvu. Manā gadījumā stabilitāte bija vissvarīgākie kritēriji, tāpēc es nolēmu pieturēties pie Hugo. Es ļoti priecājos redzēt, ko šajā telpā ienes nākotne.

Pirms došanās ceļā… Paldies, ka izlasījāt rakstu! Ja jums patika, lūdzu, neaizmirstiet parādīt savu atzinību, noklikšķinot uz zemāk!

Es rakstu par savu profesionālo un izglītojošo pieredzi kā pašmācīts programmatūras izstrādātājs, tāpēc, ja tas jūs interesē, noklikšķiniet uz sekošanas pogas! Lai iegūtu vairāk satura, varat arī apskatīt manu emuāru vai abonēt manu biļetenu.

Jums varētu patikt arī:

  • Kā es izlaižu atjauninājumus personīgajai vietnei
  • Mācību materiāls - programmatūras izstrāde (mācību resursu saraksts, sākot ar ievadu datorzinātnēs)
  • Kā uzrakstīt CV kā programmatūras izstrādātāju (CV iekļauts)