【问题标题】:Is Titanium appcelerator worth it for developing camera based application on ipad, iphone and android? [closed]Titanium appcelerator 是否值得在 ipad、iphone 和 android 上开发基于相机的应用程序? [关闭]
【发布时间】:2011-05-03 14:27:07
【问题描述】:

我想构建一个手机/平板应用程序,其核心功能是用相机拍照、查看图片和接收通知。我也想针对 iphone、ipad 和 android 平台。

Titanium appcelerator 引起了我的兴趣,因为它具有跨平台的吸引力。但是我很担心,因为我在 SO 和其他网站上阅读了褒贬不一的评论。让我担心的事情是:

  • 低于标准的安卓支持
  • 相机支持功能不完全(例如 ios 4.1 HDR 功能)
  • 相机支持车

对我来说,噩梦般的场景是花时间在钛上,但后来发现它是一种主要的 PITA,然后放弃它并变成“原生”

请分享您的想法和经验。

【问题讨论】:

    标签: iphone android mobile titanium appcelerator


    【解决方案1】:

    我选择 Titanium 是为了一个严肃的应用程序,虽然它不使用相机。我认为有很多事情可以影响你的决定......

    如果您的应用打算用相机做一些“花哨”的事情,或者一些真正繁重的图像处理等等,那么您最好选择原生应用。另一方面,如果您只是想让它拍照,然后按原样使用,或者发送到服务器,或者不这样做,那么 Titanium 应该可以正常工作。 Titanium 确实有一些处理和图像处理的东西,但正如其他人所说,如果你真的想利用设备的硬件,你可能想要完全原生。

    还应注意,Appcelerator 也表示,使用 Titanium 应用程序,您不会只编写一个可在所有设备上按原样运行的应用程序。您需要为每个设备(或设备类别,即 iPhone、Android)定制 UI,因为它们具有不同的 UI,以及不同的标准 UI 流程等等。

    但是,Titanium 的潜在优势之一是,如果您不了解 Objective-C 和/或 Java,而您确实了解 JavaScript(在我的情况下,我实际上使用的是 Coffeescript :)。或者,如果您更喜欢编写 JS 而不是 ObjC/Java。这是我的主要原因之一。我过去做过一些 ObjC 开发,甚至不介意,但我正在做的这个项目的时间表非常激进,而且使用 Titanium 对我来说会更有效。我能够非常快速地设置和构建应用程序,而且我不需要花费任何时间来更深入地熟悉我正在使用的编程语言、内存管理位(对于 Titanium,你不能完全忽略这一点,但基本上他们是为你做的)。根据与我交谈过的人,以及他们在内存管理、Interface Builder 问题上花费了多少时间(这主要是因为忘记设置连接或连接各种东西很容易,IB 实际上是一个非常棒的工具),以及等等,我很高兴我使用的是 Titanium。

    虽然我希望在某个时候推出 Android 版本,但这不是优先事项。但是,我很高兴知道我的大部分应用程序代码将可重用、经过测试等,而且我最终将主要只是为 Android 构建/改进 UI,而不是重写网络代码、数据管理, 等等。 Titanium 1.5 对 Android 的支持会更好(据说),但如果优先考虑,您可能希望等待该版本评估 Android。

    最后,Titanium 确实有一个“模块”系统,它允许您包装本机代码,将其公开为 Titanium 中的 JavaScript 接口。我们即将利用它来集成第三方库,至少对于我们需要的东西,它看起来非常易于使用,并且让我更有信心,如果出现我们需要访问的某些特定本机功能,那我们很有可能在仍然使用 Titanium 的同时集成它,但我认为这将取决于特定的本机功能是什么。

    祝你好运,享受构建移动应用的乐趣吧!

    【讨论】:

    • 您认为 Titanium 是具有 Web 开发技能的人的绝佳资源。这就是它在 C4 上的展示方式,我可以看到具有强大 Web 技术背景的设计师或开发人员的优势。过去我只是被跨平台工具包烧死。
    【解决方案2】:

    我们已经在我们的一个项目中使用 Titanium 大约 2 个月了,坦率地说,我们使用 Titanium 的体验太糟糕了。

    在我看来,以下是 Titanium 的一些主要缺点:

    1) 首先,您将根本无法获得调试支持(我们可以理解在任何项目和任何技术中如何调试)。

    2) Titanium 不完全支持 Android/iPhone 的所有功能;超过一定程度它不会给你支持。

    3) 与 Android/iPhone SDK 相比,开发者从 Internet 和 API 库(Titanium 提供 API 库帮助文件)中获得的帮助将非常少。

    这些是最终开发人员在处理 Titanium 时面临的一般问题,我想有时这对他们来说是乏味和令人沮丧的工作。

    如果您的应用程序的功能有点像显示来自网络的数据(如许多新闻、媒体类型的应用程序),那么 Titanium 是合适的选择;否则不会。

    【讨论】:

      【解决方案3】:

      Android 支持不如 iPhone 好。如果您只是说 iPhone,我会说您使用 Titanium 会很幸运。但是,我认为尝试在 Appcelerator 中构建一个代码库并在您的 Android 环境中使用可能不是最好的体验。

      也就是说,IMO 编写 Android / Java 代码比编​​写 Objective C / iPhone 代码要容易得多。

      所以最坏的情况我会考虑在你的 iPhone 版本上使用 Titanium 并在 Java 中使用 Android。

      您可以尝试在 Titanium 中同时使用它们,但最坏的情况是使用 Java 版本编写代码。

      我只是非常讨厌 Objective C 和“原生”Apple 开发环境。

      【讨论】:

      • 我有很重的 java 背景,所以我同意你的看法。我的目标是减少整体开发时间,所以如果我使用钛金属,我能实现这个目标吗?
      • 各有所长,因为我不太关心 Java、Eclipse 和 Android SDK 中的一些设计决策。与我工作过的任何其他环境相比,我在 Cocoa / Cocoa Touch 中使用 Apple 的开发工具的效率要高得多。但是,我同意你的观点,即在 Android 上进行本地开发是要走的路,就像我一样争论这是为 iPhone 做的事情。
      • @numes 我认为,如果您不熟悉 Cocoa 和 Objective C,并且您并不想做出任何比 Titanium 应该做的疯狂的事情。他们的 iPhone/iPad 框架非常好,您几乎可以立即高效工作。
      • 不仅仅是一个答案,它看起来更像是对 Apple SDK 的仇恨。
      【解决方案4】:

      当与设备硬件交互是应用程序的关键要求之一时,我建议不要使用跨平台工具包。我以前没有使用过 Titanium,但我很难相信它们会为您提供与使用原生框架相同级别的硬件访问权限。

      特别是,iOS 4.0 增加了一堆关于相机的新功能,包括通过 AVFoundation 处理实时视频帧,我很难相信第三方框架会随着这些平台的发展而跟上。老实说,现在编写一个与 iPhone 上的摄像头交互的应用程序非常容易(计算 App Store 上的摄像头数量作为一个指标)。前几天我花了大约六个小时编写了一个实时摄像机帧处理应用程序。

      我不能代表 Android,但我想使用那里的原生 API 处理相机也相当简单。

      您还会发现,使用本机工具比通过第三方提供的工具更容易进行性能测试和调试您的应用程序。特别是,Apple 的 Instruments 是一款功能极其强大且易于使用的应用程序,用于跟踪应用程序中的 CPU 和内存问题。

      还有社区方面。你会发现在 Android 和 Cocoa Touch 上工作的人比在 Titanium 上工作的人要多得多(只要看看 Stack Overflow 上各种标签中的问题数量就知道了)。这意味着您可以使用更多教程和更多示例代码。

      无论您使用的是原生环境还是 Titanium,您在设置 iPhone 和 Android 构建环境以及提交到这两个商店所花费的时间都是相同的。

      最后,即使同时学习了这两个平台,我认为您也会通过避免跨平台解决方案来取得领先。相信我,我之前尝试过为其他项目进行跨平台开发,最终得到了编写时间更长的最低公分母产品。

      【讨论】:

      • 我认为查看 Stack Overflow 的 Titanium 相关问题并不能准确反映问题。我同意 Titanium 开发人员的绝对数量较少,但 Appcelerator 拥有自己的问答/论坛,我相信这是我们大多数人发布关于 Titanium 问题的地方(相对于 Stack Overflow)。
      • @chrisrbailey - Stack Overflow 可能是一个比较不公平的地方,因为它已成为 iPhone 和 Android 开发人员的主要资源。但是,我仍然认为绝大多数 iPhone 开发者都在使用 Cocoa Touch。在我在 WWDC 和其他会议上遇到的所有开发人员中,没有人使用 Titanium,少数使用 MonoTouch,其余的都使用纯 Cocoa Touch。我依靠这些人作为我的支持网络,以及 Apple 工程师,他们都没有提供 Titanium 支持。
      • 哦,我同意 Titanium 相对于整个应用程序空间开发工具选择来说仍然非常小。我确信 CocoaTouch 是 99%+。 MonoTouch,男孩,我很想看看有多少人使用它。 Titanium 声称有 6000 多个应用程序,但其中包括 Android。他们在 App Store 中有一些大的,比如 Get Glue。但是,是的,它仍然是一个小玩家。这并不意味着它不需要考虑。有几家咨询公司在其中开发他们所有的移动应用程序(据我所知):例如 Intridea 和 Rigel Group。
      • 我的意思是,您不太可能在 WWDC 上看到 Titanium 开发人员,或者在 SO 上寻求帮助,因为这些并不是帮助 Ti 的最佳资源。人们出于不同的原因使用 Ti,但其中一个原因是避免与原生 SDK 打交道。参加 WWDC 对他们来说可能没有价值。 Ti 自己的 Q&A/论坛是 Ti 开发者的专用资源,希望 Stack Overflow 上还有其他 Ti 开发者。关键是,这不是向 Ti 寻求帮助的地方,因此,我认为您不会在这里找到很多 Ti 人;因此,这不是评估有多少人在使用它的公平方法。
      【解决方案5】:

      我开发了一个基于 Appcelerator 的相机应用程序,并且对它非常满意。我认为一些负面评论来自于它有点难以设置(更多是由于苹果疯狂的开发者注册过程)。

      一旦开始,就很容易在相机屏幕上进行叠加等操作。我真的预料到这部分会遇到困难,但效果很好。

      我过去曾与 Appcelerator 团队交谈过,他们是一个很好的合作团队。我已经看到他们对其他用户问题做出响应,我相信如果我遇到真正的错误,他们会迅速解决。

      【讨论】:

      • 提姆,你也瞄准安卓吗?如果是,您的体验是什么(尤其是相机)?
      • 这部分正在进行中,但要真正了解您要处理的内容,请查看他们提供的 Kitchen Sink 应用程序。它涵盖了它们支持的所有功能(适用于两个平台),您可以查看代码以确切了解它是如何工作的。在快速浏览文档和一个简单的 Hello World 应用程序后,Kitchen Sink 将涵盖您需要的一切,您就会明白为什么我不担心风险 :) github.com/appcelerator/KitchenSinkpages.appcelerator.com/ZTAKitchenSink.html
      【解决方案6】:

      有点晚了,但我的两分钱......

      老实说,我相信您可以使用 Titanium Appcelerator 快速制作应用程序原型,并专注于关键功能集以确定它是否适合您。

      所有开发人员都有影响 cmets 的意见和经验;开发人员有不同的学习方式和不同的生产力水平......最后,归根结底,这取决于您如何使用可用的工具来提高生产力。

      由于您从一开始就声明您希望在多个平台上提供解决方案,我认为您甚至不花一两个星期调查跨平台框架然后做出决定是一个糟糕的决定根据您的个人经验。

      Titanium Appcelerator,也有PhoneGap,其中PhoneGap 可能对您有帮助的是,可以通过编写插件(I wrote one for iphone)扩展/增强底层框架,并且有一个 android 的在我的博客上也...当您跨平台移动时,这可以为您填补缺失的空白。

      此外,由于手机间隙解决方案中的 UI 是基于 HTML5 Webkit 的,因此如果您愿意,它可以在您的设备上为您提供一致的外观和感觉。 jQTouchJQuery Mobile 之类的框架正在用于 UX 和 PhoneGap 应用程序

      【讨论】:

      • 这篇文章已经过时了,但是因为有很多人看过它,所以我想我会更新我的回复,首先答案是肯定的,我们已经这样做了,看看我们在这里构建的应用程序@ 987654329@
      【解决方案7】:

      我查看了 Titanium Appcelerator 的负面反馈,但我完全同意 Aaron Saunders 的观点,即如果您使用 PhongeGap,开发支持 HTML5,可以轻松制作适用于 iPhone、iPad 和 Android 移动设备的应用程序。 p>

      【讨论】:

        【解决方案8】:

        有没有人强调钛的成本。

        他们今天联系了我,如果您不是一个人的乐队,您必须注册一个合作伙伴计划,否则如果您发布该应用程序,您将承担违约责任。

        合作伙伴计划是 5000 英镑,这对于我们作为一家初创公司来说是非常多的,因为这是我们的第一个申请,我们目前正在寻找不同的选择。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多