begalvė cmsinterneto svetainių kūrimasserverio-kaip-paslaugaatvirojo kodo
Strapi prieš sveiką protą
Sprendimas tarp „Strapi“ ir „Sanity“ paprastai priklauso nuo to, ar norite valdyti savo vidinę infrastruktūrą, ar naudoti visiškai valdomą turinio telkinį. Nors „Strapi“ siūlo atvirojo kodo, į duomenų bazę orientuotą metodą, suteikiantį kūrėjams absoliučią savo kodo ir serverių kontrolę, „Sanity“ siūlo debesijos pagrindu veikiančią platformą, kuri specializuojasi bendradarbiavimui realiuoju laiku ir turinio apdorojimui kaip labai struktūrizuotų duomenų.
Akcentai
„Strapi“ suteikia visišką duomenų bazių laisvę, įskaitant „MySQL“ ir „PostgreSQL“.
„Sanity“ siūlo pirmaujančią rinkoje redagavimo realiuoju laiku patirtį komandoms.
„Strapi“ kainodara paprastai yra labiau nuspėjama didelio lankomumo svetainėse.
„Sanity“ GROQ kalba suteikia galingesnę duomenų transformaciją nei standartinė REST.
Kas yra Strapi?
Pirmaujanti atvirojo kodo begalvė TVS, sukurta „Node.js“ pagrindu, suteikianti kūrėjams visišką viso savo techninio paketo kontrolę.
Platinama pagal MIT licenciją, leidžiančią nemokamai savarankiškai talpinti duomenis be jokios priklausomybės nuo tiekėjo.
Automatiškai generuoja REST ir GraphQL API, kai apibrėžiate turinio modelius.
Palaiko įvairias duomenų bazes, įskaitant „PostgreSQL“, „MySQL“ ir „SQLite“, kad būtų užtikrintas maksimalus lankstumas.
Turi galingą „Turinio tipų kūrimo priemonę“, kuri suteikia vizualinę sąsają sudėtingiems duomenų ryšiams valdyti.
Siūlo „Strapi Cloud“ tiems, kurie nori naudotis „Strapi“ galia be rankinio serverių valdymo vargo.
Kas yra Sveikas protas?
Tvarkomo turinio platforma, kuri turinį traktuoja kaip duomenis, turinti itin pritaikomą „React“ pagrindu veikiantį redaktorių ir realaus laiko API.
Naudoja „Content Lake“ – talpinamą realaus laiko posistemę, kuri tvarko visus mastelio keitimo ir pasaulinio platinimo veiksmus.
Turi „Sanity Studio“ – atvirojo kodo, „React“ pagrindu sukurtą įrankių rinkinį, skirtą kurti pasirinktines redagavimo aplinkas.
Naudoja GROQ (Graph-Relational Object Queries) – galingą patentuotą užklausų kalbą – kartu su GraphQL.
Suteikia vietinius bendradarbiavimo realiuoju laiku įrankius, įskaitant buvimo indikatorius ir tiesioginio bendro redagavimo funkciją.
Turinys saugomas „Portable Text“ formatu – JSON pagrindu sukurtu formatu, kuris leidžia lengvai pateikti turinį bet kuriame įrenginyje ar kanale.
Palyginimo lentelė
Funkcija
Strapi
Sveikas protas
Prieglobos modelis
Savarankiškai talpinamas / debesies parinktis
Tvarkoma SaaS (turinio ežeras)
Pritaikymo dėmesys
Serverio ir API logika
Redaktorės ir autorės patirtis
Duomenų bazės valdymas
Pilna prieiga (SQL)
Abstrahuotas (NoSQL/JSON)
Bendradarbiavimas
Darbo eigos pagrindu
Bendras redagavimas realiuoju laiku
Duomenų užklausos
REST ir GraphQL
GROQ ir GraphQL
Kainodaros struktūra
Numatoma / Vienam vartotojui
Naudojimo pagrindu (API / pralaidumas)
Idealus projekto dydis
Nuo mažų iki didelių įmonių
Turiniu gausi įmonė
Mokymosi kreivė
Vidutinis (tradicinis Node.js)
Status (pasirinktinė schema / GROQ)
Išsamus palyginimas
Infrastruktūra ir valdomos paslaugos
„Strapi“ iš esmės yra „Node.js“ sistema, kuri yra TVS; jūs valdote kodą, duomenų bazę ir serverį. Tai svajonė organizacijoms, kurioms taikomi griežti duomenų saugojimo įstatymai, arba toms, kurios nori išvengti pasikartojančių SaaS mokesčių. Tačiau „Sanity“ visiškai pašalina „DevOps“ naštą, talpindama jūsų duomenis savo patentuotame „Content Lake“ saugykloje, leisdama jūsų komandai sutelkti dėmesį tik į priekinės dalies kūrimą ir turinio modeliavimą.
Kūrėjo patirtis
„Strapi“ sistemoje didžioji dalis turinio modeliavimo atliekama vizualinėje administratoriaus skydelyje, kuris vėliau įrašo kodą į jūsų vietinius failus. Tai labai patogu komandoms, turinčioms tradicines TVS patirtis. „Sanity“ taiko „pirmiausia kodą“ principą, kai schemos apibrėžiamos „JavaScript“ arba „TypeScript“ failuose. Nors iš pradžių tam reikia daugiau techninių nustatymų, tai leidžia naudoti versijomis valdomas schemas ir neįtikėtinai individualius redagavimo komponentus, kurių vizualinis kūrimo įrankis tiesiog negali pritaikyti.
Užklausos ir duomenų gavimas
„Strapi“ atitinka pramonės standartus ir palaiko patikimą REST bei GraphQL, todėl bet kuriam front-end kūrėjui lengva pradėti dirbti. „Sanity“ peržengia ribas su GROQ – užklausų kalba, leidžiančia sujungti skirtingus turinio tipus ir transformuoti duomenis tiesiai serveryje, dar prieš jiems pasiekiant jūsų programą. Nors GROQ išmokimas užima laiko, dažnai tai lemia daug švaresnį front-end kodą, nes duomenys atkeliauja tiksliai tokie, kokių jums reikia.
Bendradarbiavimas realiuoju laiku
Jei jūsų redakcijos komanda veikia kaip naujienų kambarys, „Sanity“ yra aiškus nugalėtojas dėl savo „Google Docs“ stiliaus redagavimo patirties, kai keli žmonės gali vienu metu redaguoti tą patį lauką. „Strapi“ bendradarbiavimas yra tradiciškesnis, daugiausia dėmesio skiriant juodraščių rengimo ir publikavimo darbo eigoms bei vaidmenimis pagrįstoms teisėms. Nors „Strapi“ prideda daugiau bendradarbiavimo funkcijų, „Sanity“ buvo sukurta nuo nulio duomenų sinchronizavimui realiuoju laiku.
Privalumai ir trūkumai
Strapi
Privalumai
+Visiška duomenų nuosavybė
+Ypač pritaikoma vidinė sistema
+Nėra privalomų API apribojimų
+Pažįstamos SQL duomenų bazės
Pasirinkta
−Rankinis saugos pataisų diegimas
−Reikalinga serverio priežiūra
−Ribotos realaus laiko funkcijos
−Lėtesnis schemų perkėlimas
Sveikas protas
Privalumai
+Nulinis serverio valdymas
+Išplėstinis turinio versijų kūrimas
+Neprilygstami bendradarbiavimo įrankiai
+Visuotinis CDN našumas
Pasirinkta
−Naudojimo pagrindu kylantys kainų šuoliai
−Patentuota užklausų kalba
−Platformos priklausomybė
−Reikalingos React žinios
Dažni klaidingi įsitikinimai
Mitas
„Strapi“ visada pigesnis, nes yra atvirojo kodo.
Realybė
Nors programinė įranga yra nemokama, reikia atsižvelgti į didelio prieinamumo talpinimo, duomenų bazių valdymo ir kūrėjų valandų, skirtų priežiūrai ir saugumo atnaujinimams, išlaidas. Daugeliui šios „paslėptos“ išlaidos gali viršyti mėnesinę „Sanity“ prenumeratą.
Mitas
Sveikas protas skirtas tik „React“ kūrėjams.
Realybė
Nors „Sanity Studio“ (redaktorius) sukurtas naudojant „React“, pats turinys pateikiamas per standartines API sąsajas. „Sanity“ duomenis galite naudoti „Vue“, „Svelte“, „Next.js“ ar net mobiliosiose programose.
Iš tikrųjų turite visišką prieigą prie administratoriaus skydelio šaltinio kodo. Nors jis yra labiau struktūrizuotas nei „Sanity“, galite kurti pasirinktinius papildinius, modifikuoti vartotojo sąsają ir į bet kokio tipo turinio gyvavimo ciklą įtraukti pasirinktinę logiką.
Mitas
GROQ yra tik dar viena „GraphQL“ versija.
Realybė
GROQ iš tiesų yra daug galingesnė duomenų manipuliavimui. Nors „GraphQL“ puikiai tinka gauti būtent tai, ko prašote, GROQ leidžia filtruoti, performatuoti ir sujungti duomenis taip, kad paprastai reikėtų rašyti papildomą kodą kitose sistemose.
Dažnai užduodami klausimai
Kuri platforma yra geresnė internacionalizacijai (i18n)?
Abi platformos išskirtinai gerai tvarko daugiakalbį turinį, tačiau skirtingais būdais. „Strapi“ turi integruotą „i18n“ įskiepį, kuris lengvai tvarko lokalizuotas dokumentų versijas per vartotojo sąsają. „Sanity“ siūlo daugiau lankstumo, leisdamas pasirinkti vertimą lauko lygmeniu (tinka beveik identiškiems puslapiams) arba vertimą dokumento lygmeniu (geriau tinka visiškai skirtingoms svetainių struktūroms), nors tam reikia daugiau rankinio schemos konfigūravimo.
Ar galiu naudoti „Strapi“ mobiliosios programėlės sąsajai?
Taip, „Strapi“ yra puikus pasirinkimas mobiliosioms paslaugoms. Kadangi ji veikia kaip tradicinis „Node.js“ serveris, galite pridėti pasirinktinius valdiklius ir paslaugas, kad galėtumėte tvarkyti tokius dalykus kaip vartotojų autentifikavimas, tiesioginiai pranešimai ir sudėtinga verslo logika, kuri gerokai viršija paprastą turinio valdymą.
Kas nutiks mano „Sanity“ duomenims, jei jie bankrutuos?
„Sanity“ teikia CLI įrankį, leidžiantį bet kuriuo metu eksportuoti visą „duomenų rinkinį“ kaip vieną JSON failą. Nors prarasite realaus laiko API ir „Studio“ sąsają, jūsų turinys niekada nebus „įstrigęs“ ir gali būti importuotas į kitą sistemą arba pasirinktinę duomenų bazę.
Ar „Strapi“ „Quickstart“ tinka gamybai?
Ne. „Strapi“ greito paleidimo instrukcijoje naudojamas „SQLite“, kuris puikiai tinka vietiniam kūrimui, bet netinka gyvai svetainei su dideliu srautu. Gamybinėje aplinkoje „Strapi“ visada turėtumėte sukonfigūruoti taip, kad naudotų patikimą duomenų bazę, pvz., „PostgreSQL“ arba „MySQL“.
Ar „Sanity“ ima mokestį už kiekvieną API iškvietimą?
„Sanity“ siūlo dosnų nemokamą paketą, apimantį nustatytą API užklausų skaičių ir pralaidumą. Kai viršysite šias ribas, būsite apmokestinti pagal naudojimą. Svarbu įdiegti tinkamą talpyklą savo priekinėje dalyje, kad užtikrintumėte, jog neteikiate nereikalingų užklausų, kurios galėtų padidinti jūsų mėnesio sąskaitą.
Kuris iš jų geresnis SEO požiūriu?
Kadangi abi yra begalvės TVS, SEO pirmiausia priklauso nuo to, kaip kuriate savo front-endą (pvz., naudodami Next.js arba Nuxt.js). Tačiau „Sanity“ „Portable Text“ labai palengvina švaraus, semantinio HTML generavimą, o lankstūs „Strapi“ laukai leidžia kurti išsamias SEO metaduomenų struktūras, kurias redaktoriai gali lengvai valdyti.
Ar galiu pats priimti „Sanity“?
Galite patys talpinti „Sanity Studio“ (sąsają, kurioje dirba jūsų redaktoriai), bet negalite patys talpinti „Content Lake“ (duomenų bazės). Duomenys turi būti „Sanity“ serveriuose. Jei reikalingas visiškas savarankiškas talpinimas, „Strapi“ yra vienintelė alternatyva.
Kuri platforma turi geresnę įskiepių ekosistemą?
„Strapi“ turi tradiciškesnę prekyvietę, kurioje galite rasti paruoštų naudoti papildinių tokiems dalykams kaip SEO, svetainės schemų generavimas ir el. pašto paslaugų teikėjai. „Sanity“ labiau remiasi „bendruomenės mainais“, kuriuose galite rasti kodo fragmentų, schemų šablonų ir vartotojo sąsajos komponentų, kad sukurtumėte būtent tai, ko jums reikia.
Ar lengva pereiti nuo Strapi prie Sanity?
Migravimas yra svarbi užduotis, nes duomenų struktūros skiriasi. „Strapi“ yra reliacinė (eilutės ir lentelės), o „Sanity“ – dokumentais pagrįsta (JSON). Jums reikėtų parašyti pasirinktinį scenarijų, kad susietumėte savo SQL duomenis su „Sanity“ JSON formatu ir tvarkytumėte medijos išteklių migraciją.
Kuris yra saugesnis?
„Sanity“ dažnai laikoma „saugesniu“ eiliniam vartotojui, nes jie tvarko visą serverio saugumą, šifravimą ir pataisymus. „Strapi“ yra labai saugus, tačiau atsakomybę už jį perkelia jums; jei neatnaujinsite savo „Node.js“ versijos arba neįdiegsite „Strapi“ saugumo pataisų, jūsų svetainė liks pažeidžiama.
Nuosprendis
Rinkitės „Strapi“, jei jums reikia savarankiško sprendimo, kuriame jūs išlaikytumėte 100 % savo duomenų ir infrastruktūros nuosavybę. „Sanity“ yra puikus pasirinkimas sparčiai augančioms komandoms, kurioms reikalinga nulinės priežiūros nereikalaujanti vidinė sistema ir labai pritaikyta, bendradarbiaujant sukurta redagavimo aplinka sudėtingam turiniui.