In origine il nostro team consisteva principalmente di sviluppatori lato server con competenze minime in Javascript. In ASP.NET abbiamo usato molte regole di interfaccia utente in code-behind o più recentemente attraverso i controller in MVC.
Poco tempo fa 2 sviluppatori del lato client di alto livello si sono uniti al nostro team. Possono fare in HTMl / CSS / Javascript praticamente tutto ciò che potremmo fare in precedenza con il codice lato server e i controlli web lato server:
- Mostra / nascondi i controlli
- Esegui la convalida
- Controllo AJAX rinfrescante
Quindi ho iniziato a pensare che forse sarebbe più efficiente creare semplicemente un'API di alto livello sulla nostra logica di business, un po 'come l'API di Amazon Fulfillment: link , in modo che gli sviluppatori lato client possano occuparsi interamente dell'interfaccia utente, mentre gli sviluppatori lato server si concentrerebbero solo sulla business logic.
Quindi per ordinare un sistema avresti un'API di alto livello come:
OrderService.asmx
CreateOrderResponse CreateOrder(CreateOrderRequest)
AddOrderItem
AddPayment
-
SubmitPayment
-
GetOrderByID
FindOrdersByCriteria
...
Ci sarebbe accesso JSON / REST alle API, quindi sarebbe facile consumare dall'interfaccia utente lato client. Potremmo utilizzare questa API sia per lo sviluppo dell'interfaccia utente interna che per le terze parti per creare le proprie applicazioni.
Con i progressi in Javascript e la disponibilità di buoni sviluppatori lato client, è un buon momento per sbarazzarsi di code-behind / controller e concentrarsi sullo sviluppo di API di alto livello (ala Amazon) che gli sviluppatori lato client possono consumare?