Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do Delphi XE4 and Xamarin Monotouch differ in the way they target iOS?

I was intrigued to discover that Delphi XE4 now targets iOS. What are the main differences between the way Monotouch and Delphi XE-4 target the iOS platform?

If I understand correctly, Xamarin Monotouch targets iOS development by providing C# wrappers for the iPhone Cocoa Touch libraries. You still use the XCode Interface Builder to generate the user interface and therefore you need some understanding of iOS concepts like UIViews or Outlets and Actions which are quite different from say, using C# to develop for WinForms or WPF.

Does the Delphi-XE4 approach work the same way? Does it provide Delphi wrappers for the iPhone libraries?

Also, from an interface building perspective, does its interface builder work similar to the XCode interface builder along with the identical native controls and concepts? How different is it for a Delphi developer to target iOS rather than Windows?

like image 754
shamp00 Avatar asked Aug 24 '13 13:08

shamp00


1 Answers

The Embarcadero approach is quite different from what you describe for Xamarin.

The Xamarin approach, as you describe it, uses the platform native framework. In contrast, the Delphi iOS solution is based on the FireMonkey cross-platform framework, FMX. The FMX framework does not use native controls. Instead the framework emulates the look and feel of the native controls.

When you develop an FMX mobile app for iOS, it's a straight-forward re-compile to make that app run on Android, the up-coming mobile platform that is coming with XE5. Embarcadero view this as a significant benefit to their approach. It's up to the developer to decide whether or not the common source benefit of the FMX approach outweighs the non-native UI widgets.

All that said, it is perfectly feasible to use the Delphi iOS compiler to generate Cocoa applications. But that would require extra effort and most likely third party components.

The FMX platform is also available on Windows and Mac. So you can develop for those platforms using the same framework as your mobile apps. Obviously the mobile apps will be quite different, but if you master the concepts of FMX on one platform then they transfer easily to other platforms.

like image 170
David Heffernan Avatar answered Sep 30 '22 21:09

David Heffernan