Help Me Decide Which Backend and Database to Use?

NSouthManNSouthMan USMember ✭✭
edited December 2017 in Xamarin.Forms

I've have some app development experience, but am new to Xamarin and to adding server-side components. I would like to create a simple app for users to track some data. The data would be hierarchical (multiple levels of categorization) and consist of titles (strings) and stats (numbers).

Requirements:

  • Use Xamarin.Forms (PCL)
  • Support offline sync
  • User authentication
  • Eventually, I'd like to create a web front-end, too.

Database?
Initially, I wanted to use Cosmos DB, since I'm already familiar with SQL and would like to learn NoSQL patterns. However, it looks like official libraries do not support offline sync out of the box, so now I'm leaning toward the SQLite implementation in the MobileServices library. What do you think? Cosmos or SQLite?

Backend?
Azure Mobile Apps seems like a natural choice, but how would I extend this to support a website in the future? I'm not really sure how to split "website" versus "API" in my project structure. Should I have one general ASP.NET project that serves the website and the API? Should I have separate projects?

(Bonus)
What do you think of Prism? I want to make sure I am following maintainable and testable patterns. Would this help or just complicate things at this stage?

Sign In or Register to comment.