RESTForge Apps
Dokumentasi RESTForge Apps - Membangun aplikasi frontend siap pakai dari konfigurasi JSON
RESTForge Apps
Forge Frontend Applications from JSON
RESTForge Apps adalah produk untuk membangun aplikasi frontend siap pakai dari konfigurasi JSON. Produk ini menjadi pelengkap sisi frontend untuk RESTForge Server yang beroperasi di sisi backend.
Peran dalam Ekosistem (Role in Ecosystem)
RESTForge Apps melengkapi ekosistem RESTForge dengan menyediakan kemampuan code generation di sisi frontend. Jika RESTForge Server mengubah konfigurasi menjadi REST API, RESTForge Apps mengubah konfigurasi menjadi aplikasi frontend yang mengkonsumsi API tersebut.
┌─────────────────┐ ┌─────────────────┐
│ RESTForge Server │ │ RESTForge Apps │
│ (Backend) │ │ (Frontend) │
│ │ │ │
│ Konfigurasi │ │ Konfigurasi │
│ JSON Backend │ │ JSON Frontend │
│ │ │ │ │ │
│ ▼ │ │ ▼ │
│ REST API │◄──────►│ Aplikasi Web │
│ Siap Jalan │ HTTP │ Siap Jalan │
└─────────────────┘ └─────────────────┘Karakteristik Utama (Key Characteristics)
| Karakteristik | Penjelasan |
|---|---|
| Konfigurasi Sederhana | Satu file konfigurasi mendefinisikan halaman, form, validasi, dan tata letak aplikasi secara lengkap |
| Pilihan Gaya Tampilan | Gaya tampilan aplikasi yang dihasilkan dapat berganti tanpa mengubah konfigurasi, melalui sistem plugin dan tema |
| Aplikasi Siap Jalan | Aplikasi hasil generate dapat langsung dipakai tanpa proses build tambahan yang rumit |
| Sinkron dengan Backend | Konfigurasi backend dari RESTForge Server dapat dikonversi otomatis menjadi konfigurasi frontend, sehingga tidak perlu menyusun ulang definisi dari awal |
Kemampuan Generate (Generation Capabilities)
RESTForge Apps men-generate komponen frontend berikut dari konfigurasi JSON:
| Komponen | Deskripsi |
|---|---|
| Halaman CRUD | Halaman lengkap dengan tabel data, form input, dan operasi create/update/delete |
| DataTable | Tabel data dengan sorting, searching, pagination, dan filter toolbar secara otomatis |
| Form Input | Form dengan berbagai tipe field (text, number, date, select, checkbox) dan validasi client-side |
| Master-Detail | Halaman transaksi dengan pola header-detail, inline editing pada tabel detail, dan kalkulasi otomatis |
| Autentikasi | Halaman login dengan JWT authentication, token refresh, idle timeout, dan permission-based access control |
| Navigasi | Sidebar navigation yang di-generate otomatis berdasarkan daftar halaman dalam konfigurasi |
Arsitektur Plugin (Plugin Architecture)
RESTForge Apps menggunakan arsitektur plugin untuk memisahkan konfigurasi aplikasi dari implementasi tampilan. Satu konfigurasi JSON yang sama dapat menghasilkan output yang berbeda dengan mengganti plugin yang digunakan.
| Aspek | Penjelasan |
|---|---|
| Konfigurasi | Mendefinisikan apa yang ditampilkan: field, tabel, validasi, layout |
| Plugin | Menentukan bagaimana tampilan dihasilkan: framework CSS, komponen UI, pola interaksi |
Dengan pemisahan ini, perpindahan dari satu tema ke tema lain tidak memerlukan perubahan pada konfigurasi aplikasi. Cukup ganti plugin, lalu generate ulang.
Kompatibilitas Frontend (Frontend Compatibility)
Aplikasi yang dihasilkan RESTForge Apps dirancang untuk bekerja dengan REST API yang dibangun oleh RESTForge Server. Keduanya dirancang sebagai pasangan, sehingga tim yang menggunakan keduanya mendapatkan pengalaman terpadu dari backend sampai frontend.
Meskipun demikian, masing-masing produk dapat digunakan secara independen:
| Skenario | Deskripsi |
|---|---|
| Apps + Server | Pengalaman terpadu. Konfigurasi backend dapat dikonversi langsung menjadi konfigurasi frontend |
| Apps + Backend Lain | Aplikasi frontend yang di-generate dapat diarahkan ke REST API manapun selama format response sesuai |
| Server + Frontend Lain | REST API dari RESTForge Server dapat dikonsumsi oleh React, Vue, Flutter, atau platform apapun yang mendukung HTTP |
Platform-Agnostic di Sisi Konsumsi (Platform-Agnostic Consumption)
REST API yang dihasilkan oleh RESTForge Server bersifat platform-agnostic. Ini berarti API tersebut dapat dikonsumsi oleh platform frontend manapun yang mendukung HTTP request:
- Vanilla JavaScript dengan fetch API
- React.js dengan axios atau fetch
- Vue.js dengan integrasi langsung
- Next.js / Nuxt.js dengan server-side atau client-side fetching
- Flutter untuk aplikasi mobile dan web
- Angular dengan HttpClient bawaan
- Laravel dengan Guzzle HTTP client
- Platform lain yang mendukung HTTP
RESTForge Apps menyediakan jalur tercepat untuk men-generate frontend, namun tim tetap bebas memilih platform frontend sesuai kebutuhan project tanpa kehilangan akses ke backend API.