>  기사  >  웹 프론트엔드  >  HTML5 可以做微信类产品吗?

HTML5 可以做微信类产品吗?

WBOY
WBOY원래의
2016-06-07 08:44:061386검색

因为html是基于浏览器的。他有办法实现类似微信的可以实时推送信息的功能吗?更准确的说是后台运行功能。是不是html5后面只能在游戏类发力。像微信这种应用还是必须原生的?

回复内容:

可以做但又不适合现在做,你觉得是可以做吗? HTML5 要做到微信那样的应用是可行的,但像推送这种依赖设备和系统的功能,就超出了 HTML5 的能力范围。

因为移动设备的设计原因,会在一定条件下把宿主 app 暂停或退出,以释放资源,而 HTML5 运行环境的特点就限制了它在推送这种系统级应用上的发展,所以实时推送目前没有直接的实现方式,但是有代替方案。

第一种是用原生代码来处理推送,比如 PhoneGap 套 HTML5 app。

第二种是第三方推送平台,需要你服务器接受新消息后把通知转发给如 Boxcar 之类的平台,让他们进行推送。

第三种是在系统层面允许后台执行浏览器或 WebView 进程,在里面跑 background 页面,通过它来进行请求行为,像 Chrome Extension 那样,但是缺点明显,耗电量和流量都可能剧增。 推送和获取地址簿都可能是问题。非要 html5 ,用 hyper 的方式比较好解决这两个问题。

JSSDK + H5混合开发是一个生态,腾讯的这条构建 web 生态系统的路,还是有很多高手已经看懂了的。很快各大互联网巨头都会有自己的对策。但不管是什么对策,都是要基于 HTML5 来做了。对于 HTML5 的开发者和从业者,这都将是一个最好的时代。之前的问题回答都太旧,特来更新!

HTML5 可以做微信类产品吗? 在ios上,就算是html8也没用。 微信网页版 wx.qq.com 有。
文字图片可用WebSocket协议,较容易的实现方式是Nodejs[node.js] + Socket.IO[Socket.IO: the cross-browser WebSocket for realtime apps.]。
语音视频可用WebRTC,编码实现上略有难度。
PS:以上方案Chrome支持最好,让应用都跑在浏览器里Google是最有经验的...
--------------------------------------------------------------------------------------------
又看了下题主的问题,偶的回答貌似有点跑遍了... 可以使用html5技术来做,叫做HyBrid应用开发(Html5做展现,利用java/C做后端手机能力调用)
需要调用手机能力的功能有:
  1. 电话薄
  2. 短信监听
  3. 信息推送
基本上就是将开发完的html页面一同打包到手机中(不能是部署在服务器端).
还有就是开发的时候也有一定的技巧比如SPA(单页面)\模块化加载\PhoneGap\MQTT(解决推送),
特别是要了解PhoneGap原理,包括JS端通知java(Android),Java长连接收到消息通知js.这些在PhoneGap的插件中都有相应的源码.可以学习,了解之后基本可以做了.但是还有一个非技术性问题,那就是HTML5做的微信,估计需要4核机器(基本都是android4.0以上)才能跑的流畅 题主的问题,可能有 2 个理解: 纯网页(标准浏览器打开)、内嵌到 Native App 里(或者叫 HyBrid 类)。

纯网页路子,需要的是手机浏览器(比如 iOS Safari)支持 Push Notification。iOS 这个功能现在还没有支持,虽然桌面上其实早就支持了。

HyBrid 类应用大家最常见的方案就是 PhoneGap 了。

PhoneGap 本质上,在 Native 能力部分,直接依赖于 Native API 或者代码,而开发者使用 HTML5 来实现业务逻辑。微信类似功能,需要支持消息推送的话,极光推送有现成的插件支持:

GitHub - jpush/jpush-phonegap-plugin: JPush's officially supported PhoneGap/Cordova plugin (Android & iOS). 极光推送官方支持的 PhoneGap/Cordova 插件(Android & iOS)。

利益相关:极光推送官方人员。 PhoneGap | Home
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.