腾讯开源内部跨端框架 Hippy,打磨三年,日均 PV 过亿

腾讯开源跨端框架Hippy,旨在简化前端开发者工作,支持React和Vue,紧贴W3C标准,提升跨端开发效率。Hippy采用C++模块直通JS引擎,优化通讯性能,提供高性能自绘,改善用户体验。

12月20日,腾讯开源跨端框架 Hippy。在腾讯内部,Hippy 已运行3年之久,跨 BG 共有 18 款线上业务正在使用 Hippy,日均 PV 过亿,且已建立一套完整生态。相较于其他跨端框架,Hippy 对前端开发者更友好:紧贴 W3C 标准,遵从网页开发各项规则,使用 JavaScript 为开发语言,同时支持 React 和 Vue 两种前端主流框架。

点击视频,全面了解Hippy

业内现状:大部分跨端框架对前端开发者不够友好

“跨端”是目前前端界比较流行的一个词汇。“跨端”之所以流行,根源在于传统网页开发受浏览器能力限制太大,尤其是各家浏览器的不同实现、离线能力和性能上的缺陷导致 App 很难满足用户体验的需求。跨端框架本质上是将终端能力以一种形式提供业务开发使用,可以无限制地使用所有终端能力的同时,尽量让业务开发只编写一套代码,这样既能满足性能需求,又能减少开发成本。

但纵观整个社区内的跨端开发框架,仍旧存在两个主要问题:

  • 跨端框架对前端开发者来讲难度较高,如果不具备移动终端开发能力,很难上手;

  • 平台差异大,相同功能甚至要为不同的平台使用不同的接口编写大量平台相关代码。

出现上述问题的原因,是因为目前业内的跨端框架,大部分由终端开发者主导开发,并不是从前端开发者角度出发的,所以对于前端开发者来说不够友好。

腾讯跨端解决方案 Hippy:前端开发者更易上手

Hippy 跨端框架是由QQ浏览器部门发起的,针对前端开发者推出的跨端解决方案。为业内现存问题,Hippy 紧贴 W3C 标准,遵从网页开发各项规则,从前端开发人员角度出发,使用 Javascript 为开发语言,同时支持 React 和 Vue 两种前端主流框架。对于前端开发者而言,Hippy 上手难度会更低,学习曲线会更平滑。

Hippy 实现了类似 Flutter 的引擎直通架构(在 React Native 中的 Fabric 架构),通过 C++ 开发的模块直接插入 JS 引擎中运行,绕过了前终端通讯编解码的开销,有效提升了 JS 前端代码和终端的通讯性能。在此基础之上,Hippy 正在实现高性能自绘,以提供更强的性能和更好的用户体验。

hippy-react 从语法上更加接近终端底层,某种程度上语法接近 React Native,同时通过官方提供了 hippy-react-web 组件库,也可以方便地生成 Web 版网页。

全民 K 歌

react + hippy-react + hippy-react-web

hippy-vue 的组件、参数和接口完全符合浏览器标准,前端开发用浏览器标签和常用的 CSS 选择器就可以完成跨端界面绘制。

其优势如下:

  • 前端开发基本了解一下 hippy-vue 开发的限制就可以上手跨端开发;

  • 可以复用 Web 端绝大多数的生态;

  • 不需要 Web 转接库就可以直接生成网页。

事实上,hippy-vue 其实只是浏览器上的 Vue 在终端上的一个渲染层,理论上大多数 Vue 在网页上的生态可以直接迁移过来。

王者营地

vue + hippy-vue

Hippy 在腾讯内部已经有一套完整生态,包含 GCanvas、Lottie、SVG 等都有对应组件封装,同时包含腾讯内部自研的 Hippy 业务组件库、高性能图形库、异常上报(支持 Sentry)等,也会在未来逐步对外开放。

Hippy 正式开源Github 地址:

https://github.com/Tencent/Hippy

欢迎关注「前端迷」,Hippy 的实战和原理解析系列文章将会陆续上线。

对前端开发者贴心么?

虚拟以太网是指在真实的互联网中,通过软件方法在数据链路层实现一个 按以太网原理工作的虚拟网络。在虚拟网络中可以透明地运行所有应用程 序,支持各种第三层网络协议,如IP,IPv6,IPX等,可以进行普通的文件 共享以及ERP、VoIP等待应用。 特点: . 配置极其简单。 . 树形结构,可以从任一个节点接入,可谓一点接入,全网通行。 . 配合握手服务器(可由任一节点充当),可以实现两个节点间 直接 点对点 通讯,无需中转 !! . 3DES 数据加密 用途: . 创建企业虚拟网 . 创建专题虚拟网,你可以作为虚拟网的树根,然后把所有志同道合的人连接在一起,形成一个独具特色的 “虚拟以太网社区”。 简单地说,任何人都可以用VE建立自己的虚拟Internet世界。 使用说明: 1.双击virtualether.exe运行,程序会自动安装驱动程序va.sys,成功后会弹出设置界面。 2.设置方法。virtual ethernet的设置包括本地(local),远(remote)和代理(proxy)。   local设置,本作为虚拟HUB接受连接:  . 设置本的连接监听口,即虚拟HUB的连接口。  . 设置本的连接密码,当远连接过来时,需要进行密码验证。 . 设置点对点通讯的握手服务器域名/IP,及其口。 . 如果本想做握手服务器,可以设置一个本地的UDP口。 注:只有本想做虚拟HUB时才需要正确设置。    remote设置,本作为虚拟网卡向虚拟HUB发起连接:  . 远虚拟HUB的IP或域名(当然可以是动态域名)  . 远虚拟HUB的密码,即远在 local 设置中的密码 . 远虚拟HUB的连接口,即远在 local 设置中监听口 注:1.只有本想与虚拟HUB连接时才需要正确设置。 2.如果想连接到自己的虚拟HUB,则选择“connect to my local virtual HUB”。 Proxy设置,如果你机器通过代理上网,如HTTP代理,Socket代理,就需要根据你的 代理情况进行设置。(这个功能可以穿透firewall,网管要小心啦) 两个VA之间发生通讯时,如果已经配置握手服务器,软件会自动尝试建立点对点通道。 VE不会自动为虚拟网卡分配IP,如果有这个需要,只需要在虚拟网络中找一台机器运行DHCP服务即可。如选择其中一台提供HUB的机器运行DHCP服务。 如果你的上网方式是通过 http 代理,则可能需要把将要连接的虚拟HUM的监听口设置成443才可以
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值