【问题标题】:appcelerator vs phonegap vs native XCode speed-to-marketappcelerator vs phonegap vs 本机 XCode 上市速度
【发布时间】:2012-03-12 20:18:43
【问题描述】:

Titanium 声称它可以比原生 XCode 平均快 70% 地执行相同的应用程序。

其他人在开发速度差异方面的经验是什么(在原生 XCode 和 PhoneGap 或钛金属之间)?

假设是 Kik Messenger 或 Badoo 之类的应用......

通常情况下,一个优秀的 XCode 开发人员可以在 4-5 周内完成,前提是图形和后端已经到位。

对于一个有经验的 Titanium (HTML5) 人员来说,实现这一点需要什么? (大致)

【问题讨论】:

  • 您从哪里获得这些应用程序在 4-5 周内构建的数据点?讨论您的质量目标可能也值得。您只是想要一些“不错”的东西还是真正优秀且引人注目的东西?当您尝试从“如果您不太在意就足够好”到出色时,JavaScript 的许多好处就会消失。
  • Rob,我绝对想要从 UI/UX 和效率的角度(速度性能)推出时脱颖而出的东西。从这个意义上说,我认为就开发速度而言,采用原生方式是一种方式,但我只是想衡量在原生方式上与通过跨平台解决方案拥有经验丰富的 HTML5 编码器相比,有多少时间会受到挫折。跨度>
  • 为了获得突出的东西,本地人通常会更快地到达那里(假设技能相似)。这不是挫折。 Native 到 v0.1 可能需要稍长的时间,但到 v1.0 会快得多(如果 v1.0 预计会非常好)。选择一个没有专门针对相关移动平台的 HTML5 编程经验的“HTML5 编码员”将是一个巨大的挫折。桌面 HTML5 开发不是一回事。如果你只有 HTML5 开发人员,他们显然会比开发原生 HTML5 更快。
  • BTW,所有跨平台开发都有这个问题。构建一个在所有浏览器上都运行良好的 Web 应用程序非常困难且耗时。仅仅因为它是 HTML5 并不能使跨平台变得容易。总是需要很多针对每个平台的 hack。即使没有 x-platform,也很难在任何平台上使 Web 应用程序与本机一样好。将本机 Word 与 live.com 上的网络版本进行比较。即使 OWA 仅支持 IE,与本机 Outlook 相比,它所能做的最好的事情还是“适合 Web 应用程序”。做网络应用当然是有理由的,但这并不是为了获得最好的用户体验。
  • @ Rob - 出于好奇,Titanium 的平均开发时间比原生编码快 70% 是什么意思? (除了公关意图)这背后有什么合法性吗?正如您上面提到的,也许只是到 v0.1

标签: iphone ios cordova titanium appcelerator


【解决方案1】:

上市时间取决于规格、流程和人员的质量,而不是基础技术或框架。

使用 Appcelerator Titanium 编写真正的应用程序并不容易,而且运行时性能比本地代码慢,因为它使用 javascript 引擎作为桥梁。尤其是大的TableView,慢了很多,感觉就是不一样。但是一旦你清除了内存泄漏,这种感觉仍然比 HTML5 好得多。

如果您计划在其他设备上分发您的应用程序或者如果您真的不喜欢 Objective C,您应该对 Titanium 或 PhoneGap(现在称为 Cordova)感兴趣。

如果没有,请使用 Native Xcode。

我要补充一点,Cordova 不会制作任何 UI,但允许您使用 HTML5 代码中的 javascript 访问相机、加速度计或 GPS。您可能会在 Cordova 中使用 Sencha Touch 或 jqueryMobile。

【讨论】:

  • 为此,Titanium 最近包含了一个 ListView 组件,它应该可以解决与 TableView 组件相关的大部分性能问题。
  • 你说:> 我认为应用程序不会在运行时使用任何 javascript,因为 javascript 只是在开发阶段使用,然后应用程序将在本机代码上生成,因此它将与直接使用本机代码开发的应用程序一样快。请有人告诉我这是对还是错。
  • 这是错误的。 JavaScript 在设备上运行。您的应用附带 JavaScript 引擎。
【解决方案2】:

根据我的经验,如果应用程序不是简单的模板应用程序,那么建议您为每个平台创建一个原生应用程序。

正如 Rob 所说,试图克服最小公分母情况并克服跨平台“解决方案”中的限制通常意味着编写代码比一开始就使用本机代码需要更长的时间。

您甚至可能遇到一个问题,导致您放弃交付并从头开始作为本机应用程序。因此,如果您决定采用 PhoneGap 或 Titanium 路线,请确保在开始之前进行充分研究,并且您不会有未涵盖的未来需求。

【讨论】:

  • 我真的接受,“你甚至可能遇到一个问题,导致你弃船并从头开始作为原生应用程序”..
【解决方案3】:

如果您是一名 iOS 开发人员并且您只为 iOS 设备开发它,那么最好使用 XCode 进行编码。如果您更喜欢 Javascript 并为 android 和 iOS 开发,那么您应该使用 Titanium 或 Phonegap。在 Titanium 和 Phonegap 之间,我发现使用 Titanium 编码更容易(而且速度也很快)。但我不确定使用钛有多少价值。 http://usingimho.wordpress.com/2011/06/14/why-you-should-stay-away-from-appcelerators-titanium/

【讨论】:

  • 良好的链接。我还没有相信,如果你想构建一个一流的应用程序,你会从跨平台框架中获得很多好处。在您花费大量时间寻找小问题以获得最小公分母的解决方案时,您可能只编写了两个原生应用程序,它们会更好地集成到他们的平台中。
  • Rob,你觉得使用模板和库与使用原生相比如何? stackoverflow.com/questions/8756/…
  • 有一些关于 Titanium 的知识需要了解,就像任何其他框架一样。 stackoverflow.com/questions/9115811/…
  • @xrave3,如果您所说的“模板和库”是指 Web 应用程序,那么它没有什么不同。如果您无法访问 Core Animation、iCloud、Data Protection 等等等等,那么您一开始是一只手被绑在背后,在通往出色应用的路上。
  • 是的,Rob,我的意思是这个链接里面的东西:stackoverflow.com/questions/215390/…
【解决方案4】:

实际上,我现在正在对所有主要的跨平台移动开发工具包进行相当深入的调查。我首先在 IOS 中创建了一个示例应用程序,它使用了一些简单的设备功能,然后将其重新实现为一个 Adroid 应用程序。这两个都需要大约一天的时间才能完成(机器人可能需要半天时间)。由于我以前从未编写过 Android 应用程序,因此我认为这是比较我正在测试的各种其他框架之间的开发时间的一个很好的基准。

我会在几周后通过博客文章更新此评论,但目前我发现这些跨平台工具包非常更难使用并花费更多时间,即使是最简单的应用程序也是如此。尽管如此,仍然需要为 UI 和设备服务功能之间的基本特殊差异编写相当多的自定义每个设备代码,因此您并没有真正获得真正的“单一代码库”的价值你可能一直在期待。

我认为这些中的主要价值可能与开发时间或代码重用无关,而只是作为非应用程序开发人员创建简单原型的一种方式,这些原型随后可以移交给“真正的“移动开发人员之后将被构建成真正的原生应用程序......在我看来并不是那么有用,但随着我进一步深入研究,我的想法可能会改变。

【讨论】:

    【解决方案5】:

    Appcelerator 不是 HTML5,它是用 JavaScript 的高级语言构建的原生应用程序。它抽象了常见元素的复杂性并提供了巨大的价值,让我离线了解更多信息。我经营着我们在加州的业务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2012-09-14
      • 2016-04-04
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多