同步操作将从 tomdev/Hippy 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
English | 简体中文 | 官网 | 文章专栏 | QQ群:784894901
Hippy 是一个新生的跨端开发框架,目标是使开发者可以只写一套代码就直接运行于三个平台(iOS、Android 和 Web)。Hippy 的设计是面向传统 Web 开发者的,特别是之前有过 React 和 Vue 开发经验的开发者用起来会更为顺手,Hippy 致力于让前端开发跨端 App 更加容易。
到目前为止,腾讯公司内已经有 27+ 款主流 App 在使用 Hippy 框架,包括手机QQ、QQ浏览器、腾讯视频、QQ音乐、腾讯新闻等,每日触达数亿用户。
React
和 Vue
两种主流前端框架。运行 git clone https://github.com/Tencent/Hippy.git
Hippy 仓库使用 git-lfs 来管理 so,gz,otf,png,jpg 文件, 请确保你已经安装 git-lfs。
macOS 用户需要以下软件:
我们推荐使用 homebrew 来安装依赖。
Windows 用户者需要以下软件:
Windows 用户受条件所限,暂时无法进行 iOS app 开发。
我们推荐 iOS 开发者使用模拟器来进行开发和调试工作。当然如果你是一个 iOS 开发高手,也可以通过修改配置将 Hippy app 安装到 iPhone 手机上。
npm install
安装项目构建脚本的依赖。lerna bootstrap
安装前端每一个 package 依赖。(Hippy 采用 Lerna 管理多 JS SDK 包仓库,如果出现 lerna command is not found
, 先执行 npm install lerna -g
全局安装 Lerna
。)npm run build
编译每一个 JS SDK 包。npm run buildexample -- [hippy-react-demo|hippy-vue-demo]
。open examples/ios-demo/HippyDemo.xcodeproj
。如果步骤4出现错误,可以先
cd
到examples
hippy-react-demo 或者 hippy-vue-demo 目录下,执行npm install --legacy-peer-deps
,提前将 demo 的 NPM 包依赖先安装好。更多信息请参考 iOS SDK 集成。
我们推荐 Android 开发者使用真机,因为 Hippy 使用的 X5 JS 引擎没有提供 x86 的库以至于无法支持 x86 模拟器,同时使用 ARM 模拟器也比较慢。
在开始前请确认好 SDK 和 NDK 都安装了范例的指定版本,并且请勿更新编译工具链。
npm install
安装项目构建脚本的依赖。lerna bootstrap
安装前端每一个 package 依赖。(Hippy 采用 Lerna 管理多 JS SDK 包仓库,如果出现 lerna command is not found
, 先执行 npm install lerna -g
全局安装 Lerna
。)npm run build
编译每一个 JS SDK 包。npm run buildexample -- [hippy-react-demo|hippy-vue-demo]
。examples/android-demo
。adb devices
判断手机是否已经连上了电脑)。如果步骤4出现错误,可以先
cd
到examples
hippy-react-demo 或者 hippy-vue-demo 目录下,执行npm install --legacy-peer-deps
,提前将 demo 的 NPM 包依赖先安装好。如果 Android Studio 报了这个错误
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
,这里有解决办法。更多信息请参考 Android SDK 集成。
cd
到 examples
hippy-react-demo 或者 hippy-vue-demo 目录。npm install
安装相应 js demo 的依赖包。npm run hippy:dev
和 npm run hippy:debug
(npm run hippy:local-debug
和 npm run hippy:local-dev
会调用 packages 下的源码) 来开启 Debug 模式。在 example 调试模式下,@hippy/react、@hippy/vue 等 npm 模块会直接链接到
packages
>[different package]
>dist
目录下面的 js 文件(非 node_modules),所以如果你修改了 packages 下的 JS 源代码并且想让其在 example 中生效,请重新在根目录执行npm run build
。更多关于调试的说明请浏览 Hippy Debug Document。
cd
到 examples
hippy-react-demo 或者 hippy-vue-demo 目录。npm install
安装相应 js demo 的依赖包。npm run hippy:vendor
和 npm run hippy:build
构建出生产模式的 vendor.[android|ios].js
和 index.[android|ios].js
。Hippy 的 Demo 使用 DllPlugin 来分离 common chunk 和 app chunk.
参考 hippy examples 下的代码和浏览官网 hippyjs.org。
每个发布版本的详细更新日志会记录在 project release notes。
Hippy
├── examples # 前终端范例代码。
│ ├── hippy-react-demo # hippy-react 前端范例代码。
│ ├── hippy-vue-demo # hippy-vue 前端范例代码。
│ ├── ios-demo # iOS 终端范例代码。
│ └── android-demo # Android 终端范例代码。
├── packages # 前端 npm 包。
│ ├── hippy-debug-server # Hippy 的前终端调试服务。
│ ├── hippy-react # Hippy 的 React 语法绑定。
│ ├── hippy-react-web # hippy-react 转 Web 的库。
│ ├── hippy-vue # Hippy 的 Vue 语法绑定。
│ ├── hippy-vue-css-loader # 用来将 CSS 文本转换为 JS 语法树以供解析的 Webpack loader。
│ ├── hippy-vue-loader # Fork 自 vue-loader 并针对 hippy 做定制化。
│ ├── hippy-vue-native-components # hippy-vue 中浏览器中所没有的,额外的,终端定制组件。
│ ├── hippy-vue-router # 在 hippy-vue 中运行的 vue-router。
│ └── types # 全局 Typescript 类型
├── ios
│ └── sdk # iOS SDK。
├── android
│ ├── support_ui # Android 终端实现的组件。
│ └── sdk # Android SDK。
├── core # C++ 实现的 JS 模块,通过 Binding 方式运行在 JS 引擎中。
├── docker # 发布 Native 的 Docker 镜像和构建脚本
├── layout # Hippy 布局引擎。
└── scripts # 项目编译脚本。
欢迎开发人员为腾讯的开源做出贡献,我们将持续激励他们并感谢他们。我们提供了腾讯对开源贡献的说明,每个项目的具体贡献规则由项目团队制定。开发人员可以选择适当的项目并根据相应的规则参与。腾讯项目管理委员会将定期汇报合格的贡献者,奖项将由官方联络人颁发。在发起 Pull Request 或者 issue 前, 请确保你已经阅读 Contributing Guide。
所有曾经参与 Hippy 项目贡献的开发者都会记录在 Contributors 和 Authors File 。
Hippy 遵守 Apache-2.0 licensed 协议。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。