iPhone开发工具的工作方式
你不需要掌握Cocoa和Objective C来创建杀手级的iPhone应用。Rhomobile、PhoneGap、Appcelerator和Ansca工具利用了标准的Web技术,同时也利用了本地特性
当前版本的应用程序仅适用于iPhone和Android,但如果Appcelerator愿意,其结构将允许它在未来转移到其他平台。Titanium可以直接使用JavaScript而不是HTML和CSS,这意味着它甚至可以巧妙地移植到不使用WebKit的旧手机上。不过,这是投机。Appcelerator的路线图显然专注于iPhone和Android。
Ansca电晕在我写这篇文章的时候,也许在很长一段时间内,Flash代码都被iPhone忽略了。不过,Flash开发人员现在有一种方法可以将他们的脚本技能应用到iPhone上:使用Ansca的Corona SDK。您编写Lua, Corona将其转换为一个iPhone应用程序。
这个框架可能是许多Flash和游戏开发人员最容易访问的框架,因为Lua经常在这些领域使用。举例来说,Flash Lite游戏的翻译应该相对容易,不过让它们适应使用加速计和多点触控屏幕将需要一些工作。Lua语言包括许多使动画变得简单的基本特性。
Ansca为专门设计的帮助动画师的语言添加了几个新特性。过渡和放松方法将帮助计算显示器中渐变对象的所有位置,这有助于设置动画。它不能处理复杂的曲线,但可以处理线性、二次和指数过渡。
框架处理了初始化OpenGL和Objective C的所有细节,使得Flash程序员在不学习指针或malloc的情况下更容易创建iPhone应用程序。不过,并不是OpenGL的每个部分都可以通过Lua使用。三维扩展仍在计划阶段。就像大多数Flash开发者一样,你只能玩2d游戏。
Corona的Lua是用来让精灵在屏幕上跳舞的。
事件代码也关注单个触摸。每个飘浮在屏幕上的对象都可以有自己的事件监听器,这使得检测命中变得简单,但是没有机制来处理多点触摸事件,比如捏和张开手指。Ansca还在尝试区分拖放和点击事件。
我认为休闲游戏的开发者会喜欢这个工具,因为这些游戏通常都是用Flash编写的,并且仅限于二维空间。虽然有些开发者可能想要等到OpenGL的全三维访问,但我发现我最喜欢的iPhone游戏仅限于2d。虽然屏幕分辨率很好,但对于真实的3-D来说还不够好;只有让物体移动才能改变深度。有趣的是,我最喜欢的iPhone游戏看起来就像80年代的街机游戏。如果这是你想要创造的,你可以用Corona快速完成。
四个好工具这些框架的成功程度完全取决于你想做什么。这些sdk都无法生产出像Super Monkey Ball这样复杂的东西,因为它们都仅限于二维应用程序。如果你想要3d,你就必须自己做很多工作。
它们还需要一定的开销,这会降低应用程序的速度,尽管没有您想象的那么快。例如,Corona的开发人员正在密切关注他们的解释器的大小。他们感到自豪的是,它只有200KB,比Flash小得多,部分原因是它不需要向后兼容。
Corona可能是二维游戏的最佳选择。我不想用PhoneGap、Titanium或Rhodes处理很多游戏,尽管一个老练的AJAX黑客可以做任何可以用浏览器完成的事情。
PhoneGap、Titanium和Rhodes最适合让用户通过菜单浏览充满信息的数据库。它们处理许多基本动画和过渡,您可以提供数据和基本布局。如果您想同时生成一个Android应用程序,这些框架也很好。Rhodes目前承诺提供最多的跨平台支持,不过如果PhoneGap和Titanium开始赶上来,我也不会感到惊讶。
现在根据价格做决定还为时过早。科罗娜和钛都还没有报价。PhoneGap是一个开源项目,赞助商Nitobi随时准备提供专业支持。如果您将所有源代码发布到GPL 3.0版本的应用程序中,Rhomobile Rhodes是免费的。如果您希望保留自己编写的源代码,可以根据收入的百分比购买许可。企业用户也可以按座购买许可证。
这项技术本身是可靠的,非常实用,但政治是复杂的,被掩盖在秘密之中。用一种语言模仿另一种语言是程序员们从打孔卡比iPhone还大的时代就开始使用的老把戏。但即便是那些在空调房里维护大型机的人,也没有像苹果公司那样执行相关规定,而这些规定正是问题所在。
没有人知道如果用户在未经苹果许可的情况下为模拟器下载新软件会发生什么,但很明显,SDK的要求禁止开发者添加新功能或从互联网获取新代码。该公司通常会拒绝一些但不是所有使用仿真器的应用程序。(再次提醒,请参阅我个人被拒绝的故事)。
在这篇评论中,这些产品背后的公司采取了不同的策略。Rhomobile欣然接受了苹果公司彻底测试和测试的目标去掉了eval函数来自Ruby解释器的Rhodes实现。该公司还与苹果公司密切合作,以确保用其工具构建的应用程序不会改变其功能。Rhomobile公司表示,它不会因为被拒而遇到任何麻烦。
深入研究移动2.0技术InfoWorld的“移动2.0”PDF特别报道。]
一些使用PhoneGap的开发者已经开始公开活动,希望让苹果了解PhoneGap方法的优势。例如,读一下开发者Mike Nachbaur的文章最初的和后续与苹果的应用程序商店打交道。
有人反驳说,这样的框架可以减少用户无意中使用违反苹果指导原则的用户界面的几率,从而加快审批过程。当目标C开发人员试图自己做一些事情,发现自己的解决方案不正确时,他们经常会搁浅。(见贾里德·布朗的故事,应用拒绝,Macworld论坛例子。)
使用这样的工具包的程序员不会犯初学者的错误。虽然Objective C是一种相当不错的语言,但它是否适合用于高性能游戏还不清楚。即使在优秀的开发人员手中,指针也是危险的。内存管理和线程很容易混淆。这些工具包消除了开发人员道路上的许多地雷,并为他们节省了一些痛苦。软件行业建立这样的层次是因为它们使每个人的生活更容易。仿真器和eval之类的方法是很好的工具。苹果公司最好向各种现代语言敞开大门。
Rhomobile、Nitobi、Appcelerator和Ansca工具大大加快了创建应用程序的速度。其结果通常比使用Objective C更符合标准,但就像任何其他工具一样,使用它们的方式各不相同。如果应用商店的审核者喜欢最终的应用,成功的几率就会大得多。通过使JavaScript、Ruby和Lua程序员更容易集中精力设计应用程序,而不是学习一门新语言,这些工具提供了一个良好的开端。
相关文章
- iPhone应用商店轮盘赌:一个被拒绝的故事
- 如何选择一个移动开发平台
- 从开发者的角度看智能手机平台
- 跨平台选项:智能手机的Web应用程序
- InfoWorld的深度报道:移动2.0技术
- 苹果不希望在你的iPhone上使用的21个应用程序
- 手机死亡竞赛:Palm Pre对iPhone
- 死战再战:黑莓对iPhone 3.0
- 手机死亡竞赛:黑莓vs iPhone 3.0,肩并肩
- 你能在iPhone上做多少工作?
- 你能用黑莓手机做多少工作?
- 你能像使用黑莓一样使用iPhone吗?
- 乍一看:iPhone 3G S是一场变革
- 乍一看:iPhone OS 3.0对商业来说更好,但它不会令人满意
- 你的下一部iPhone: iphone3.0升级版还是iphone3g S?
- iPhone 3.0:信息世界导览
- iPhone应用程序开始着手工作
这篇文章,“以你的方式工作的iPhone开发工具”最初发表于信息世界 。
版权©2009Raybet2