If you are considering developing cross-platform mobile apps, two of the platforms you may encounter are Xamarin and Delphi XE5.

I created the starter application for a Master Detail app for iPad using Xamarin and Delphi XE5. My findings are outlined below.

Xamarin:

  • Generates what looks like exactly the same project as XCode.
  • The app contains Add, Edit and Delete buttons that are hooked up and working. (Just like the Xcode project.)
  • When you rotate the screen to portrait mode, the menu hides and can be shown again by tapping the menu button at the top left. (Just like the Xcode project.)
  • After scrolling and stopping, I tap a menu item and it immediately opens that item on the right. (Just like the Xcode project.) This is the behavior I expected. This is how the email app that comes with iOS works.
  • If I scroll and stop, then lift my finger, the scrollbar goes away almost immediately so I can tap another item. (Just like the Xcode project.) That is expected behavior.
  • If the app is in landscape mode and I click the Home button and then return to the app again, it is is still in landscape mode. (Just like the Xcode project.) That is the behavior I expected.
Delphi XE5:
  • Generates a project that looks somewhat similar to the XCode project but with pictures.
  • Does not have Add, Edit or Delete functionality but it does have arrows for moving Next and Previous.
  • When rotating to portrait mode the menu does not hide, rather the body on the right gets thinner.
  • After scrolling and stopping, I tap a menu item but that just stops the scrolling. I have to tap again to open the item. That is annoying and is not the behavior I expected.
  • If I scroll and stop, then lift my finger, the scrollbar goes away after a short delay so I have to either wait until it goes away before tapping another item, or tap the other item twice. (Sometimes the scrollbar doesn't go away until I tap again.) Both are not the behavior I expected. It is worth noting here that on an Android project during a previous experiment using Delphi, I ran into an issue where if you scroll an area that contains a button and then you tap the button, it sometimes requires you to tap it a second time before it will register the tap event.Delphi supposedly compiles down to be a native app, but it seems that it uses it's own custom scrollable area component that does not have the same behavior as the real one.
  • If the app is in landscape mode and I click the Home button and then return to the app again, it is back in Portrait mode, but then it rotates back to landscape mode. I would have expected it to be landscape mode again when returning to it.
Is there a clear winner? I wouldn't say so. Xamarin will allow you to share some (not all) of your code across iOS, Android and Windows Phone projects. Delphi has some glitchy functionality with scrollable areas, but if I understand correctly it will allow you to share all of your code across iOS and Android projects (though not Windows Phone.)

Comparing Xamarin and Delphi XE5 to Xcode for Cross Platform Mobile App Development的更多相关文章

  1. Property Finder – a Cross-Platform Xamarin MonoTouch Mobile App

    Developers are now finding themselves having to author applications for a diverse range of mobile pl ...

  2. Xamarin vs React Native vs Ionic vs NativeScript: Cross-platform Mobile Frameworks Comparison

    CONTENTS Reading time: 14 minutes Cross-platform mobile development has long been a viable alternati ...

  3. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  4. 垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想

    Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来參加Delphi XE5的公布会的. 有人可能要问为什么是Embarca ...

  5. 垂死或涅槃重生 -- Delphi XE5 我们将宣布感情的回归

    Delphi 在很大程度上是一个被遗忘我的工具. 无论是在使用RapidSql , 我还没有收到Embarcadero 本公司发行参与邀请Delphi XE5该公告将. 可能有人会问,为什么Embar ...

  6. DELPHI XE5 UP2 运行IOS 遇到 Wrapper init failed: (null)问题的解决办法

    一.问题表现: 在MAC OSX(10.9.2)上安装了比较新的XCODE5.1 和COMMAND LINE TOOLS 在DELPHI XE5 UP2上放了一个按钮,输出到MAC OSX上,出现: ...

  7. Delphi XE5 支持的Android 版本

    Delphi XE5 已经支持Android应用开发.  那XE5支持Android的哪些版本呢?Delphi编译的APP能部署到Gingerbread (2.3.3-2.3.7), Ice Crea ...

  8. DELPHI XE5 与SQLITE

    最近一次使用DELPHI做项目是使用DELPHI2009,为了访问本地数据库方便,使用ACCESS数据库,不需要安装驱动,(WINDOWS自带),但是ACCESS数据库的性能确实很糟糕,通过ADO连接 ...

  9. Delphi xe5 手机开发经验(新手级别)

    Delphi xe5 手机开发经验(新手级别) http://diybbs.zol.com.cn/1/34037_699.html http://www.delphitop.com/html/jiqi ...

随机推荐

  1. Changing an Elements innerHTML in TWebBrowser

    I'm unable to change the innerHTML of a javascript element, but i can change the id so i'm not sure ...

  2. python中的pass语句是什么

    当用python写代码时,有时可能还没想好函数怎么写,只写了函数声明,但为了保证语法正确,必须输入一些东西,这种情况下,我们会使用pass语句 def func(*args): pass break语 ...

  3. 在Windows上以服务方式运行 Redis

    ServiceStack.Redis 使用教程里提到Redis最好还是部署到Linux下去,Windows只是用来 做开发环境,现在这个命题发生改变了,在Windows上也可以部署生产环境的Redis ...

  4. ceph存储安装配置

    1.修改yum源: 1.安装yum源:sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://dl.fedor ...

  5. PL/SQL编程—变量

    SQL> declare c_tax_rate ,):=0.03; v_name ); v_passwd ); v_sale ,); v_tax_sale ,); begin select na ...

  6. HDU 4292 Food (拆点最大流)

    题意:N个人,F种食物,D种饮料,给定每种食物和饮料的量.每个人有自己喜欢的食物和饮料,如果得到自己喜欢的食物和饮料才能得到满足.求最大满足的人数. 分析:如果只是简单地N个人选择F种食物的话可以用二 ...

  7. linux 安装 maven

    一.下载 1.创建下载软件包目录  mkdir /home/install 2.在/home/install下载maven包,或者将下载好的maven压缩包上传至/home/install wget  ...

  8. Linux中read命令的用法—(6/30)

    read命令是一个非常重要的bash命令,用于从键盘或者表中输入中文本,并且可以和用户进行交互:该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名 ...

  9. jQuery垂直滑动切换焦点图

    在线演示 本地下载

  10. System.load 和 System.loadLibrary详解

    System.load 和 System.loadLibrary详解 1.它们都可以用来装载库文件,不论是JNI库文件还是非JNI库文件.在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI ...