Nel mio progetto attuale, ho uno schermo che estrae dati da diversi servizi web, estrae dati dal database tramite API di back-end e controlla che tutte le risorse abbiano gli stessi dati o meno.
Gli altri servizi web sono specchi parziali dei dati nel db e lo schermo mostra una tabella con lo stato dei dati (se tutto è uguale tra i server)
In passato lo schermo era interamente in javascript lato client (tutte le chiamate di resto, tutte le logiche di confronto) e in seguito ho spostato la maggior parte di esso sul backend java che ora espone json con lo stato corrente e il lato client lo traduce in una vista tabella
Tuttavia, non sono molto soddisfatto di questo.
JS pro:
- Codice più piccolo.
- Più facile da implementare
JS contro:
- Più fragile, vulnerabile a semplici cambiamenti nei servizi web
- Logica e presentazione aziendale intrecciate
- Codice più brutto
- Il codice cliente conosce molto sulla struttura dati
Professionisti di backend Java:
- Più leggibile
- Più disaccoppiati
Contro Java:
- Molto più complesso, un sacco di classi (dtos per esempio)
- Java non va bene con json
- Più difficile da implementare
- Più difficile implementare alcune funzionalità a causa delle astrazioni
Qual è l'approccio giusto? Client o server?