我正在寻找一个平台来开发跨平台的移动应用程序。我们正在开发的应用程序有点复杂,我们需要它在 Android、iOS 和 Blackberry 上运行。
我们希望代码编写一次并在每个平台上运行而没有任何内存泄漏问题。我已经阅读了有关此的各种文章,但这都是理论性的,并没有给我一个明确的想法来选择我的框架,无论是 RHOmobile 还是 Appcelerator Titanium。
请准确建议一个平台开始并继续前进。
我正在寻找一个平台来开发跨平台的移动应用程序。我们正在开发的应用程序有点复杂,我们需要它在 Android、iOS 和 Blackberry 上运行。
我们希望代码编写一次并在每个平台上运行而没有任何内存泄漏问题。我已经阅读了有关此的各种文章,但这都是理论性的,并没有给我一个明确的想法来选择我的框架,无论是 RHOmobile 还是 Appcelerator Titanium。
请准确建议一个平台开始并继续前进。
如果我错了,请纠正我,但我认为 Appcelerator 只支持“原生”Android 和 iPhone。
我很久以前就尝试过 Appcelerator,所以我不再多说那个平台了,因为它现在可能已经大不相同并且更好了。
我目前正在评估 rhomobile 作为原生开发的开发,我可以说出我最初的想法。
优点:
缺点:
我仍在学习,但这些是我对该平台的初步想法。
免责声明:我为 2011 年 7 月收购 RhoMobile 的摩托罗拉解决方案工作。
目前 (v2.2) RhoElements 面向 Windows Mobile、Windows CE、Big Windows(桌面)、Android、iOS、Windows Phone 7 和 Blackberry,并提供对 Windows Phone 8 的 beta 支持。
使用基于开源Rhodes 框架的 RhoMobile 的 RhoElements 产品,您可以使用 HTML 页面(默认使用 jquery mobile)构建应用程序界面,然后使用为移动设备实现大量功能的 Ruby MVC 框架添加业务逻辑由 Ruby on Rails 提供。您可以下载该工具进行试用,观看一些视频并参与MSI Launchpad上的论坛。
这是适合您工作的工具吗?只有你可以决定...
我可以补充一点,RhoElements 只是 RhoMobile Suite 中包含的产品之一,如果您需要同步和集成引擎,RhoConnect 与 Rhodes 完美集成,可以简化数据到设备的部署。
这三个我都用过:PhoneGap、Titanium 和 RhoMobile。(虽然总的来说我不喜欢web语言跨平台,更喜欢C++/Java/Lua/ActionScript3)
钛是我最不喜欢的——但这更多与他们网站上的误导性声明有关。(顺便说一句 - 它没有编译为本机代码)。Titanium 与 RhoMobile 相比唯一可以想象的优势是 OpenGL API。但是,如果您想进入图形领域 - 您可能会选择更强大的 MarmaladeSDK 或 AdobeAIR 方法。
Ruby 比 JavaScript 更适合“复杂”应用程序。这绝对是 RhoMobile 相对于 Titanium 和 PhoneGap 的优势。Ruby 还强加了一种 MVC 方法,这将有助于组织一个复杂的应用程序。摩托罗拉的支持很好。
不熟悉 RHomobile,但这是我在使用 Appcelerator、Native 和 Xamarin 多年后可以告诉你的(xamarin 仅几个月)
对我来说,毫无疑问,赢家是 Appcelerator。
Xamarin 吸引了我的 C# 开发人员,但是,即使在 3.0 中添加了 Xamarin Forms,仍然存在太多特定于平台的开发,这将大大提高成本。
与用 JavaScript 编写的 Appcelerator 相比,其中大约 95% 的代码将在所有平台上共享,同时仍提供接近原生的性能,这是您无法比较的
有了这两者,您将不得不学习原生移动布局的范例,如果您是 Web 开发人员,这将是一项艰巨的任务
网络泄露:这是关于 Appcelerator 的一个大神话,我认为这与 JavaScript 开发的低切入点直接相关。最重要的是,您可以在任何平台上编写泄漏代码。在大多数情况下,垃圾收集会为您处理,但如果您将全局引用分散在整个应用程序中,您将在任何平台上付出代价
至于平台本身的漏洞,Appcelerator 确实有一些报道,但他们的平台已经显着成熟
编译为本机:另一个神话。Appcelerator 是一种 JavaScript 运行时,采用桥接本机方法;这允许您使用 JavaScript 语言的所有功能;如果您是一名优秀的 JavaScript 开发人员,那么这将对您产生很大的吸引力
可维护性:这是我最喜欢的任何移动 MVC 框架与原生框架的区别。使用 Appcelerator 的 MVC 应用程序架构,我发现自己添加窗口、自定义控件、功能等比在 Native 或 Xamarin 中快得多
另一个考虑因素是测试周期在任何平台上都非常昂贵。在 JSFiddle、Codepen 等中测试代码的能力对我来说是无价的
硬件支持:我过去曾向 Appcelerator 抱怨过这个问题。当一个新的 OS 功能发布时,桥接本机方法将要求他们分散以将新功能内置到他们的桥中;这反过来又会导致新硬件功能支持的延迟。如果您对原生开发感到满意,并且您确实需要最新最好的硬件支持,您可以自己构建桥梁......过程非常简单
社区:这是我最喜欢 Appcelerator 的地方。您不会在 Stack Overflow 上找到很多 Appcelerator 问题,因为他们有自己的开发论坛,而且您通常会在几分钟内得到答案。我仍在等待几个月前我在 Xamarin 上提出的一个相当简单的问题得到回答;这是我可能对较新平台的一项保留
文档:查看每个平台并自行判断
采用率:您找到特定技术人才的可能性有多大,以及随着您职业生涯的发展,这些技能将如何轻松转化
最后,所有这些都可能无关紧要。跨平台移动领域发展如此之快,我鼓励你不断地选择许多平台,因为今天的赢家很可能是明天的遗产……哎呀,作为程序员,我们不知道已经