Šta je JAMstack?

JAMstack (Džemstek) je nov način izrade web sajtova i aplikacija koji pruža bolje performanse, veću sigurnost, niže troškove skaliranja i bolje iskustvo za programere. To je moderna arhitektura web razvoja koji kombinuje tri glavne komponente: Java Script, API i Markup. JAMstack je nova generacija SSG generatora koja može praktično da se upari sa Headless CMS ili decoupled CMS rešenjima.

Iako je kovanica „JAM“ smišljena sasvim slučajno ona je postala akronim za novi tehnološki stek koji predstavlja temelj budućeg razvoja na webu.

Šta su moderne Web aplikacije?

Savremene web aplikacije konstruisane su kao jednostrane web aplikacije ( SPA – Single Page Application) čije su sve komponente aplikacije spakovane u statičke datoteke. Tradicionalne web arhitekture klijent-server dovele su do loših iskustava – svaki klik ili pretraga korisnika zahtevali su novi zahtev ka serveru i renderiranje cele aplikacije. Moderne web aplikacije nude izvorno korisničko iskustvo poput aplikacija na telefonima služeći prednji kraj aplikacije ili korisnički interfejs, efikasno pregledačima kao unapred generisane HTML / JavaScript datotekame koje mogu pozvati pozadinsku funkcionalnost bez ponovnog učitavanja stranice.

U osnovi tehnologije je Prvo slovo u kratici je jedan od najmanje bitnih delova cele filozofije. Umesto toga, volim da JAMstack razmišljam kao o filozofiji koja vodi proizvodnju i distribuciju dinamički izgrađenih statičkih lokacija. Izraz statičke stranice ima određenu implikaciju da je … pa, statički – da ne možete koristiti bazu podataka i / ili sistem za upravljanje sadržajem da biste napajali svoj sadržaj. Ali to nije tačno. JAMstack definiše kada veb lokacija preuzima dinamični sadržaj, a ne kako se dohvaća. A to znači da se svi dinamični zadaci na JAMstack mestu dešavaju tokom izrade, a ne tokom izvođenja. Koristeći najbolje prakse zajednice, ovo je postupak razmeštanja veb lokacije pomoću JAMstack pristupa: Promenite kod lokalno. Promenite GitHub. GitHub vebhook obaveštava server za izgradnju projekta. Server povlači promene sa GitHub-a. Server gradi projekat. Server otprema HTML datoteke iz izgrađenog projekta (zajedno sa svim potrebnim sredstvima) u CDN. Server obaveštava CDN da poništi keš memoriju. Sajt je uživo. Kada posetilac pristupi vašoj veb lokaciji, isporučuje se statičke datoteke preko mreže za isporuku sadržaja (CDN). U toku trajanja nema preuzimanja podataka kroz bazu podataka jer nema vremena izvođenja – to je zapravo statična lokacija. Ali, ne treba da se osećate statično jer imate mogućnost automatizacije svakog koraka u procesu i imate slobodu da radite šta god želite u vreme izrade (npr. Korišćenje CMS-a za pravljenje vaših stranica). Zašto bi se brinula? Ok, tako da je JAMstack zaista drugačiji način izgradnje i isporuke sadržaja posetiocima. Zašto vam je to važno? Budući da je mogućnost da se iste informacije dostave posetiocu pomoću statičkih datoteka značajno je jednostavnije i ima sledeće prednosti: Performanse: Veb lokacija (znači sav sadržaj) je već napravljena kada se posjeti posetiocu (putem statičke HTML datoteke), tako da nema čekanja za podatke. Skala: Ne gubite performanse tokom veb lokacije jer (ponovo) posetiocu jednostavno dostavljate HTML datoteke. CDN koji isporučuje te datoteke nije briga da li ih ima 100 ili 100.000. On isporučuje samo ono što se od njega traži, a taj se sadržaj sprema u keš nakon prvog isporučivanja. Glavni problem skaliranja sa kojim ćete se morati suočiti javlja se u vreme izgradnje, s obzirom na to koliko vremena treba da se pokrene izgradnja. Ali to morate rešiti u svoju (ili klijentovu) korist – to ne utiče na krajnjeg korisnika jer oni vide samo rezultat sastavljanja. Sigurnost: Nema šanse da uđu u svoje baze podataka, jer ne postoji baza podataka. Kada neko pristupi vašem sajtu svi dinamički sadržaj je davno nestala. Iskustvo programera (DKS): U nedostatku monolitne aplikacije koja se pokreće na veb serveru i uz vaše dinamičke podatke apstrahirane u API pozive, napori vašeg programera su više usmereni. To znači da lakše otklanjanje grešaka i (potencijalno) brži razvoj. Ali to nije sve … Najbolji deo Apsolutno najbolji deo JAMstacka je da je to metodologija visokog nivoa, a ne diktat formula. Razmislite o tome šta može izgledati kao sinonim za JAMstack: LAMP označava Linuk, Apache, MiSKL i PHP (tj. VordPress). MEAN stoji za Mongo, Ekpress, ugaone, i čvor. Dakle, ako želite da koristite PostgreSKL ili React ili Ngink, ne uklapate se ni u jednu od ovih zajednica. Ali sa JAMstackom, nema razlike koji generator, sajt, izvor (i) sadržaja, alat (i) za pravljenje, izgradnja platforme ili CDN koristite. Zajednica se gradi oko prakse, a ne proizvoda. Početak Jedan problem u pristupu JAMstack-a na visokom nivou je taj što može biti malo zastrašujuće za početak jer ne postoji određena formula. Srećom, na raspolaganju su neki ozbiljno sjajni alati. Mjesto za početak je Netlifi. Kreatori Netlifija su oni koji su izmislili JAMstack termin. Netlifi je super moćan i upravlja koracima 3-8 gore navedenog procesa implementacije. Dakle, sve što treba da brinete je: Koji generator generatora ćete koristiti? (Netlifi ima spisak za vas.) Gde se vaši podaci iz (ako i dinamičke podatke)? (Netlifi takođe ima listu CMS proizvoda bez glave koji se dobro integrišu.) A moćne funkcije Netlifija možete koristiti i na njegovom slobodnom nivou, tako da je apsolutno vredno isprobati. Nadam se da uspeh isprobavanje pristup JAMstack. Ja sam veliki zagovornik toga i planiram da ovo mesto poklonim člancima. Zato me slobodno pustite ako pokušavate da započnete ili imate pitanja o pristupu.

Kategorije:

Oznake