您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS

时间:2022-05-25 21:38:22  来源:那些免费的砖  作者:
Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS

 

腾讯出品的多端开发工具,用 JAVAscript 来开发 App,有一定的应用场景,值得关注。

关于 Hippy

Hippy 是一个由腾讯出品的跨端开发框架,据称内部历经3年时间打磨,现在开放给所有开发者使用。Hippy 这个框架让开发者可以使用 JavaScript 语言来开发应用,运行到 IOSAndroid 和 Web等多个平台,同时支持目前最流行的 Vue 和 React,使得前端开发者可以更容易开发 APP。

Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS

hippy 官网

到目前为止,Hippy 框架已经被应用在腾讯公司内部超过 27 款主流的 App,包括手机QQ、QQ浏览器、腾讯视频、QQ音乐、腾讯新闻等,每日触达数亿用户。

我们首先看看 Hippy 都有哪些主要特性,再来分析什么样的应用适合 Hippy 来开发。

Hippy 的技术特性

  • 支持 React 和 Vue 两种主流前端框架,Web 前端开发者上手容易
  • 不同的平台保持了相同的接口调用,抹平了差异
  • 通过 JS 引擎 binding 模式实现的前端-终端通讯,性能超强
  • 提供了高性能的可复用列表
  • 仅支持 Flex 的布局引擎

支持 vue / react,但生态不足

首先来看 Vue / React 支持,特别是 Vue 支持,可以让很大一部分的小程序开发者,快速转到开发 App 上,但再仔细看看,发现官方发布的 Hippy-Vue ui 和 Hippy-React ui ,只有几个组件,也没有更新维护,远远不足以支撑常用额业务场景,看情况官方只是提供代码例子,而 UI 界面还需开发者手动码。

Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS

hippy 文档

跨平台接口一致,但痛点仍在

用相同的接口调用原生的功能,这在很多跨端开发中已经实现了,性能确实很不错,但对 web 开发者来说,最大的痛点是对原生开发不熟悉,比如想要调用原生某个功能库,仍然需要安卓或 iOS 工程师来配合完成。比如自定义字体就是一个很常见的需求,用来显示高清的图标字体,这在 web 开发中就是2行代码:

@font-face {
   font-family: 'myfont';
   src: url('./font/myfont.ttf') format('truetype');
}

但在 iOS 中需要在 xcode 工程中整合字体文件,安卓稍微简单点,但也需要熟悉安卓功能目录结构,作为 web 开发者看着脑壳疼。

Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS

 

排版布局写法要转变

最后再来看排版引擎,官方文档写着完整支持 css 的 flex 布局,写文档的人也是一个文字艺术家,其实 Hippy 内置的 TAItank 排版引擎是基于 C++ 的布局引擎,但仅支持 flex 布局,css 的写法有很大的限制,完全不能像开发 web 那样随心所欲,性能当然很好。

我写过阿里的 weex 和 uni-app 的 nvue 页面,其实都是类似的排版原理,写布局时确实有限制,但 flex 写起来很快,运行流畅,代码也简洁,几乎没有什么布局做不出来,我认为传统的 web 布局写法真的太随意了,浏览器需要兼容所有的写法,才导致了 web 性能问题。

Hippy 能考虑入坑吗?

从日常维护和发版的频率来看,Hippy 确实是在不断迭代中,而且在腾讯内部不少用户量大的 App 上都得到了应用,结合官方提供的开发文档,不难看出,在主要用原生开发的 App 项目中,Hippy 开发短平快的特点,作为 App 中某个功能模块的补充,通过 js 来频繁热更新,是最佳的使用场景,腾讯内部的这些产品无一例外,都是这样的开发场景。

那是不是就意味着从 0 到 1 完全用 Hippy 开发一款 App 不可行?如果 App 绝大部分的业务场景只是 UI 和后端 api 的交互,不需要调用很多原生接口,Hippy 完全可以满足需求。

免费开源说明

Hippy 是一款免费开源的跨平台开发工具,由腾讯技术团队开发并且维护,源码基于 Apache 2.0 开源协议托管在 Github 上,任何个人或公司都可以免费使用。

关注我,持续分享高质量的免费开源、免费商用的资源。



