移动跨平台课程

时间:2010-08-26 07:34:20

标签: mobile cross-platform code-reuse

不同移动平台可以使用类似语言的事实意味着您可以在这些平台之间重用类吗?例如iOS,Android和Symbian设备上的c ++代码。或者还有其他一些需要考虑的因素,图书馆等吗?

本着同样的精神,可以使用MonoTouchMonoDroid(最终)在iOS,Android和Windows Phone之间共享C#代码吗?

编辑:是否可以在MonoTouch,MonoDroid之间共享UI代码?

1 个答案:

答案 0 :(得分:1)

不,语言肯定太不同了。为了能够重用类,必须使用相同的语言编写它们。而且,由于Apple已经开始使用iOS中除Objective-C之外的所有语言,因此您将无法重用代码。 Apple的(令人发指的[主观])决定[1]之后的MonoTouch状态现在非常值得怀疑。

然而,在典型的独裁时尚[主观再次]中,Apple尚未完全一致,因此他们并未禁止使用PhoneGap(http://phonegap.com)或Titanium({{ {3}})。在那里你用HTML5,Javascript& amp;朋友。如果您可以使用这些技术编写应用程序,那么仍然可以使用只有一个代码库的跨平台方法。

当然,请记住算法不是特定于语言的。不同语言中的类通常可以在功能上几乎相同,尽管你必须维持其中的几个。

修改

讨论的澄清:

  • 实际上支持使用C ++类[2]。这开辟了代码共享应用程序更抽象部分的可能性。
  • MonoDroid的状态似乎非常不清楚。 [1]中提到的讨论很长,并且有两个强有力的答案指向两个方向。重要的是要记住,苹果公司在其新的许可条款中的事实上的目标是Flash,而不是史蒂夫·乔布斯所说的自身的跨平台框架[3]。这让Apple可能希望默默地允许基于MonoDroid或其他跨平台框架的应用程序。

[1]像往常一样,这不是100%明确,例如看到这个问题:http://www.appcelerator.com/

[2] Is MonoTouch now banned on the iPhone?

[3] http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocCPlusPlus.html#//apple_ref/doc/uid/TP30001163-CH10-SW1