9 sebab untuk membina aplikasi web anda dengan Jamstack

Membangun aplikasi yang fleksibel dan berulang dalam masa yang singkat boleh menjadi cabaran. Awan terkenal seperti AWS, Azure, dan GCP membantu menyampaikan aplikasi web berskala dengan kos rendah dalam beberapa minggu. Pilih pangkalan data yang dikendalikan, pindahkan kod aplikasi ke wadah Docker atau fungsi back-end, dan gunakan semuanya pada perubahan kod. Seperti itulah perkembangan aplikasi moden, bukan?

Dalam catatan ini, saya akan menerangkan perkara-perkara terpenting yang diperlukan untuk membangun dan menghantar perisian dengan kadar yang luar biasa, dengan aplikasi Next.js yang ditulis dalam TypeScript, disebarkan melalui Vercel, dan disokong oleh pangkalan data tanpa pelayan yang disebut FaunaDB. Saya akan menerangkan setiap perkara ini secara terperinci, dengan menambahkan beberapa contoh di sana sini. Saya sangat mengesyorkan mencuba semuanya. Kesemuanya mempunyai tingkatan percuma yang murah hati dan dapat digunakan oleh pasukan pemaju kecil yang terdiri dari tiga anggota.

Penggunaan platform penyebaran pemaju yang berpusat dalam kombinasi dengan penawaran tanpa pelayan diringkaskan sebagai Jamstack. "JAM" bermaksud JavaScript, API, dan Markup. Maklumat lanjut mengenai Jamstack boleh didapati di //jamstack.org/.

Penerapan adalah perincian pelaksanaan

Jumlah perkhidmatan yang dapat saya gunakan di cloud sangat banyak. Pada masa ini, AWS mempunyai 250 perkhidmatan berbeza. Saya perlu menentukan cara menyambung dan mengatur penggunaan untuk ciri baru saya, untuk persekitaran bukan pengeluaran saya, dan untuk persekitaran pengeluaran saya

Sekiranya saya mengusahakan projek dengan beberapa pembangun secara selari, saya ingin menyampaikan URL kepada rakan sekerja saya untuk berkongsi cabang ciri semasa saya.

Selain itu, saya perlu menyiapkan domain dan sub-domain, meningkatkan perkhidmatan, menyambung titik akhir awam, menguruskan sambungan pangkalan data, mengatur pengurusan rahsia, dll. 

Platform Vercel menghubungkan dengan lancar dengan sistem kawalan versi seperti GitHub atau GitLab. Saya hanya menyambungkan repositori saya dan menyesuaikan tetapan nama host server saya dan saya sudah selesai.

Dalam projek saya sekarang, saya telah menentukan beberapa tugas npm yang berguna yang digunakan dalam setiap binaan untuk memastikan bahawa perisian kami berfungsi dan memenuhi standard perisian dan amalan terbaik:

{

"skrip": {

    "tsc": "tsc", // periksa keselamatan jenis

    "lint": "eslint", // lakukan analisis kod statik

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

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

    "test": "jest --watch", // laksanakan ujian

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

    "test: coverage": "gurau - liputan",

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

    "dev": "env-cmd dev berikutnya", // mulakan persekitaran dev tempatan

    "mula": "seterusnya",

    "start-port": "permulaan seterusnya -p $ PORT",

    "build": "build seterusnya",

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

    "layan": "permulaan seterusnya",

  }

}

Secara lalai, Vercel menjalankan now-buildtugas pada setiap binaan. Ini mencetuskan beberapa tugas lain yang memeriksa kod kami secara statik, menjalankan semua ujian, dan membina perisian kami.

Oleh kerana semuanya berfungsi, saya mendapat banyak ciri platform penyebaran di luar kotak. Saya mendapat manfaat daripada penambahbaikan yang akan datang tanpa memberi saya masalah pada masa akan datang.