FireBase仅适用于桌面浏览器,还是可以与移动应用一起使用?我有一种感觉它不能用于移动(尚)。
虽然Android例如使用WebKit引擎(并且其WebView组件显示HTML页面而不需要完整的浏览器,并且HTML页面可以直接通过URL加载到WebView中或作为字符串注入),Android WebKit还没(据我所知)支持WebSockets,所以如果FireBase使用WebSockets(而且我认为我在某个地方读过它),那么这就排除了移动应用程序(至少Android - 不了解iOS)。
使用FireBase在移动设备上实现实时应用的其他任何方式?谢谢!
答案 0 :(得分:12)
Firebase支持所有主流移动网络浏览器,甚至可以在离线模式下使用。甚至有node.js client和REST API。
当WebSockets不可用时,它使用标准的后备选项。看看这些questions from the FAQ:
Firebase支持哪些浏览器和网络连接? Firebase JavaScript客户端支持所有主流浏览器(IE 7 +,Firefox,Chrome,Safari,Opera和主要移动Web浏览器),并且可以在任何网络连接上运行。我们的团队花了数年时间构建这种类型的软件,我们已经进行了大量的研究和努力,以确保我们可以在各种环境中进行通信。我们甚至通过代理和各种移动提供商工作,其他实时技术可能会失败。
如果我的网络连接丢失,我的应用会发生什么? 一旦重新获得连接,Firebase就会透明地重新连接到Firebase服务器。与此同时,您的应用在本地完成的所有Firebase操作都会立即触发事件,无论网络状态如何,因此您的应用将继续正常运行。重新建立连接后,您将收到适当的事件集,以便客户端“赶上”当前服务器状态,而无需编写任何自定义代码。
等等,是否意味着我的应用会自动以“离线模式”运行并在重新上线时恢复? 是的,是的,确实如此。 : - )
<强>更新强> 啊,我们走了。我徘徊在寻找FB团队直接回答这个问题的问题,my search was not in vain:
Firebase Javascript客户端维护实时双向 连接到服务器。在封面下,这使用WebSockets 只要有可能(对此没有任何限制) 跨源连接)并回退到基于隐藏iframe的jsonp 旧浏览器上的长轮询(通过以下方式回避跨源问题) 只做请求)。