BACKGROUND: sto iniziando a progettare un progetto web usando asp.net mvc.
Userò un'architettura molto comune in cui ho i seguenti livelli:
- Servizio
- Biz
- Dati
- Dominio
Il livello di servizio interagisce con i livelli di Biz, Dati e Dominio. I controller mvc avranno il livello di servizio iniettato in essi utilizzando un framework DI. I controller dovranno essere a conoscenza delle interfacce del livello di servizio e faranno riferimento agli oggetti Dominio (POCO).
Il front-end sarà HTML5 + Javascript.
Mi è stato detto di tenere presente che è necessario esporre porzioni di questo sito Web ai dispositivi mobili. Le porzioni da esporre tramite dispositivi mobili devono essere definite :-).
Durante il rendering del sito posso semplicemente avere un layout mobile che esegue il rendering su un dispositivo mobile. Ma una cosa mi ha detto che gli utenti di dispositivi mobili potrebbero volere funzionalità aggiuntive che il sito Web non espone.
Forse vogliono accedere a una funzionalità che può essere fornita solo da un'applicazione mobile nativa. Ehi, io non compongo questi requisiti, questo è quello che mi è stato detto: -).
PENSIERI: il mio livello di servizio è il gateway per l'archiviazione di oggetti nel mio database.
Per qualsiasi potenziale dispositivo mobile nativo pensavo di utilizzare l'API Web per avvolgere il mio livello di servizio.
Quello che voglio fare ORA è focalizzarmi sulla mia applicazione asp.net mvc e preoccuparmi solo delle app native per dispositivi mobili quando tali requisiti diventano più definiti.
DOMANDA: fornirebbe eventuali vantaggi per codificare il livello API Web ora e i miei controller mvc lo utilizzano?
Professionisti per la creazione dell'API Web ora
- Sarà codificato e pronto se / quando un'app mobile nativa sarà online.
Contro per la creazione dell'API Web ora
- È un sovraccarico che non è necessario, specialmente se ospito WebAPI in un processo separato o in un altro sito oltre al mio sito originale mv.net asp.net.
- La tecnologia è abbastanza nuova e saranno in arrivo i potenziamenti. Se aspetto fino a tardi alcuni problemi verranno risolti.
- Chi lo sa, i miei utenti potrebbero non volere mai un dispositivo mobile nativo e la funzione non viene mai utilizzata.
-
Il codice diventa più complesso a causa del fatto di dover mantenere il livello API web ora.
Sto guardando non preoccuparsi del livello API Web per ora e semplicemente codificandolo quando necessario.
In genere non mi preoccupo di scrivere per funzionalità che devono ancora essere definite. Ma ho pensato che non sarebbe stato male chiedere, non sai mai cosa sta facendo un brillante programmatore anticonformista allo stato brado: -).