当前位置:  开发笔记 > 编程语言 > 正文

iPhone应用程序:Webapps还是原生的?

如何解决《iPhone应用程序:Webapps还是原生的?》经验,为你挑选了1个好方法。

我打算为我们的在线webapps创建一个iPhone应用程序版本.我还是iPhone应用程序开发的新手,所以我不知道是选择iPhone原生还是在iPhone浏览器上运行的webapps.

这个要求实际上非常基本.iPhone应用程序需要提交数据并从数据库中获取也由webapps使用的数据.用户对Web应用程序具有相同的访问权限,只有我想要特定于iPhone,因为使用webapps和iPhone应用程序的用户体验会有所不同.我也有兴趣在Apple商店出售该应用程序.

根据您的经验,对于这种要求,iPhone原生或webapps会更好吗?构建在iPhone浏览器上运行的本机iPhone应用程序和Web应用程序有哪些缺点?另外,我是否仅限于Objective-C来构建原生iPhone应用程序?或者还有其他任何框架吗?

请温柔地对待我,我没有开始一场火焰战.



1> Kornel..:

你可以吃蛋糕,也可以吃.

您可以通过使用UIWebView实例轻松混合Web和本机应用程序,例如在Cocoa/Objective-C代码中实现对性能敏感的部分,并在部分中插入WebKit视图,这些部分过于耗时而无法重写为本机.

如果您想要App Store分发,您甚至可以将整个Web应用程序包装在本机包中 - 请参阅PhoneGap.

如果用户将您的页面添加到他的主屏幕,您还可以开发看起来不像是通过Safari启动的纯Web应用程序- 请参阅jQTouch.

缺点:

Web应用程序可能没有本机应用程序那么快,尽管有HTML5离线支持和特定于WebKit的扩展(如转换和动画),您可以获得相当远的距离.确保使用触摸事件 - Safari延迟onclick.

很难让纯网络应用程序感觉像适当的本机应用程序.例如,移动WebKit不支持position:fixed复制顶部导航栏,并且Web视图具有与表视图不同的滚动速度.这是可以修复的,但需要大量的JavaScript.

好处:

快速发展.当我不得不在UIViews中复制应用程序时,我非常感谢CSS/HTML对于复杂布局有多么有用(InterfaceBuilder只适用于半固定布局).

你被投保了对苹果突然讨厌和禁止另一件事.如果他们从AppStore中删除您的应用,您可以让用户通过网络访问它(谷歌使用语音和谷歌纵横应用程序进行访问).

将Web应用程序移植到Android和其他人(WinMo,HP Pre,最新的黑莓手机等)更容易.苹果公司排名第一,但它的市场份额与市场份额不成比例.其他人正在追赶.

如果你选择原生

你必须采用Apple的方式:Objective-C和Cocoa(你可以用普通的C或C++来完成部分应用程序).有很多关于这个主题的教程和书籍,所以我在此不再赘述.只是一些随机的建议:

尽管是"原生"iPhone格式的plists,但它们并不是客户端 - 服务器通信的最佳选择.XML plists即使按照XML标准也有很高的开销,而二进制plists可能很难生成和调试.JSON实际上更快,通常更容易使用.

如果只获取少量信息,NSConnection则只会使事情变得复杂.您可以简单地使用[NSData dataWithContentsOfURL:]in方法启动performSelectorInBackground:.

UITableView滚动时不传递通知.如果你想在表中加载延迟加载的图片,请使用回调加载和设置它们.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有