【发布时间】:2013-04-25 10:28:23
【问题描述】:
我使用 Rails 3 和 JQuery Mobile 编写了一个简单的聊天应用程序,您可以在这里查看原型: http://budz.vdsites.com
它的用处非常有限,但作为一个纯粹的网络应用程序,我希望包含一些原生移动功能,例如通知、图片上传(通过图库或相机)、联系人获取以及之后可能会出现的更多功能.我还计划为桌面部署一个类似的增强客户端,两者使用相同的前端。
一个重要的要求是能够编写最少的代码来启用这些功能,因为我可以支持的平台集不止一个,然后维护每个代码库将变得乏味。
经过一些研究,我发现我最好的选择是基于 PhoneGap 的无铬原生应用,在手机端具有足够的功能来启用这些额外的功能。为此,InAppBrowser 小部件似乎非常适合这项工作。
但是,进一步研究它的 API,似乎几乎没有工具可以在本机应用程序和 Web 应用程序之间进行基本通信,除了基本的负载相关事件,除非我破解我的应用程序,否则这些事件对我来说毫无用处大规模触发这些事件(这样做看起来很假)。
最终,我希望能够在 PhoneGap 端监听自定义事件,并从 web 应用程序触发它们。
我想出了一些实现所需功能的线索:
- 我可以创建一个 DOM 元素以将其属性用作本机端和 Web 应用程序之间的媒介 - 但似乎没有办法从其容器外部访问 DOM。
- 我可以在 inAppBrowser 之外的 phoneGap 监听我的 webapp 中的一些特定端点,并根据服务器响应触发本机功能 - 这确实有效,但这意味着我必须为其他平台编写不同的监听代码,因此会稍微中断我的最低编码要求。
这是我的问题:
- 有没有办法使用 PhoneGap 实现我想要的行为(事件调度)?
- 您如何看待我提出的两种方法?
- 我应该寻找另一个平台吗?你有什么建议?
- 社区对此有何看法?您如何处理此类案件?
感谢您提供的任何见解!
【问题讨论】:
标签: javascript ruby-on-rails cordova jquery-mobile