Programavimas

9 priežastys sukurti savo žiniatinklio programą naudojant „Jamstack“

Sukurti lanksčią ir kartotiną programą per trumpą laiką gali būti sudėtinga. Tokie gerai žinomi debesys kaip AWS, „Azure“ ir GCP padeda per kelias savaites pristatyti keičiamo dydžio žiniatinklio programas su mažomis sąnaudomis. Pasirinkite valdomą duomenų bazę, perkelkite programos kodą į „Docker“ konteinerius ar vidines funkcijas ir įdiekite viską keisdami kodą. Štai kaip atrodo šiuolaikinė programų plėtra, tiesa?

Šiame įraše aprašysiu svarbiausius dalykus, reikalingus programinei įrangai kurti ir pristatyti nuostabiu tempu, naudojant „Next.js“ programą, parašytą „TypeScript“, įdiegtą per „Vercel“ ir paremtą serverio neturinčia duomenų baze „FaunaDB“. Aš išsamiai paaiškinsiu kiekvieną iš šių dalykų, pridėdamas keletą pavyzdžių čia ir ten. Aš labai rekomenduoju išbandyti juos visus. Visi jie turi didelę nemokamą pakopą ir gali būti naudojami mažos, iki trijų narių, kūrėjų komandos.

Į kūrėją orientuotų diegimo platformų naudojimas kartu su pasiūlymais be serverio yra apibendrintas kaip „Jamstack“. „J-A-M“ reiškia „JavaScript“, API ir žymėjimą. Daugiau apie „Jamstack“ rasite tinklalapyje //jamstack.org/.

Diegimas yra įgyvendinimo detalė

Paslaugų, kurias galiu naudoti debesyje, skaičius yra didžiulis. Šiuo metu AWS turi 250 skirtingų paslaugų. Turiu apibrėžti, kaip prisijungti ir nustatyti diegimą savo naujoms funkcijoms, mano negamybinei aplinkai ir gamybos aplinkai

Jei dirbu projekte su keliais kūrėjais lygiagrečiai, norėčiau tiesiog perduoti URL savo bendradarbiui, kad galėčiau pasidalinti savo dabartine funkcijų šaka.

Be to, man reikia nustatyti domenus ir padomenius, išplėsti paslaugą, prijungti viešus galinius taškus, valdyti duomenų bazių ryšius, nustatyti paslapčių valdymą ir kt.

„Vercel“ platforma sklandžiai jungiasi su versijų valdymo sistemomis, tokiomis kaip „GitHub“ ar „GitLab“. Aš tiesiog prijungiu savo saugyklą ir pritaikau savo vardų serverio prieglobos serverio pavadinimo nustatymą, ir aš baigiau.

Savo dabartiniame projekte apibrėžiau keletą patogių „npm“ užduočių, kurios naudojamos kiekviename kūrinyje, kad užtikrintų, jog mūsų programinė įranga veikia ir atitinka programinės įrangos standartus bei geriausią praktiką:

{

„scenarijai“: {

"tsc": "tsc", // patikrinkite tipo saugą

"lint": "eslint", // atlikite statinio kodo analizę

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

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

„testas“: „jest --watch“, // vykdo testus

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

"testas: aprėptis": "jest --coverage",

"check": "npm-run-all pūkelis: ci tsc testas: ci",

"dev": "env-cmd next dev", // paleisti vietinę "dev" aplinką

"start": "kitas",

"start-port": "kitas pradžia -p $ PORT",

"build": "next build",

"now-build": "npm-run-all check build", // CI komponavimas

„serve“: „kitas startas“,

  }

}

Pagal numatytuosius nustatymus Vercel paleidžia dabar statyti kiekvieno statinio užduotis. Tai sukelia kitas užduotis, kurios statiškai tikrina mūsų kodą, vykdo visus bandymus ir kuria mūsų programinę įrangą.

Dėl to, kad viskas tiesiog veikia, iš dėžutės gaunu daug diegimo platformos funkcijų. Man naudingi būsimi patobulinimai, nes jie nekels jokių problemų ateityje.

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