这个项目能做什么

Hippy 是腾讯推出的跨平台开发框架,旨在让开发者一次编写、多端运行,覆盖 iOS、Android 和 Web。它定位为对 Web 开发者友好,尤其是已经熟悉 React 或 Vue 的开发者,并官方支持这两个 Web 框架。 README 中描述的关键特性包括: - 不同平台使用相同的 API。 - 通过 JS 引擎绑定实现 JavaScript 层与原生代码之间的通信。 - 内置可回收组件,旨在提升性能。 - 提供平滑迁移到 Web 浏览器的路径。 - 通过腾讯的 Taitank 项目全面支持 Flex 布局引擎。 README 指出,Hippy 已用于腾讯产品,如手机 QQ、手机 QQ 浏览器、腾讯视频、QQ 音乐和腾讯新闻。 入门指南涵盖环境准备(git、npm、用于 so/gz/otf 文件的 git-lfs),然后构建 iOS 和 Android 的演示。在 macOS 上,需要 Xcode 及 iOS SDK、Android Studio 及 NDK 和 Node.js;推荐使用 Homebrew 安装依赖。在 Windows 上,支持 Android Studio 及 NDK 和 Node.js,但无法进行 iOS 开发。 对于 iOS,工作流程为:克隆仓库并在根目录运行 npm install;进入 driver/js;运行 npm run init(包含 npm install、npx lerna bootstrap 和 npm run build);使用 npm run buildexample 选择演示(hippy-react-demo、hippy-vue-demo 或 hippy-vue-next-demo);安装 CocoaPods 和 cmake,在 framework/examples/ios-demo 中运行 pod install;然后在 Xcode 中打开 HippyDemo.xcworkspace 并构建。 对于 Android,README 建议使用真机而非模拟器,并指出 X5 JS 引擎不支持 x86 模拟器,ARM 模拟器性能较差。完成相同的 init 和 buildexample 步骤后,在 Android Studio 中打开根项目,连接已启用 USB 调试的设备,然后运行并安装 APK。 调试 JS 演示需要运行 npm run init:example 和 npm run debugexample,并选择演示和 dev 标志。在调试模式下,@hippy/react、@hippy/vue 和 @hippy/vue-next 等包会链接到 driver/js/packages 的 dist 目录,而不是 node_modules,因此源码修改后需要重新构建。生产构建使用 npm run hippy:vendor 和 npm run hippy:build 为 Android 和 iOS 生成 vendor 和 index bundle,并通过 DllPlugin 拆分公共代码和应用代码。 仓库结构包括 devtools、DOM 层、driver 层(其中 JS driver 包含示例和包,如 hippy-react、hippy-react-web、hippy-vue、hippy-vue-css-loader、hippy-vue-loader、hippy-vue-native-components 和 hippy-vue-router)、Android 和 iOS 的框架代码及示例、布局引擎、Android 和 footstone 的模块、Flutter 和原生(Android/iOS)的渲染器,以及静态资源。 文档可在 framework.tds.qq.com 获取,示例位于仓库中,发布说明见 GitHub releases。该项目采用 Apache-2.0 许可证,欢迎按照贡献指南参与贡献,相关生态组织为 hippy-contrib,Taitank 布局引擎为相关项目。