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. 14链表中倒数第k个结点

    题目描述 输入一个链表,输出该链表中倒数第k个结点.   思路: 快慢指针 快指针 先走k 步, 然后快慢指针一起走 当快指针走到null 时, 慢指针就是所求的倒数第k个节点 tips: 判断k是否 ...

  2. $微信小程序开发实践点滴——Bmob基本REST API的python封装

    Refer:Bmob后端云REST API接口文档:http://docs.bmob.cn/data/Restful/a_faststart/doc/index.html 本文使用python对Bmo ...

  3. CSS的单位 及 css3的calc() 及 line-height 百分比

    CSS的单位及css3的calc()及line-height百分比 摘自:http://www.haorooms.com/post/css_unit_calc 单位介绍 说到css的单位,大家应该首先 ...

  4. APDU指令返回码及其代表含义

    9000 正常 成功执行6200 警告 信息未提供6281 警告 回送数据可能出错6282 警告 文件长度小于Le6283 警告 选中的文件无效6284 警告 FCI格式与P2指定的不符6300 警告 ...

  5. svn如何给新文件加锁

    第一步: 右键subversion(版本控制) 第二部:找到 subversion properties 第二部: add进行添加

  6. 【Flask】Flask Session操作

    ### session:1. session的基本概念:session和cookie的作用有点类似,都是为了存储用户相关的信息.不同的是,cookie是存储在本地浏览器,session是一个思路.一个 ...

  7. Android Studio Gradle Could not reserve enough space for object heap

    Studio 创建第一个工程报错 Error:Unable to start the daemon process.This problem might be caused by incorrect ...

  8. Linux下Wireshark的网络抓包使用方法

    Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network ...

  9. Mybatis映射配置文件<select>的学习

    resultMap的使用 当查询的表的列名与实体类的属性名不同时,有三种方式来处理: 1.使用SQL的别名 如:select user_name userName from user 2.如果符合驼峰 ...

  10. Linux新手常用命令 - 转载

    开始→运行→cmd命令 集锦 cls------------命令窗清屏eqit-----------退出当前命令ping ip--------检查网络故障ipconfig-------查看IP地址wi ...