Home  >  Article  >  Web Front-end  >  HTML5 可以做微信类产品吗?

HTML5 可以做微信类产品吗?

WBOY
WBOYOriginal
2016-06-07 08:44:061339browse

因为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
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn