我考虑从头开始构建一个满足两个技术要求的小型应用程序:
- 应该可以在 iPhone 上使用
- 应该离线工作
这里有两个明显的选择可供选择
- 具有离线功能的真实 iPhone 应用程序
- 使用 HTML5 离线、Google Gears 或类似的网络应用程序
没有 iPhone 应用程序开发经验(我没有 iPhone),我想知道哪种方式最容易走?
构建离线 HTML 与构建 iPhone 应用程序的学习曲线是什么?
我考虑从头开始构建一个满足两个技术要求的小型应用程序:
这里有两个明显的选择可供选择
没有 iPhone 应用程序开发经验(我没有 iPhone),我想知道哪种方式最容易走?
构建离线 HTML 与构建 iPhone 应用程序的学习曲线是什么?
老实说,这取决于您的应用程序要做什么。
MobileSafari 支持所有 HTML5 离线内容,因此您可以将数据存储在客户端 SQL 数据库中,缓存应用程序客户端等...移动 Gmail 应用程序可能是其中最显着的示例,它让您可以全功能访问您的 Gmail即使离线。您还可以通过 3.0 中添加的 JavaScript API 使用地理定位。Web Clips 也让您的 Web 应用程序与本机应用程序共享主屏幕。这篇 Stack Overflow 帖子有更多关于在 iPhone 上使用 Web 应用程序的内容。
显然,喜欢处理 HTML、CSS 和 JavaScript(以及可能在服务器端运行的任何语言)的人会对开发 Web 应用程序感兴趣。使用离线 Web 应用程序可以做一些非常简洁的事情,但它的性能不会像原生应用程序那样好,尤其是在 3GS 之前的设备上。
开发本机应用程序需要您学习 Objective-C(或一旦 Mono Touch 面向大众可用的 C#),并支付 99 美元的费用才能在设备上进行测试并部署到 App Store。更多系统通过各种 API 向您展示,例如相机、指南针、多点触控等。
如果你熟悉 Java,Objective-C 很容易上手;你只需要真正习惯方括号语法和内存管理,然后它就非常简单了。
Then there are the hybrid systems, like PhoneGap, which expose more of the device's APIs, provided the Web app runs in a special container app. It is also crossplatform, so you could also deploy the app on Android and BlackBerry if you wanted to. This still requires you to pay the App Store fee, but if you're more familiar with Web development, this gives you the best of both worlds.
我不能告诉你太多关于 HTML 应用程序的一般信息,但我可以告诉你,它的APIUIWebView
非常少,当然你可以做的比在原生 iPhone 应用程序中要少得多。
HTML5 离线应用程序会存在安全问题,因为您必须将您的 oauth 密码硬编码为任何人都可以看到的代码(通过单击查看源代码或在 Firebug 中检查)。您可以简单地使用 http auth,但随后您会从您的应用程序发送的每条推文中获得丑陋的“来自 API”的信用,以及来自浏览器的丑陋 http auth 弹出窗口。