- 已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。
要求我们推荐或查找工具、库或最喜欢的非现场资源的问题对Stack Overflow来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem以及迄今为止为解决该问题所做的工作。
八年前就关门了。
Improve this question
我用Java开发Android应用程序已经有一段时间了,现在已经开始掌握了。但是,如果我想在iOS版本上开始,我需要从头开始编写所有代码--这是不可取的。
我想知道现在有哪些跨平台解决方案,以及它们在实践中的效果如何。我一直在考虑网络应用程序--可能使用jQuery Mobile或Titanium,或者Adobe Flash/Flex/Air。我也还没有Mac电脑,可能需要投资购买。
所以我的问题:
- iOS/Android(和/或其他设备)有哪些跨平台开发环境?
1.您使用这些工具的经验是什么?(这是我非常想知道的)
9条答案
按热度按时间3yhwsihp1#
免责声明:我在一家名为ParticleCode的公司工作,这家公司提供跨平台框架。在这个领域有很多公司。新的公司似乎每周都在涌现。好消息是:你有很多选择。
这些框架采用了不同的方法,其中许多从根本上是为了解决不同的问题而设计的。有些专注于游戏,有些专注于应用程序。我会提出以下问题:
你想写什么?企业应用程序,个人生产力应用程序,益智游戏,第一人称射击游戏?
你喜欢哪种开发环境?IDE还是纯文本编辑器?
你对编程语言有强烈的感觉吗?在我熟悉的框架中,你可以从ActionScript、C++、C#、Java、Lua和Ruby中选择。
我的公司更多的是在游戏领域,所以我还没有太多的JavaScript+CSS框架,如Titanium,PhoneGap和 Sencha 。但我可以告诉你一些面向游戏的框架。游戏和富互联网应用程序是一个跨平台框架可以发光的领域。因为这些应用程序倾向于更重视视觉上的独特性,而不太重视与本地UI的融合。
注:
今天我们宣布ParticleCode已经被Appcelerator收购,Appcelerator是Titanium跨平台框架的制造商。
...
自2012年1月1日起,[Particle Code]将不再正式支持[Particle SDK]平台。
Source
就学习曲线而言,我想说Unity的学习曲线(对我来说)最陡,Corona是最简单的,粒子和Airplay介于两者之间。
另一个有趣的地方是框架如何处理不同的外形因素。Corona支持动态缩放,Flash开发者对此非常熟悉。这非常容易使用,但意味着当你从iPhone这样的4:3屏幕切换到新的qHD Android设备这样的16:9屏幕时,你最终会浪费屏幕空间。Particle SDK的UI编辑器可以让你设计灵活的缩放布局,但也可以让你根据不同的屏幕大小调整布局。这需要多花一点时间,但可以让你让应用程序看起来像是为每个屏幕定制的。
当然,什么样的工具对你有效取决于你个人的品味、工作风格以及你的目标--所以我建议你下载几个这样的工具并尝试一下,所有这些工具都是免费的。
另外,如果我可以发布一个公共服务公告--这些工具中的大多数都在积极的开发中。如果你找到了一个你喜欢的框架,通过各种方式发送反馈,让他们知道你喜欢什么,你不喜欢什么,以及你想看到的功能。你有一个真正的机会来影响这些工具的下一个版本。
vddsk6oq2#
MonoTouch和MonoDroid,但是Attachmate的这部分会发生什么现在是任何人的猜测。当然,即使使用mono解决方案,您仍然创建非跨平台视图,但是想法是业务逻辑的重用。
继续关注http://www.xamarin.com/,看看他们能想出什么会很有趣。
9nvpjoqh3#
我在PhoneGap+jQuery移动的中做一些非常简单的事情的经验还不错。我能够在iOS上快速完成。然而,如果不做一些修改,它就不能在我的Android手机上工作。这个项目是一个非常简单的应用程序,用于拍照并将照片发布到网站上。最终,与真正的本地应用程序相比,它感觉“笨拙”。
我不认为跨平台开发会很容易。我认为浏览器是你能得到的最接近的东西。选择PhoneGap这样的东西,我认为你只是在用一组痛点交换另一组痛点。
efzxgjgh4#
如果你不想使用成熟的跨平台开发框架,可以考虑C++。iOS完全支持通过Objective-C使用C进行应用逻辑。我不知道Android通过NDK对C的支持是否适合用C进行业务逻辑,而不仅仅是一些性能关键的代码片段。但是如果这个用例得到了很好的支持,您可以给予一下。
当然,这种方法只有在应用程序逻辑构成项目的最大部分时才有意义,因为用户界面必须为每个平台单独编写。
事实上,C++是支持最广泛的编程语言(C除外),因此是大多数大型跨平台应用程序的核心语言。
omqzjyyz5#
虽然我才刚刚开始关注这一领域的发展,但我认为这可以归结为以下基本区别:有些工具保留了原始代码,有些移植到了本地...
例如,PhoneGap只是保留你编写的HTML/CSS/JS代码,并将其 Package 在足够的iOS代码中,以符合应用程序的要求,而Appcelerator则为你提供了一个XCode项目...因此,如果你不熟悉iOS,那么它不会真正为你提供任何优于PhoneGap的好处,但如果你 * 确实 * 知道一点,这可能给予您在进行较大的编码工作之后能够更好地调整本机版本。
我自己没有使用过appcelerator,但几周前参与了一个项目,我们的一个团队成员用它在大约24小时内制作了一个完整的iPad应用程序。
是的,要真正向苹果提交,你必须买一台mac电脑,但如果这不是你的主要工作平台,你可以买便宜的。
lp0sw83n6#
Cappuccino或PhoneGap。
有时候,虽然试图找到一个捷径并不能保存你的时间或给予你一个可比的最终产品。
06odsfpq7#
还有MoSync Mobile SDK
GPL和商业许可证。有一个很好的概述他们的方法here。
9rbhqvlz8#
如果你曾经使用过LUA,你可以试试Corona SDK可以创建在IOS和Android上运行的应用程序
https://coronalabs.com/
我已经下载了它,并弄乱了一些,我发现LUA是一个非常容易学习的脚本语言,没有通常的脚本语言的麻烦/限制...
baubqpgj9#
还有BatteryTech,我们在过去的18个月里一直在使用它,并发布了几款游戏。http://www.batterypoweredgames.com/batterytech
所有的C++,Android和iOS支持,所有的用户都可以得到完整的源代码。新的v2包括lua绑定。