Tim saya sedang mengembangkan aplikasi keuangan berbasis WEB dan ada sedikit perdebatan dengan seorang kolega di mana harus menyimpan perhitungan - murni di back-end atau menyimpan beberapa di front-end juga?
Penjelasan singkat: Kami menggunakan Java (ZK, Spring) untuk front-end dan Progress 4gl untuk back-end. Perhitungan yang melibatkan beberapa matematika hardcore & data dari database disimpan di back-end, jadi saya tidak membicarakannya. Saya berbicara tentang situasi di mana pengguna memasukkan nilai X, kemudian ditambahkan ke nilai Y (ditampilkan di layar) dan hasilnya ditampilkan di bidang Z. Operasi jQuery-ish murni dan sederhana, maksud saya.
Jadi apa yang akan menjadi praktik terbaik di sini:
1) Tambahkan nilai dengan JavaScript yang menyelamatkan dari pergi ke back-end dan kembali dan kemudian memvalidasi mereka di back-end "on save"?
2) Menyimpan semua logika bisnis di tempat yang sama - karena itu membawa nilai-nilai ke back-end dan melakukan perhitungan di sana?
3) Lakukan perhitungan di front-end; kemudian kirim data ke back-end, validasi di sana, lakukan perhitungan lagi dan hanya jika hasilnya valid dan sama, tampilkan ke pengguna?
4) Sesuatu yang lain?
Catatan: Kami melakukan beberapa validasi dasar di Jawa tetapi sebagian besar masih di back-end karena semua logika bisnis lainnya.
Peningkatan data yang akan dikirim dengan menghitung ulang semua yang ada di back-end tidak akan menjadi masalah (ukuran XML kecil; server dan bandwidth akan menahan peningkatan jumlah operasi yang dilakukan oleh pengguna).