Search code examples
sqldatabasexcodemacosfilemaker

Mac Database which one (SQL Server • MySQL • SQLlite • FileMaker • Cocoa SQL)


I would started a database project (Accounting Application) for now Mac version which will be available in AppStore. For future might be on iOS, Windows and web base. I need database app that don't need the database ported to other platforms just by changing the UI and other sources I able to port it, no need to touch the database.

I'm a bit confuse to choose a suitable database SDK or etc!

Ror example I can choose:
• SQL Server
• MySQL
• SQLlite
• FileMaker
• Cocoa SQL

Remember I need:
1- Something not to complicate and easy to use it on XCode.
2- Have a bit security on the file.
3- the most XCode user using it.
4- Price is no problem.
5- Unicode fully compatible.

For my situation, which one do you recommend.


Solution

  • I think you're approaching the problem backwards - first you should be deciding on what development and deployment platform you want to use, and then select the best database server compatible with that platform.

    What I mean by this is that whether you're using SQL Server, MySQL, SQLite, or any other faceless database engine, that doesn't answer the question of how you're going to develop or deploy the application.

    You also need to decide whether to write one application for deployment on all platforms, or if you're OK with rewriting the application for deployment on certain platforms. The only technology choices I'm aware of that will work across all the platforms you've mentioned is an HTML 5 web app (using Ruby, Java, .NET, PHP, or some other web development system) or FileMaker (using FileMaker Pro for Mac / Windows / Web deployment and FileMaker Go for iOS deployment). If you're OK with writing a desktop/iOS version separately from a web version, then you need to ask yourself how many versions you want to write. If you pick something like C / C++ / Obj-C, then you're going to need to pretty much re-write it for each platform you've mentioned (although you can port from iOS to OS X with less effort than the other platforms). If you pick Java, then you're set for web deployment, Mac deployment (although you can't distribute Java apps via the Mac App Store) and Windows deployment, but you'll need to use Obj-C or HTML 5 for iOS.

    So in summary, the right approach is:

    1. Pick your deployment target(s)
    2. Based on that choice, pick your development system(s)
    3. Based on that choice, pick your database engine.