Skip to content
A cross platform framework designed for Web developer. Introduction video - https://v.qq.com/x/page/i3038urj2mt.html
C++ Java Objective-C Objective-C++ JavaScript TypeScript Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore(ci): restore to use codecov for coverage Jan 10, 2020
android feat: add support for x86_64 ABI Jan 10, 2020
core fix: remove unnecessary null pointer check before delete Dec 30, 2019
docs docs: fix webpack config file explanation Jan 7, 2020
examples fix(vue-demo): fix compatibility error Jan 10, 2020
ios fix(ios): improve main thread checker by comparing queue label Jan 9, 2020
layout feat(layout): add x86_64 so Jan 10, 2020
packages fix(react-host): complete commitTextUpdate interface Jan 9, 2020
scripts chore(build): use shelljs to rewrite the buildexample command Jan 15, 2020
types refactor: make it public Dec 20, 2019
.commitlintrc.js refactor: make it public Dec 20, 2019
.editorconfig refactor: make it public Dec 20, 2019
.eslintignore refactor: make it public Dec 20, 2019
.eslintrc.js refactor: make it public Dec 20, 2019
.gitignore refactor(vue): make refreshComplected available for ul-refresh Jan 7, 2020
.markdownlintrc.json docs: make docs be public Jan 1, 2020
.npmignore refactor: make it public Dec 20, 2019
.nycrc refactor: make it public Dec 20, 2019
AUTHORS chore(doc): added previous android maintainer info Dec 20, 2019
LICENSE chore(license): #40 - added license to the code based on hippy-react-web Jan 6, 2020
README.md chore(ci): restore to use codecov for coverage Jan 10, 2020
README.zh_CN.md chore(ci): restore to use codecov for coverage Jan 10, 2020
TODO.md refactor: make it public Dec 20, 2019
ava.config.js refactor: make it public Dec 20, 2019
hippy.podspec feat(ios): add podspec config file (#90) Jan 6, 2020
lerna.json refactor: make it public Dec 20, 2019
package-lock.json chore(coverage): added codeconv integration Jan 9, 2020
package.json chore(build): use shelljs to rewrite the buildexample command Jan 15, 2020
tsconfig.json refactor: make it public Dec 20, 2019
typedoc.js refactor: make it public Dec 20, 2019

README.md

Hippy Cross Platform Framework

Hippy Group license PRs Welcome node Actions Status Codecov

English | 简体中文 | Homepage

Introduction

Hippy is a cross-platform development framework, aiming to help developers write once, run on three platforms(iOS, Android and Web). Hippy is quite friendly to web developers, especially who are familiar with React or Vue. With Hippy, developers are able to create the cross platform app easily.

Hippy is now applied in 18 Tencent apps reaching hundreds of millions of ordinary users.

Advantages

  • Design for web developers, officially support web frameworks like React and Vue.
  • Same APIs for different platforms.
  • Excellent performance with JS engine binding communication.
  • Build-in recyclable component with better performance.
  • Smoothly and gracefully migrate to web browser.
  • Fully supported Flex Layout engine.

Project structure

Hippy
├── examples                          # Demo code for frontend or native developer.
│   ├── hippy-react-demo              # hippy-react js demo code.
│   ├── hippy-vue-demo                # hippy-vue js demo code.
│   ├── ios-demo                      # iOS native demo code.
│   └── android-demo                  # Android native demo code.
├── packages                          # npm packages.
│   ├── hippy-debug-server            # Debug the Hippy with native.
│   ├── hippy-react                   # React binding for Hippy.
│   ├── hippy-react-web               # Web adapter for hippy-react.
│   ├── hippy-vue                     # Vue binding for Hippy.
│   ├── hippy-vue-css-loader          # Webpack loader for convert CSS text to JS AST.
│   ├── hippy-vue-native-components   # Native components extensions for hippy-vue.
│   └── hippy-vue-router              # Vue router for hippy-vue.
├── ios
│   └── sdk                           # iOS SDK
├── android
│   ├── support_ui                    # Android native components.
│   └── sdk                           # Android SDK.
├── core                              # JS modules implemented by C++, binding to JS engine.
├── layout                            # Hippy layout engine.
├── scripts                           # Project build script.
└── types                             # Global type definition.

Getting started

Preparing environment

For macOS developers:

  1. Xcode with iOS sdk: build the iOS app.
  2. Android Studio with NDK: build the android app.
  3. Node.JS: run the build scripts.

homebrew is recommended to install the dependencies.

For Windows developers:

  1. Android Studio with NDK: build the android app.
  2. Node.JS: run the build scripts.

Windows can't run the iOS development environment so far.

Build your first Hippy app

Start the iOS simulator with hippy-react or hippy-vue demo

For iOS we recommend to use iOS simulator when first try, however, you may change the Xcode configuration to install the app to iPhone if you are a iOS expert.

  1. Install the dependencies with npm install.
  2. Build the front-end sdk packages with npm run build.
  3. Choose a demo to build with npm run buildexample -- [hippy-react-demo|hippy-vue-demo].
  4. Start the Xcode and build the iOS app with open examples/ios-demo/HippyDemo.xcodeproj.

Start the android app with hippy-react or hippy-vue demo

For Android we recommend to use the real cellphone for better experience, because Hippy is using X5 JS engine which can't support x86 simulator, as well as ARM simulator has a low performance.

Before build the android app, please make sure the SDK and NDK is installed, And DO NOT update the build toolchain.

  1. Install the dependencies with npm install.
  2. Build the front-end sdk packages with npm run build.
  3. Open a terminal, then build the hippy-react demo with npm run buildexample -- hippy-react-demo, or build the hippy-vue demo with npm run buildexample -- hippy-vue-demo .
  4. Open the examples/android-demo with Android Studio.
  5. Connect android phone with USB cable and make sure USB debugging mode and USB installation are enabled.
  6. Open the project with Android Studio, run and install the apk.

If you encounter the issue of No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android, here is the solution.

Contribution

Developers are welcome to contribute to Tencent's open source, and we will also give them incentives to acknowledge and thank them. Here we provide an official description of Tencent's open source contribution. Specific contribution rules for each project are formulated by the project team. Developers can choose the appropriate project and participate according to the corresponding rules. The Tencent Project Management Committee will report regularly to qualified contributors and awards will be issued by the official contact.

License

Hippy is Apache-2.0 licensed.

You can’t perform that action at this time.