Programiranje

9 razlogov za izdelavo spletne aplikacije z Jamstackom

Izdelava prilagodljive in uporabljive aplikacije v kratkem času je lahko izziv. Znani oblaki, kot so AWS, Azure in GCP, pomagajo v nekaj tednih dostaviti razširljive spletne aplikacije z nizkimi stroški. Izberite upravljano bazo podatkov, premaknite kodo aplikacije v Dockerjeve vsebnike ali zaledne funkcije in razmestite vse ob kakršnih koli spremembah kode. Takole izgleda sodoben razvoj aplikacij, kajne?

V tej objavi bom opisal najpomembnejše stvari, potrebne za neverjeten razvoj in pošiljanje programske opreme, z aplikacijo Next.js, napisano v TypeScript, nameščeno prek Vercela in podprto z bazo podatkov brez strežnika FaunaDB. Vsako od teh stvari bom podrobno razložil in tu in tam dodal nekaj primerov. Toplo priporočam, da jih vse preizkusite. Vsi imajo velikodušne brezplačne stopnje in jih lahko uporablja majhna skupina razvijalcev, ki šteje do tri člane.

Uporaba platform za uvajanje, osredotočenih na razvijalce, v kombinaciji s ponudbami brez strežnikov je povzeta kot Jamstack. »J-A-M« pomeni JavaScript, API-je in oznake. Več o Jamstacku lahko najdete na //jamstack.org/.

Uvajanje je izvedbena podrobnost

Število storitev, ki jih lahko uporabljam v oblaku, je izjemno. V tem trenutku ima AWS 250 različnih storitev. Določiti moram, kako povezati in nastaviti razmestitve za svoje nove funkcije, za svoje neprodukcijsko okolje in za svoje produkcijsko okolje

Če vzporedno delam na projektu z več razvijalci, bi rad poslal svojemu sodelavcu URL, da bi delil svojo trenutno vejo funkcij.

Poleg tega moram nastaviti domene in poddomene, prilagoditi storitev, povezati javne končne točke, upravljati povezave do zbirke podatkov, nastaviti skrivnosti itd.

Platforma Vercel se brez težav poveže s sistemi za nadzor različic, kot sta GitHub ali GitLab. Preprosto povežem svoje skladišče in prilagodim nastavitev imena gostitelja imenskega strežnika in končal sem.

V svojem trenutnem projektu sem opredelil nekaj priročnih nalog npm, ki se uporabljajo v vsaki gradnji, da bi zagotovili, da naša programska oprema deluje in ustreza programskim standardom in najboljšim praksam:

{

"skripte": {

"tsc": "tsc", // preveri varnost tipa

"lint": "eslint", // naredimo statično analizo kode

"lint: ci": "eslint --max-warnings = 0",

"lint: fix": "eslint --fix",

"test": "jest --watch", // izvedemo teste

"test: ci": "jest --ci",

"test: pokrivanje": "jest --coverage",

"checks": "npm-run-all lint: ci tsc test: ci",

"dev": "env-cmd next dev", // zaženi lokalno razvojno okolje

"start": "naslednji",

"start-port": "naslednji zagon -p $ PORT",

"build": "naslednja gradnja",

"now-build": "npm-run-all checks build", // gradnja CI

"serve": "naslednji zagon",

  }

}

Vercel privzeto zažene zdaj graditi naloga pri vsaki gradnji. To sproži nekatere druge naloge, ki statično preverjajo našo kodo, izvajajo vse teste in gradijo našo programsko opremo.

Ker vse deluje, dobim veliko funkcij platforme za uvajanje iz škatle. Prihajajoče izboljšave mi koristijo, ne da bi mi v prihodnje povzročale težave.

$config[zx-auto] not found$config[zx-overlay] not found