Tags:Hippy   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
Hippy - 腾讯出品的开源跨端开发框架,支持将 JS 代码发布到安卓 / iOS
腾讯出品的多端开发工具,用 javascript 来开发 app,有一定的应用场景,值得关注。关于 HippyHippy 是一个由腾讯出品的跨端开发框架,据称内部历经3年时间打磨,现在开放给所有开发...【详细内容】
2022-05-25  Search: Hippy  点击:(615)  评论:(0)  加入收藏
▌简易百科推荐
Qt与Flutter:在跨平台UI框架中哪个更受欢迎?
在跨平台UI框架领域,Qt和Flutter是两个备受瞩目的选择。它们各自具有独特的优势,也各自有着广泛的应用场景。本文将对Qt和Flutter进行详细的比较,以探讨在跨平台UI框架中哪个更...【详细内容】
2024-04-12  刘长伟    Tags:UI框架   点击:(7)  评论:(0)  加入收藏
Web Components实践:如何搭建一个框架无关的AI组件库
一、让人又爱又恨的Web ComponentsWeb Components是一种用于构建可重用的Web元素的技术。它允许开发者创建自定义的HTML元素,这些元素可以在不同的Web应用程序中重复使用,并且...【详细内容】
2024-04-03  京东云开发者    Tags:Web Components   点击:(11)  评论:(0)  加入收藏
Kubernetes 集群 CPU 使用率只有 13% :这下大家该知道如何省钱了
作者 | THE STACK译者 | 刘雅梦策划 | Tina根据 CAST AI 对 4000 个 Kubernetes 集群的分析,Kubernetes 集群通常只使用 13% 的 CPU 和平均 20% 的内存,这表明存在严重的过度...【详细内容】
2024-03-08  InfoQ    Tags:Kubernetes   点击:(23)  评论:(0)  加入收藏
Spring Security:保障应用安全的利器
SpringSecurity作为一个功能强大的安全框架,为Java应用程序提供了全面的安全保障,包括认证、授权、防护和集成等方面。本文将介绍SpringSecurity在这些方面的特性和优势,以及它...【详细内容】
2024-02-27  风舞凋零叶    Tags:Spring Security   点击:(62)  评论:(0)  加入收藏
五大跨平台桌面应用开发框架:Electron、Tauri、Flutter等
一、什么是跨平台桌面应用开发框架跨平台桌面应用开发框架是一种工具或框架,它允许开发者使用一种统一的代码库或语言来创建能够在多个操作系统上运行的桌面应用程序。传统上...【详细内容】
2024-02-26  贝格前端工场    Tags:框架   点击:(52)  评论:(0)  加入收藏
Spring Security权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口。本文将用 waynboot-mall 项目举例...【详细内容】
2024-02-19  程序员wayn  微信公众号  Tags:Spring   点击:(43)  评论:(0)  加入收藏
开发者的Kubernetes懒人指南
你可以将本文作为开发者快速了解 Kubernetes 的指南。从基础知识到更高级的主题,如 Helm Chart,以及所有这些如何影响你作为开发者。译自Kubernetes for Lazy Developers。作...【详细内容】
2024-02-01  云云众生s  微信公众号  Tags:Kubernetes   点击:(58)  评论:(0)  加入收藏
链世界:一种简单而有效的人类行为Agent模型强化学习框架
强化学习是一种机器学习的方法,它通过让智能体(Agent)与环境交互,从而学习如何选择最优的行动来最大化累积的奖励。强化学习在许多领域都有广泛的应用,例如游戏、机器人、自动驾...【详细内容】
2024-01-30  大噬元兽  微信公众号  Tags:框架   点击:(72)  评论:(0)  加入收藏
Spring实现Kafka重试Topic,真的太香了
概述Kafka的强大功能之一是每个分区都有一个Consumer的偏移值。该偏移值是消费者将读取的下一条消息的值。可以自动或手动增加该值。如果我们由于错误而无法处理消息并想重...【详细内容】
2024-01-26  HELLO程序员  微信公众号  Tags:Spring   点击:(95)  评论:(0)  加入收藏
SpringBoot如何实现缓存预热?
缓存预热是指在 Spring Boot 项目启动时,预先将数据加载到缓存系统(如 Redis)中的一种机制。那么问题来了,在 Spring Boot 项目启动之后,在什么时候?在哪里可以将数据加载到缓存系...【详细内容】
2024-01-19   Java中文社群  微信公众号  Tags:SpringBoot   点击:(91)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条