腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个腾讯开源支持 iOS、Android 和 Web 的跨端框架——Hippy。

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

Hippy 可以理解为一个精简版的浏览器,从底层做了大量工作,抹平了 iOS 和 Android 双端差异,提供了接近 Web 的开发体验,目前上层支持了 React 和 Vue 两套界面框架,前端开发人员可以通过它,将前端代码转换为终端的原生指令,进行原生终端 App 的开发。

同时,Hippy 从底层进行了大量优化,在启动速度、可复用列表组件、渲染效率、动画速度、网络通信等方面都提供了业内顶尖的性能表现。

特性

  • • 为传统 Web 前端开发者设计,官方支持 React 和 Vue 两种主流前端框架

  • • 不同的平台保持了相同的接口

  • • 通过 JS 引擎 binding 模式实现的前端-终端通讯,具备超强性能

  • • 提供了高性能的可复用列表

  • • 皆可平滑迁移到 Web 浏览器

  • • 完整支持 Flex 的布局引擎

功能对比

Hippy 从底层增加了很多和浏览器相同的接口,方便了开发者使用,这里有几个 Hippy 的独有功能。

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

包体积

Hippy 的包体积在业内也是非常具有竞争力的。

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

上图是一个空的APK,在引入后终端包大小对比。

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

上图是在前端搭建了一个最简单的 ListView 后,前端打出的 JS 的包大小对比。

渲染性能

ListView 在滑动时的性能对比,Hippy 可以一直保持十分流畅的状态。

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

内存占用

而在内存占用上,初始化 List 时 Hippy 就略占优势,在滑动了几屏后内存开销的差距越来越大。

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

Android集成示例

前期准备

  • • 已经安装了 JDK version>=1.7 并配置了环境变量

  • • 已经安装 Android Studio 最新版本

  • • 运行 Demo 工程前需要完成 NDKCMAKEgradle 与相关插件的安装

快速接入

1、查询 Maven Central Hippy 版本,其中 hippy-common 为 release 版本(不携带 inspector),hippy-debug 为 debug 版本

Maven Central Hippy 版本:
https://search.maven.org/search?q=com.tencent.hippy

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

2、配置 build.gradle

// api 'com.tencent.hippy:hippy-debug:1.0.0'
 api 'com.tencent.hippy:hippy-common:1.0.0'
 // 后面的 glide 与 support-v4 主要是在demo里面拉取图片资源用的,当然你也可以使用自己的三方库来处理图片请求。
 api 'com.github.bumptech.glide:glide:3.6.1'
 api 'com.android.support:support-v4:28.0.0'

3、继承 HippyImageLoader 并实现自己的图片加载器,具体可以参考 Demo 工程中 MyImageLoader 实现。

4、在宿主 APP 工程中增加引擎初始化与 hippyRootView 挂载逻辑,具体可以参考 Demo 工程中 MyActivity 实现

Demo地址: 
https://github.com/Tencent/Hippy/tree/master/examples/android-demo


谁在使用

腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异


-END-

开源协议:Apache2.0

开源地址:https://github.com/Tencent/Hippy

原文始发于微信公众号(开源技术专栏):腾讯开源APP跨端框架,抹平 iOS 和 Android 双端差异

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66106.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!