9 alasan untuk membangun aplikasi web Anda dengan Jamstack

Membangun aplikasi yang fleksibel dan berulang dalam waktu singkat dapat menjadi tantangan. Cloud terkenal seperti AWS, Azure, dan GCP membantu menghadirkan aplikasi web yang dapat diskalakan dengan biaya rendah dalam beberapa minggu. Pilih database yang dikelola, pindahkan kode aplikasi ke container Docker atau fungsi back-end, dan terapkan semuanya pada perubahan kode apa pun. Seperti itulah tampilan pengembangan aplikasi modern, bukan?

Dalam posting ini, saya akan menjelaskan hal terpenting yang diperlukan untuk mengembangkan dan mengirimkan perangkat lunak dengan kecepatan yang luar biasa, dengan aplikasi Next.js yang ditulis dalam TypeScript, disebarkan melalui Vercel, dan didukung oleh database tanpa server yang disebut FaunaDB. Saya akan menjelaskan masing-masing hal ini secara rinci, menambahkan beberapa contoh di sana-sini. Saya sangat merekomendasikan untuk mencoba semuanya. Semuanya memiliki tingkatan gratis yang banyak dan dapat digunakan oleh tim pengembang kecil hingga tiga anggota.

Penggunaan platform penerapan yang berpusat pada pengembang dalam kombinasi dengan penawaran tanpa server diringkas sebagai Jamstack. “JAM” berarti JavaScript, API, dan Markup. Lebih lanjut tentang Jamstack dapat ditemukan di //jamstack.org/.

Deployment adalah detail implementasi

Jumlah layanan yang dapat saya gunakan di cloud sangat banyak. Saat ini, AWS memiliki 250 layanan berbeda. Saya perlu menentukan cara menghubungkan dan menyiapkan penerapan untuk fitur baru saya, untuk lingkungan non-produksi saya, dan untuk lingkungan produksi saya

Jika saya mengerjakan sebuah proyek dengan beberapa pengembang secara paralel, saya akan dengan senang hati memberikan URL ke rekan kerja saya untuk membagikan cabang fitur saya saat ini.

Selain itu, saya perlu menyiapkan domain dan sub-domain, menskalakan layanan, menghubungkan titik akhir publik, mengelola koneksi database, menyiapkan manajemen rahasia, dll. 

Platform Vercel terhubung secara mulus dengan sistem kontrol versi seperti GitHub atau GitLab. Saya cukup menghubungkan repositori saya dan menyesuaikan pengaturan nama host server nama saya dan saya selesai.

Dalam proyek saya saat ini, saya telah menetapkan beberapa tugas npm berguna yang digunakan di setiap build untuk memastikan bahwa perangkat lunak kami berfungsi dan memenuhi standar perangkat lunak dan praktik terbaik:

{

"script": {

    "tsc": "tsc", // periksa keamanan jenis

    "lint": "eslint", // lakukan analisis kode statis

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

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

    "test": "jest --watch", // jalankan tes

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

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

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

    "dev": "env-cmd next dev", // mulai lingkungan dev lokal

    "mulai": "selanjutnya",

    "start-port": "start berikutnya -p $ PORT",

    "build": "build selanjutnya",

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

    "serve": "next start",

  }

}

Secara default, Vercel menjalankan now-buildtugas di setiap build. Ini memicu beberapa tugas lain yang secara statis memeriksa kode kami, menjalankan semua pengujian, dan membangun perangkat lunak kami.

Karena kenyataan bahwa semuanya hanya berfungsi, saya mendapatkan banyak fitur platform penerapan di luar kotak. Saya mendapat manfaat dari perbaikan yang akan datang tanpa mereka memberi saya masalah di masa depan.