Iphone应用程序与离线Web应用程序。哪条路最聪明?

时间:2009-09-12 20:52:31

标签: iphone offline google-gears

我认为从头开始构建一个满足两个技术要求的小型应用程序:

  • 应该可以在iPhone上使用
  • 应该离线工作

这里有两个显而易见的选择

  • 具有离线功能的真正iPhone应用程序
  • 使用HTML5离线,Google Gears或类似的
  • 的网络应用

没有iPhone应用程序开发经验(我没有iPhone),我想知道哪种方式最容易?

构建离线HTML与构建iPhone应用程序的学习曲线是什么?

3 个答案:

答案 0 :(得分:8)

老实说,这取决于你的应用程序将要做什么。

MobileSafari支持所有HTML5离线内容,因此您可以将数据存储在客户端SQL数据库中,缓存应用程序客户端等等...移动Gmail应用程序可能是最值得注意的一个例子,为您提供全功能访问即使离线也可以使用Gmail您还可以通过3.0中添加的JavaScript API使用地理定位。 Web Clips让您的Web应用程序也可以与本机应用程序共享主屏幕。在this Stack Overflow post上使用iPhone上的网络应用程序还有很多。

显然,对于喜欢处理HTML,CSS和JavaScript(以及可能在服务器端运行的任何语言)的人来说,做一个Web应用程序会很有意义。使用离线Web应用程序可以做到非常简洁,但其性能不如原生应用程序那么好,特别是在3GS之前的设备上。

开发本机应用程序将要求您学习Objective-C(或Mono Touch可用于大众的C#)并支付99美元的费用以允许在设备上进行测试并部署到App Store。通过各种API,例如相机,指南针,多点触控等,系统会向您展示更多系统。

如果您熟悉Java,Objective-C很容易掌握;你真的需要习惯方括号语法和内存管理,然后才非常直接。

然后有混合系统,如PhoneGap,它们暴露了设备的更多API,前提是Web应用程序在一个特殊的容器应用程序中运行。它也是跨平台的,所以你也可以在Android和BlackBerry上部署应用程序。这仍然要求您支付App Store费用,但如果您更熟悉Web开发,这将为您提供两全其美的服务。

答案 1 :(得分:0)

我不能过多地告诉你一般的HTML应用程序,但我可以告诉你,UIWebView的{​​{3}}非常小,当然你可以做的比在本机iPhone应用程序中。

答案 2 :(得分:0)

HTML5离线应用程序会出现安全问题,因为您必须将您的oauth秘密硬编码到任何人都可以看到的代码中(通过单击查看源或在Firebug中进行检查)。您可以简单地使用http auth,但随后您从应用程序发送的每条推文都会获得丑陋的“来自API”信用,以及来自浏览器的丑陋的http auth弹出窗口。