Titanium appcelerator 是否值得在 ipad、iphone 和 android 上开发基于相机的应用程序? [英] Is Titanium appcelerator worth it for developing camera based application on ipad, iphone and android?

查看:46
本文介绍了Titanium appcelerator 是否值得在 ipad、iphone 和 android 上开发基于相机的应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想构建一个移动/平板应用程序,其核心功能是使用相机拍照、查看图片和接收通知.我也想定位到 iphone、ipad 和 android 平台.

I want to build a mobile/tablet application whose core feature will be taking pictures with the camera , viewing pictures and receiving notifications. Also I want to target iphone, ipad and android platforms.

Titanium appcelerator 因其跨平台吸引力而引起了我的兴趣.但是我很担心,因为我在 SO 和其他网站上阅读了不同的评论.让我担心的事情是:

Titanium appcelerator piqued my interest because of its cross platform appeal. However I am concerned because I've read mixed reviews on SO and other sites. The things that worry me are:

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

对我来说,噩梦般的场景是在钛上投入时间,但后来发现它是一个主要的 PITA 并放弃它并成为原生"

The nightmare scenario for me would be to invest time in titanium only to discover later on that its a major PITA and drop it and go "native"

请分享您的想法和经验.

Please share your thoughts and experiences.

推荐答案

我选择 Titanium 是为了一个严肃的应用程序,尽管它不使用相机.我认为有很多因素会影响您的决定...

I chose Titanium for a serious application, although one that does not use the camera. I think there are a variety of things that could play into your decision...

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

If your app intends to do "fancy" stuff with the camera, or some real heavy image processing and so on, you're likely better off going native. If on the other hand, you just want to have it take pictures, and then those will be used as-is, or sent to a server, or what not, then Titanium should work just fine. Titanium does have some processing and image manipulation things, but as others have said, if you really want to take advantage of the device's hardware, you probably want to go full native.

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

It should also be noted, and Appcelerator says this as well, that with a Titanium app, you won't just write a single app that works as-is on all devices. You will need to taylor the UI to each device (or class of device, i.e. iPhone, Android), because they have different UI's, and different standard UI flows and so on.

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

But, one of the potential advantages to Titanium is if you don't know Objective-C and/or Java, and you do know JavaScript (and in my case, I'm actually using Coffeescript :). Or, if you would enjoy your work much more writing JS than ObjC/Java. This was one of the main reasons for me. I have done some ObjC dev in the past, and don't even mind it, but this project I'm doing is on a very very aggressive schedule, and it was just going to be far more effective for me to use Titanium. I was able to get set up and build an app extremely quickly, and I am not spending any time having to become more deeply familiar with the programming language I'm using, memory management bits (you can't fully ignore this with Titanium, but essentially they're doing it for you). Based on the folks I've talked to, and how much time they spend with memory management, Interface Builder issues (this is mostly the ease of forgetting to setup connections or hook various things up, IB is actually a pretty great tool), and so on, I'm quite glad I'm using Titanium.

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

While I expect to do an Android version at some point, it's not a priority. But, I'm glad to know that a large chunk of my app code will be re-usable, tested, etc. and that I'll wind up mostly just building/revamping the UI for Android, not rewriting networking code, data management, and so on. Android support will be much better (supposedly) in Titanium 1.5, but you may want to wait for that release to evaluate Android if that's a priority.

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

Finally, Titanium does have a "module" system, that allows you to wrap native code, exposing it as a JavaScript interface in Titanium. We are about to leverage this to integrate a third party library, and at least for what we need, it looks very easy to use, and has given me a little more confidence that if some particular native feature we need access to comes up, that we'd have a decent chance of integrating that while still using Titanium, but I think it would depend on what the particular native functionality was.

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

Good luck and enjoy building a mobile app, it's pretty fun!

这篇关于Titanium appcelerator 是否值得在 ipad、iphone 和 android 上开发基于相机的应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