4

我正在寻找一个平台来开发跨平台的移动应用程序。我们正在开发的应用程序有点复杂,我们需要它在 Android、iOS 和 Blackberry 上运行。

我们希望代码编写一次并在每个平台上运行而没有任何内存泄漏问题。我已经阅读了有关此的各种文章,但这都是理论性的,并没有给我一个明确的想法来选择我的框架,无论是 RHOmobile 还是 Appcelerator Titanium。

请准确建议一个平台开始并继续前进。

4

4 回答 4

5

如果我错了,请纠正我,但我认为 Appcelerator 只支持“原生”Android 和 iPhone。

我很久以前就尝试过 Appcelerator,所以我不再多说那个平台了,因为它现在可能已经大不相同并且更好了。

我目前正在评估 rhomobile 作为原生开发的开发,我可以说出我最初的想法。

优点:

  • 摩托罗拉和 rhomobile 团队的大力支持。真的很大,他们速度很快,知道自己在做什么。
  • 这很容易学习。我发现 Ruby 非常容易学习,如果你愿意,你几乎可以完全避免它,只做基础。该框架也非常简单明了,使用任何库通常只需要调用一个函数。
  • 支持开箱即用的许多设备硬件功能(相机、条形码扫描仪等)
  • Rhhub、Rhoconnect、RhoGallery,看看它们,它们工作得很好,为平台带来了很多价值。

缺点:

  • Rhostudio(仍然)很烂。它是一个缺少任何现代 IDE 的所有强大功能的工具。幸运的是,您可以使用任何其他编辑器(如 Sublime 文本)进行开发并使用命令行。我使用 Rhostudio 只是为了构建和一些快速编辑以避免命令行。
  • 就像每个框架一样,当你想做一些它还没有准备好做的事情时,这是一种痛苦。检查已包含的功能和库,并确保它具有您需要的一切。它允许您编写扩展,但这并不是您真正想要的。
  • 如果它不像文档中描述的那样工作,为 windows mobile 和 blackberry 构建和部署(不使用 rhohub)可能会很痛苦。
  • 很多过时的文档。许多事情并没有按照文档中的描述进行,或者您无法找到所需的详细信息。那就是启动板和谷歌组中的支持大放异彩的时候。
  • 不知道为什么,但我一直觉得移动跨平台开发还没有实现,但它已经实现了......

我仍在学习,但这些是我对该平台的初步想法。

于 2013-01-07T12:42:21.180 回答
2

免责声明:我为 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 完美集成,可以简化数据到设备的部署。

于 2013-01-07T09:35:15.033 回答
2

这三个我都用过:PhoneGap、Titanium 和 RhoMobile。(虽然总的来说我不喜欢web语言跨平台,更喜欢C++/Java/Lua/ActionScript3)

钛是我最不喜欢的——但这更多与他们网站上的误导性声明有关。(顺便说一句 - 它没有编译为本机代码)。Titanium 与 RhoMobile 相比唯一可以想象的优势是 OpenGL API。但是,如果您想进入图形领域 - 您可能会选择更强大的 MarmaladeSDK 或 Adob​​eAIR 方法。

Ruby 比 JavaScript 更适合“复杂”应用程序。这绝对是 RhoMobile 相对于 Titanium 和 PhoneGap 的优势。Ruby 还强加了一种 MVC 方法,这将有助于组织一个复杂的应用程序。摩托罗拉的支持很好。

于 2013-01-27T04:12:11.363 回答
2

不熟悉 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 上提出的一个相当简单的问题得到回答;这是我可能对较新平台的一项保留

文档:查看每个平台并自行判断

采用率:您找到特定技术人才的可能性有多大,以及随着您职业生涯的发展,这些技能将如何轻松转化

最后,所有这些都可能无关紧要。跨平台移动领域发展如此之快,我鼓励你不断地选择许多平台,因为今天的赢家很可能是明天的遗产……哎呀,作为程序员,我们不知道已经

于 2014-10-15T18:07:55.910 回答