Programmēšana

9 iemesli, kā izveidot savu tīmekļa lietotni, izmantojot Jamstack

Elastīgas un iterējamas lietojumprogrammas izveide īsā laikā var būt sarežģīta. Plaši pazīstami mākoņi, piemēram, AWS, Azure un GCP, dažu nedēļu laikā palīdz piegādāt mērogojamas tīmekļa lietojumprogrammas ar zemām izmaksām. Izvēlieties pārvaldītu datu bāzi, pārvietojiet lietojumprogrammas kodu uz Docker konteineriem vai aizmugures funkcijām un izvietojiet visu, mainot kodu. Tā izskatās mūsdienu lietojumprogrammu izstrāde, vai ne?

Šajā amatā es aprakstīšu vissvarīgākās lietas, kas nepieciešamas programmatūras izstrādei un piegādei pārsteidzošā tempā, izmantojot NextScript lietojumprogrammu, kas rakstīta TypeScript, izvietota caur Vercel un kuru atbalsta bez servera datu bāze FaunaDB. Es detalizēti paskaidrošu katru no šīm lietām, pievienojot dažus piemērus šeit un tur. Es ļoti iesaku izmēģināt tos visus. Visiem tiem ir dāsni bezmaksas līmeņi, un tos var izmantot neliela izstrādātāju komanda, kurā ir līdz trim dalībniekiem.

Uz izstrādātāju vērstu izvietošanas platformu izmantošana kopā ar piedāvājumiem bez servera tiek apkopota kā Jamstack. “J-A-M” nozīmē JavaScript, API un marķējumu. Vairāk par Jamstack var atrast vietnē //jamstack.org/.

Izvietošana ir ieviešanas detaļa

Pakalpojumu skaits, kurus varu izmantot mākonī, ir milzīgs. Šajā brīdī AWS ir 250 dažādi pakalpojumi. Man jādefinē, kā izveidot savienojumu un iestatīt izvietošanu savām jaunajām funkcijām, videi, kas nav ražošana, un ražošanas videi

Ja es paralēli strādāju pie projekta ar vairākiem izstrādātājiem, es labprāt vienkārši nodotu URL savam kolēģim, lai koplietotu savu pašreizējo funkciju filiāli.

Turklāt man ir jāiestata domēni un apakšdomēni, jāpaplašina pakalpojums, jāizveido publiskie galapunkti, jāpārvalda datu bāzes savienojumi, jāiestata noslēpumu pārvaldība utt.

Vercel platforma nevainojami savienojas ar versiju vadības sistēmām, piemēram, GitHub vai GitLab. Es vienkārši savienoju savu krātuvi un pielāgoju savu vārda servera resursdatora iestatījumu, un esmu pabeidzis.

Savā pašreizējā projektā esmu definējis dažus noderīgus npm uzdevumus, kas tiek izmantoti katrā būvējumā, lai nodrošinātu, ka mūsu programmatūra darbojas un atbilst programmatūras standartiem un paraugpraksei:

{

"skripti": {

"tsc": "tsc", // pārbaudiet tipa drošību

"lint": "eslint", // veiciet statiskā koda analīzi

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

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

"test": "jest --watch", // izpilda testus

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

"tests: pārklājums": "jest - segums",

"check": "npm-run-all lint: ci tsc tests: ci",

"dev": "env-cmd next dev", // sākt vietējo dev vidi

"start": "next",

"start-port": "nākamais sākums -p $ PORT",

"build": "next build",

"now-build": "npm-run-all check build", // CI veidošana

"serve": "nākamais sākums",

  }

}

Pēc noklusējuma Vercel palaiž tagad veidot uzdevums katrā būvējumā. Tas izraisa dažus citus uzdevumus, kas statiski pārbauda mūsu kodu, veic visus testus un veido mūsu programmatūru.

Sakarā ar to, ka viss vienkārši darbojas, es no kastes saņemu daudzas izvietošanas platformas funkcijas. Man ir noderīgi gaidāmie uzlabojumi, neradot man problēmas nākotnē.

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