艾玛迪斯咨询讨论了跨平台的应用程序开发的iPhone,Android,黑莓和Windows Phone 7

艾玛迪斯咨询讨论了跨平台的应用程序开发的iPhone,Android,黑莓和Windows Phone 7   作为   一个移动应用程序开发的公司,我们帮助企业和企业家创造出各种各样的智能手机应用程序。一个问题,我们经常问的是有关跨平台的开发,或者从一个平台的应用程序到另一个平台移植。   术语“移植”是指软件的可移植性从一个平台到另一个平台,或者是多么容易适应一个程序,工作在不同的平台。软件被认为是移动,当它移植到新平台的成本比从头开发它的成本更低。该软件就其实施成本移植的成本越低,便携是。   应用程序通常不被认为是非常便于携带。但也有跨平台开发的许多方面,它可以帮助节省时间和金钱上的多平台应用。   省钱的跨平台开发   不幸的是,四大平台 - iPhone?黑莓? ?的Andr​​oid和Windows Phone 7 - 所有使用与其他平台主要是不相容的独特的编程语言。有极少数的例外,但大多是,应用程序是不是很便携。   除了真正的便携性,有很多事情可以做,以帮助减少在一个新的平台,推出一个应用程序的成本。   提前计划跨平台应用开发:让你的开发人员预先知道,如果你正计划扩大到多个平台,并打算使用的平台。   重复成功案例:使用相同的开发者或开发团队为您拓展到每一个新的平台。即使代码不能重用,逻辑经常保持在平台上,并扩展到新的平台之间有些一致可以比初始的开发更便宜或更快。   理解的局限性:跨平台的应用程序开发,即使以高便携性的框架,还需要大量的额外工作。每个额外的平台将增加额外的成本以及可能的长期维护成本。   看看应用程序之外:考虑开发一个移动网站,或基于Web的应用程序,这将是在大多数移动平台兼容。或者创建一个网站的工具,可以在应用程序界面里进行包装。   在平台扩展:另一种跨平台的开发是优化你的应用程序在同一平台上更多的设备。而不是从iPhone扩大到黑莓例如,考虑建立你的应用程序的iPad的优化版本。   了解你的市场:了解利益和其他平台的风险。每个平台都有其独特的竞争中,一个独特的用户群,以及独特的文化。一个应用程序,以及是否在一个平台上可能不适合另一个。   的三层智能手机应用程序开发   在基本意义上说,应用程序是建立在三个层次:数据层,用户界面​​,以及处理逻辑和控制码“业务”层。不同地各自的主要平台管理这些层,这意味着在跨平台的开发,每一层必须考虑就其本身而论。   1)数据层   数据既可以在本地存储在设备上,或者在一个基于网络的外部数据库。例如,电子邮件应用程序主要依赖基于Web的服务器来提供和管理邮件,而一个照片编辑应用程序主要依赖于本地存储(存储设备)。   的好处,以基于网络的存储是,它趋向于相当好所有的设备进行优化,并且如果计划正确,是在所有平台上相当兼容。当然,要真正节省时间和金钱,你未雨绸缪的多平台接入势在必行,但是这是最兼容的解决方案。   当然也有时间和情况下,一种基于网络的解决方案不是最佳的一个特定的应用程序。这可能是因为要求有一个可靠的数据连接,或者这样一个事实:Web服务可能仅仅是“大”的一个简单的应用程序的解决方案,或其他各种原因,在本地数据存储可能会使更多感。   使用本地数据层​​可能会出现更多的挑战,因为每个平台和设备处理的数据存储和SD卡接入一点点不同。但总体而言,一个应用程序的本地数据层​​是横跨各个平台相当一致。   2)用户界面层   覆盖每隔一层是用户界面。这就是用户看到并与应用程序交互。我们的CEO已经在用户界面的设计和开发及其对移动计算,这是值得一读的移动界面设计的更多信息广泛地写。从发展的标准,最大的问题是,每一个平台(通常是在一个平台上的每个设备)都有自己独特的用户界面需求。   从广义上讲,很容易地说,在iPhone的原生UI控件是在任何Android手机控制明显不同。这是因为iPhone和Android正试图从另一个不同的(只是看对Android的“硬件”按钮的数量 - 8 - ,与iPhone 4的按键),这使得明显的用户界面和用户体验的变化当在跨平台的开发期待。   但是,同样重要的是在同一个平台上的设备之间的唯一区别。最明显的例子是Android的,与市场上更已经宣布今年发布约150个装置,至少60。尽管对于大多数这些装置的控制保持一致,它们有各种不同的形状,大小,并经常与需要额外的定制和适应,以确保获得最佳体验不同的硬件功能。   那么如何快速,经济地定制了150设备的应用程序?这是另一个博客的答案。但问题是,有没有简单的一个尺寸适合所有人的解决方案。   3)的核心代码和逻辑层   代码层是大多数应用程序的最大和最复杂的部分,因为它带来的一切融合在一起,使一切工作。不幸的是,该层是彼此不同的平台和不能从一个平台可以容易地移动到另一个地方。   例如,iPhone应用程序一般都写在Objective-C,而Android应用程序都是用Java和XML。由于Android不支持目标C和iPhone没有按使用Java或XML做的很好,开发商有非常少的代码,可以直接回用。   有一些技巧和提示,使跨平台的开发更容易一点它不需要第三方工具。例如,如果一个iPhone应用程序开发中的ANSI C或C + +就可以更容易地移植到其他平台。不幸的是大多数应用程序都没有创造这种方式(适用于各种各样的原因),但有些应用程序,如较大的游戏引擎,完成这样的。这是用ANSI c + +的游戏引擎或其他应用程序,可以覆盖在薄薄的​​目标C或iOS的界面层,它可以在iPhone上运行,自然。   由于Android也有一个原生开发套件(NDK),允许部署的ANSI C / C + +代码,可以重复使用许多相同的代码,除了与接口为C / C + +薄薄的Java层。即便如此,爪哇到C的融合是一个脆弱的过程,未必能取得最佳的效果,而且它只会增加效率,更大,更复杂的应用程序。创建更小或更简单的应用程序,这样可以帮助你重新使用一些代码,但它增加了一个相称的大量额外的代码,可能不会真正帮助节省任何时间。   还有另一种选择,可能很快就会更可行的商业应用程序开发:第三方工具。   第三方工具   第三方工具做一个简单的承诺:一次代码,并部署在多个平台上。虽然在技术上真的,这句话应该有几个主要的星号和注意事项。   ?没有工具,它可以创建一个“可执行文件”,将工作每一个主要的移动平台上,并寻找跨平台开发选项,黑莓是特别具有挑战性。   ?为了创建一个代码,一旦用户界面,它会比任何天然的UI似乎国外。这意味着它不会像iPhone上的一个iPhone应用程序,或者对Android的Andr​​oid应用程序等,这将是一些独特的,也是国外的和不熟悉的外观和功能方面。   ?还有就是,当一个应用程序没有按正确部署在一个平台上,或单个设备不容易解决。你可能被卡住花了你的预算,但不要有一个工作的产品。   ?谁也不能保证一个应用程序的质量,并没有很好的解决方案,如果你投资你的预算,但别有应用程序的质量,你正在寻找时,它被部署在多个设备上进行。   总之,虽然这些工具可以提供一定程度的“一次代码,部署多次,”这些工具仍处于起步阶段,并部署在多个平台上的能力还是有点不完整的。有很多注意事项,如果你正在寻找一个“一次代码”的解决方案,那么你必须愿意对这些警告内生活。   第三方工具的最佳使用像这样的是要了解自己的局限。在大多数情况下,这些有帮助的代码层的电位,但仍需要手动用户接口的定制。   另外一个挑战是,即使有多个工具;有没有可以部署在所有平台上,即使在有限度的一个工具。这意味着一个工具,可以做iPhone和Windows Phone 7的部署,而你需要另一个做iPhone和Android。这意味着,即使有些工具可以节省一些时间在某些平台上,对于一切没有一个神奇的解决方案。   为了使第三方工具真正为你工作,你必须有一套坚实的部署计划,并知道你所要完成的东西。在某些情况下,第三方工具可以是非常有帮助的,但它们也可以是一个障碍,如果你的期望不符合了他们的能力。   我们强烈建议您来说有一个经验丰富的移动应用程序开发者和创造一个多平台的部署计划。有很多选择,和经验丰富的开发人员可以帮助你找到能产生最好的结果正确的计划,并节省您的时间和金钱的过程中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值