Programování

9 důvodů pro vytvoření vaší webové aplikace s Jamstack

Vytvoření flexibilní a iterovatelné aplikace v krátké době může být náročné. Známé cloudy jako AWS, Azure a GCP pomáhají dodávat škálovatelné webové aplikace s nízkými náklady během několika týdnů. Vyberte spravovanou databázi, přesuňte kód aplikace do kontejnerů Docker nebo back-endových funkcí a nasaďte vše na jakékoli změny kódu. Tak vypadá moderní vývoj aplikací, že?

V tomto příspěvku popíšu nejdůležitější věci potřebné k vývoji a dodávce softwaru úžasným tempem, s aplikací Next.js napsanou v TypeScriptu, nasazenou přes Vercel a podporovanou databází bez serveru nazvanou FaunaDB. Každou z těchto věcí podrobně vysvětlím a sem a tam přidám několik příkladů. Velmi doporučuji vyzkoušet všechny. Všechny mají velkorysé bezplatné úrovně a může je použít malý vývojový tým složený až ze tří členů.

Využití platforem nasazení zaměřených na vývojáře v kombinaci s nabídkami bez serveru je shrnuto jako Jamstack. „J-A-M“ znamená JavaScript, API a označení. Více o Jamstack najdete na //jamstack.org/.

Nasazení je detail implementace

Počet služeb, které mohu v cloudu použít, je ohromující. V tuto chvíli má AWS 250 různých služeb. Potřebuji definovat, jak se připojit a nastavit nasazení pro mé nové funkce, pro mé neproduktivní prostředí a pro moje produkční prostředí

Pokud pracuji na projektu s více vývojáři paralelně, rád bych jen předal URL svému spolupracovníkovi, abych mohl sdílet svou aktuální větev funkcí.

Dále musím nastavit domény a subdomény, škálovat služby, propojit veřejné koncové body, spravovat připojení k databázi, nastavit správu tajemství atd.

Platforma Vercel se bezproblémově propojuje se systémy pro správu verzí, jako je GitHub nebo GitLab. Jednoduše připojím svůj repozitář, přizpůsobím nastavení hostitele svého nameserveru a je hotovo.

V mém aktuálním projektu jsem definoval několik užitečných úkolů npm, které se používají v každém sestavení, aby bylo zajištěno, že náš software funguje a splňuje softwarové standardy a osvědčené postupy:

{

"skripty": {

"tsc": "tsc", // zkontrolovat bezpečnost typu

"lint": "eslint", // provede statickou analýzu kódu

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

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

"test": "jest --watch", // provést testy

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

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

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

"dev": "env-cmd next dev", // spustí místní prostředí dev

"start": "další",

"start-port": "další start -p $ PORT",

"build": "next build",

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

"serve": "další start",

  }

}

Ve výchozím nastavení Vercel spouští nyní stavět úkol na každém sestavení. To spouští některé další úkoly, které staticky kontrolují náš kód, spouštějí všechny testy a vytvářejí náš software.

Vzhledem k tomu, že vše prostě funguje, mám z krabice spoustu funkcí implementační platformy. Těží mě z nadcházejících vylepšení, aniž by mi v budoucnu způsobily nějaké problémy.