API Web vs Entity Framework con pattern di repository che utilizza Xamarin

0

Al momento il mio team ha un'applicazione WPF che gira sul PC. Utilizza Entity Framework 6 con il modello Repository / Unit of Work che comunica con Azure per l'archivio del database.

Al momento serviamo poco più di 300 clienti. Ma, vogliamo espandere il nostro footprint per l'app e la transizione ai dispositivi mobili. Il nostro obiettivo è sfruttare Xamarin per fare tutto il lavoro su più piattaforme e mantenere ancora tutta la nostra logica C #. Prima Universal Windows Platform, quindi Apple o Android, ma alla fine tutti e 3.

La mia domanda è: È necessario passare a una chiamata basata su API Web nel database per supportare la piattaforma incrociata? C'è qualche ragione per cui dovremmo allontanarci da Entity Framework? È meno sicuro / affidabile per le attività che faremo? Possiamo almeno mantenere Entity Framework per la piattaforma Windows universale?

La maggior parte degli sviluppatori cross-platform che incontro non sono sviluppatori di C #, quindi dicono sempre che devi avere l'API web ma sono un po 'bloccato sul perché.

    
posta markokstate 24.01.2017 - 23:50
fonte

2 risposte

1

Do we need to transition to a Web API based call to the database to support cross platform?

Sì.

Ecco perché: avrai bisogno di un'API comune, abilitata al web, per i tuoi tre front-end con cui parlare. Entity Framework non eseguirà query sul server DB su Internet.

Is there any reason we should get away from Entity Framework?

No. Puoi usarlo per costruire l'API Web. Se lo desideri, puoi persino mantenere i livelli di repository / unità di lavoro. Ecco come può essere concettualmente la tua architettura:

DB <--> Entity Framework <--> Repository/UOW <--> Web API Endpoint <==> Frontend
                                                                    ^
                                                                    JSON over Internet
    
risposta data 25.01.2017 - 00:07
fonte
1

Dovrai anche ripensare ai tuoi dati per accedere alle chiamate mentre ti sposti da un database locale tramite EF a un database remoto tramite WebAPI. Generalmente vorrete essere meno chiacchieroni e allo stesso tempo essere più concisi perché i dati mobili sono estremamente inaffidabili e glacialmente lenti rispetto alla connessione da 10 GB al server di database.

    
risposta data 25.01.2017 - 01:00
fonte

Leggi altre domande sui tag