I've been trying to find appropriate multi platform framework or library solution for database access or even ORM for quite some time.Since the application will have to run locally on mobile devices, primarily running iOS it is important to find such library that has such possibility.

During this search I have stumbled over POCO++ and I find these libraries generally great! Search was quite thorough and at the end I realized that there is no ORM framework that would suit our project therefore the persistence classes will have to be written anyway.

Finally, I shortlisted SOCI and POCO where later offers also other functionalities that we might find useful.

Then I was reminded about Python which has most of the needed stuff built into language….however, I'm C-guy and I feel very uncomfortable with language runtimes and speaking frankly, although Python is much thinner than Java it still smells like one and I have reservation about Java, ridiculously, I believe it it a niche technology with too much questions, problems and false concepts…

Since this is very important decision and it is very clear to me that you are serious specialists there, I would like to ask you following:

- are there any technical obstacles in using POCO++ on iOS and OS X if we see no problem in wrapping C++ in objective C?- what kind of advantages there are in using C++ libraries wrapped in objective C over doing similar to Python?

I have used Poco on iOS and Mac OS X without any issues. I was not aware you could use Python on iOS, Java is a definite no. Integration into UIKit/Cocoa is via Objective-C++ (just name your implementation files .mm).

I have used POCO in my AIS Radar application, which is available on the App Store. The complete backend of the application which receives AIS (marine ship movement data) data via a socket connection and processes it is written in portable C++. The UI is ObjC with Cocoa Touch.

The nice thing with POCO and C++ is that you can freely mix it with Objective-C and Cocoa Touch code. Just change the source file extension to .M or specify "compile as Objective-C++ code" option in the project settings.

Some tips & tricks for using POCO in iOS applications can be found here.