Sebagian besar aplikasi modern (aplikasi web satu halaman, aplikasi seluler, dll.) terdiri dari dua bagian:
Untuk menghubungkan frontend dan backend, umumnya digunakan web API (REST, GraphQL, dll.), yang memerlukan pengembangan klien API di sisi frontend dan server API di sisi backend.
Kami memiliki arsitektur berikut:
Dengan arsitektur tanpa API, frontend dapat berkomunikasi dengan backend tanpa perlu membuat API web. Backend memperlihatkan fungsi (atau metode) yang dapat dipanggil langsung oleh frontend, dan pengembang tidak perlu lagi khawatir tentang jalur URL, metode HTTP, atau kode status.
Tentu saja, karena frontend dan backend berjalan di lingkungan yang terpisah, tentu terdapat klien API dan server API di antaranya, namun keduanya tidak lagi menjadi tanggung jawab pengembang. Lapisan API ditangani oleh perpustakaan atau kerangka kerja.
Jadi arsitektur tanpa API terlihat seperti ini:
Menghapus lapisan API tidak hanya mengurangi jumlah kode yang harus ditulis oleh pengembang, tetapi juga meningkatkan kualitas dengan mengurangi penyebaran kode dan duplikasi pengetahuan.
Semakin banyak perpustakaan dan kerangka kerja yang memungkinkan penerapan arsitektur tanpa API.
Produk | Jenis produk | Jenis API | Waktu nyata | Dukungan seluler | Sejak |
---|---|---|---|---|---|
Meteor | Kerangka | Prosedural | Ya | Ya | 2012 |
lapisan | Perpustakaan | Berorientasi objek | Di peta jalan | Ya | 2019 |
Blitz.js | Kerangka | Prosedural | TIDAK | Di peta jalan | 2020 |
tRPC | Perpustakaan | Prosedural | Dalam versi beta | Ya | 2021 |
Telefungsi | Perpustakaan | Prosedural | Di peta jalan | Ya | 2021 |
Kontribusi dipersilahkan.
Sebelum berkontribusi, harap baca kode etik dan cari pelacak masalah untuk mengetahui apakah masalah Anda sudah pernah dibahas sebelumnya.
Untuk berkontribusi, fork repositori ini, komit perubahan Anda, dan kirim permintaan penarikan.
MIT