Il nostro team era originariamente composto principalmente da sviluppatori lato server con esperienza minima in Javascript. In ASP.NET scrivevamo molta logica dell'interfaccia utente in code-behind o più recentemente tramite controller in MVC.
Poco tempo fa 2 sviluppatori lato client di alto livello si sono uniti al nostro team. Possono fare in HTMl / CSS / Javascript praticamente tutto ciò che in precedenza potevamo fare con il codice lato server e i controlli web lato server:
- Mostra / nascondi controlli
- Esegui la convalida
- Controlla l'aggiornamento AJAX
Quindi ho iniziato a pensare che forse sarebbe più efficiente creare semplicemente un'API di alto livello attorno alla nostra logica aziendale, un po 'come l'API di Amazon Fulfillment: http://docs.amazonwebservices.com/fws/latest/APIReference/ , in modo che il client gli sviluppatori lato prenderebbero completamente il controllo dell'interfaccia utente, mentre gli sviluppatori lato server si concentrerebbero solo sulla logica aziendale.
Quindi per il sistema di ordinazione avresti un'API di alto livello come:
OrderService.asmx
CreateOrderResponse CreateOrder(CreateOrderRequest)
AddOrderItem
AddPayment
-
SubmitPayment
-
GetOrderByID
FindOrdersByCriteria
...
Ci sarebbe l'accesso JSON / REST all'API, quindi sarebbe facile consumarlo dall'interfaccia utente sul lato client. Potremmo utilizzare questa API sia per lo sviluppo dell'interfaccia utente interna sia 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 solo sullo sviluppo di API di alto livello (ala Amazon) che gli sviluppatori lato client possono consumare?