我想从头开始构建一个满足两个技术要求的小应用程序:
应该可以在iPhone上使用
应该离线工作
这里有两个明显的选择可供选择
具有离线功能的真正iPhone应用程序
使用HTML5离线,Google Gears或类似功能的网络应用
没有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很容易掌握; 你真的需要习惯方括号语法和内存管理,然后它非常简单.
然后是混合系统,如PhoneGap,它可以暴露更多设备的API,前提是Web应用程序在一个特殊的容器应用程序中运行.它也是跨平台的,所以你也可以在Android和BlackBerry上部署应用程序.这仍然要求您支付App Store费用,但如果您更熟悉Web开发,这将为您提供两全其美的服务.