Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure WebApi vs Azure Mobile Service vs

I've programmed a lot in asp.net mvc web applications. Now I want to write cross-platform mobile applications with cordova for the frontend and azure for the backend.

I am in doubt whether to use azure mobile services or WebAPI, because I want the power and freedom of WebAPI, but the convenience of azure mobile services. I do not understand concepts such as authentication, push notifications, etc.

My main goal is to focus on the application logic, frontend and backend with a significant weight of that logic in the backend. For this I have great doubts.

1st. I see both good mechanisms in AMS and WebAPI for external authentication, but not to manage your own authentication. What is the best way to manage your own authentication? Is Azure Active Directory solution?

2nd My intention is to create a well-defined API methods that return the exact data (json), rather than a rest api queryable (odata). Wich is te best for this, WebAPI or AMS?

3rd I have experience with SQL Server, its relationships and Entity framework, but I do not care to learn and use NoSQL technologies, which is better? (However, I'm not comfortable with I can not use many to many relationships in NoSql).

Thank you very much.

like image 462
Eustaquio Martin Avatar asked Sep 15 '14 08:09

Eustaquio Martin


1 Answers

there is not a real general answer for that, so take these as advices.

At first, keep in mind that AMS and WebApi are not so far. An AMS project IS a WebApi project with some helpers inside to make you comfortable working with related services (push notification, table entities), but you will lose a bit of control on your application.

The choice depends on your needs

  1. Azure Active Directory IS a solution, but there are a lot more. You can use your preferred framework. AMS has got a pretty integrated login with most known social network and azure active directory as well, and is very easy to set up.

  2. I'd suggest AMS. It will be easier to setup and mantain.

AMS is just WebApi castrated. To get all these services easier for you, you cannot for example

  1. Customize startup of your application
  2. Use a dependency injection framework
  3. Run background tasks

And other stuff like that. Hope it helps!

like image 62
Vincenzo Avatar answered Oct 09 '22 05:10

Vincenzo