Iphone 应用程序与离线 Web 应用程序。哪种方式最聪明?

Posted

技术标签:

【中文标题】Iphone 应用程序与离线 Web 应用程序。哪种方式最聪明?【英文标题】:Iphone App vs. Offline Web App. Which way is the smartest? 【发布时间】:2010-11-27 19:36:14 【问题描述】:

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

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

这里有两个明显的选择可供选择

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

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

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

【问题讨论】:

【参考方案1】:

老实说,这取决于您的应用要做什么。

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 开发,这将为您提供两全其美的体验。

【讨论】:

【参考方案2】:

我不能告诉你太多关于 HTML 应用程序的一般信息,但我可以告诉你,UIWebView 的 the API 非常少,当然你可以做的比在原生 iPhone 中少得多应用。

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于Iphone 应用程序与离线 Web 应用程序。哪种方式最聪明?的主要内容,如果未能解决你的问题,请参考以下文章

向 ios 发送推送通知以与离线用户聊天,openfire xmpp

如何在带有 PostgreSQL 数据库的 Web 应用程序中拥有完整的离线功能?

资格跟踪:在线与离线 λ-return 算法

blender学习笔记:python脚本使用与离线渲染

blender学习笔记:python脚本使用与离线渲染

实时数仓与离线数仓架构对比Flink消费流程