I’ve been using the weekend to evaluate Delphi Mobile and to some extent Oxygene to see how much effort it would take to get the apps up and running on both iOS and Android. Our app needs are very basic, report a status and location to our RemObjects server for resources out in the field (personell/equipment). It’s like a login call, report position & status, logout. Very basic.
I was able to create both iOS and Android versions of this in a few hours using Delphi Mobile and a simple Datasnap server that translated the report location calls to our RemObjects server, but the process was buggy as hell and felt like it could implode at any second. I also had a hard time getting the look of the application “right” using Delphi Mobile, I needed some colored buttons for the various statuses and couldn’t figure out how to do that using Stylebooks and whatever is needed there (I have done very little Firemonkey UI stuff).
I also gave Oxygene a go, and did manage to get an application on iOS up and running that used a NSTimer to check the NSLocationManager for position every now and then. The iOS environment is new to me and I know almost nothing about the classes available, but the Apple documentation was actually OK and after figuring out how to use a few services it was rather ok. However, it was a real pain to try to figure out how to use the XCode designer for storyboards/xib’s and I really did struggle a lot to find information on how to do this with Oxygene. I finally stumbled on a video and some blogs/wikis that somewhat explained this but it was at the end of my time allocated for this.
In the end I came to the realization that the best route will be to just bite the apple and learn XCode for iOS with Objective C and Eclipse/Java for Android. In fact, it will probably be more cost effective for us to just outsource the whole mobile client development and for us to focus on the server end.
I really wish the Delphi Mobile wouldn’t suck, and that RemObjects (clients) was available on that platform. The promise of code reuse on several platforms is really tempting, and specially the familiarity of it all for us long time Delphi developers.
I am disappointed that Embarcadero treats it’s technology partners this badly, I’ve heard similar (if not as graphic) complaints from other companies before (DevExpress comes to mind).
I must admit the animosity between the two companies makes me worry for the continuation of Delphi support here at RemObjects.