All Projects โ†’ Tencent โ†’ Hippy

Tencent / Hippy

Licence: apache-2.0
Hippy is designed for Web developer to easily build cross-platform and high-performance awesome apps. ๐Ÿ‘

Programming Languages

C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
objective c
16641 projects - #2 most used programming language
Objective-C++
1391 projects
javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Hippy

Pegasus Frontend
A cross platform, customizable graphical frontend for launching emulators and managing your game collection.
Stars: โœญ 364 (-94.16%)
Mutual labels:  cross-platform, frontend
Aurelia
Aurelia 2, a standards-based, front-end framework designed for high-performing, ambitious applications.
Stars: โœญ 995 (-84.04%)
Mutual labels:  cross-platform, frontend
Usockets
Miniscule cross-platform eventing, networking & crypto for async applications
Stars: โœญ 611 (-90.2%)
Mutual labels:  cross-platform
Guitar
A Cross-Platform String and Regular Expression Library written in Swift.
Stars: โœญ 641 (-89.72%)
Mutual labels:  cross-platform
Swiftfoundation
Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux)
Stars: โœญ 623 (-90.01%)
Mutual labels:  cross-platform
Guilite
โœ”๏ธThe smallest header-only GUI library(4 KLOC) for all platforms
Stars: โœญ 5,841 (-6.3%)
Mutual labels:  cross-platform
Rust Ios Android
Example project for building a library for iOS + Android in Rust.
Stars: โœญ 626 (-89.96%)
Mutual labels:  cross-platform
Driveway
pure CSS masonry layouts
Stars: โœญ 607 (-90.26%)
Mutual labels:  layout-engine
Wallet Core
Cross-platform, cross-blockchain wallet library.
Stars: โœญ 657 (-89.46%)
Mutual labels:  cross-platform
Tvision
A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
Stars: โœญ 612 (-90.18%)
Mutual labels:  cross-platform
Sri
Build truly native cross platform (web,ios,android) apps using scalajs and react, react-native ,This project moved to new organization : https://github.com/scalajs-react-interface/sri#sri, new chat room : https://gitter.im/scalajs-react-interface/sri
Stars: โœญ 640 (-89.73%)
Mutual labels:  cross-platform
Ng Devui
ๅŽไธบไบ‘DevCloud๏ผŒๅŸบไบŽAngular็š„ไผไธš็บงๅ‰็ซฏ็ป„ไปถๅบ“๏ผ›DevUI components based on Angular
Stars: โœญ 616 (-90.12%)
Mutual labels:  frontend
Cross Env
๐Ÿ”€ Cross platform setting of environment scripts
Stars: โœญ 5,623 (-9.8%)
Mutual labels:  cross-platform
Flutter Examples
[Examples] Simple basic isolated apps, for budding flutter devs.
Stars: โœญ 5,863 (-5.95%)
Mutual labels:  cross-platform
Notes
Note-taking application, write down your thoughts.
Stars: โœญ 612 (-90.18%)
Mutual labels:  cross-platform
Nanohtml
๐Ÿ‰ HTML template strings for the Browser with support for Server Side Rendering in Node.
Stars: โœญ 651 (-89.56%)
Mutual labels:  frontend
Osu Web
the browser-facing portion of osu!
Stars: โœญ 610 (-90.21%)
Mutual labels:  frontend
Capacitor
Build cross-platform Native Progressive Web Apps for iOS, Android, and the Web โšก๏ธ
Stars: โœญ 6,598 (+5.84%)
Mutual labels:  cross-platform
Liteapp
LiteApp is a high performance mobile cross-platform implementation, The realization of cross-platform functionality is base on webview and provides different ideas and solutions for improve webview performance.
Stars: โœญ 626 (-89.96%)
Mutual labels:  cross-platform
Kvision
Object oriented web framework for Kotlin/JS
Stars: โœญ 658 (-89.44%)
Mutual labels:  frontend

Hippy Cross Platform Framework

Hippy Group license PRs Welcome node Actions Status Codecov GitHub release (latest SemVer)

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 27+ Tencent apps such as Mobile QQ, Mobile QQ Browser, Tencent Video App, QQ Music App, Tencent News, reaching hundreds of millions of ordinary users.

๐Ÿ’ฏ Advantages

  • Designed 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.

๐Ÿ”จ Getting started

Preparing environment

Run git clone https://github.com/Tencent/Hippy.git

Hippy repository applies git-lfs to manage so,gz,otf,png,jpg files, make sure you have installed git-lfs first.

For macOS developers:

homebrew is recommended to install the dependencies.

For Windows developers:

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

Build the iOS simulator with js demo

For iOS, we recommend to use iOS simulator when first try. However, you can change the Xcode configuration to install the app to iPhone if you are an iOS expert.

  1. Install the project build scripts dependencies at root directory with npm install.
  2. Install dependencies of each npm package at root directory with lerna bootstrap. ๏ผˆHippy uses Lerna to manage multi js packages, if lerna command is not found, execute npm install lerna -g first.๏ผ‰
  3. Build each front-end sdk package at root directory with npm run build.
  4. Choose a demo to build with npm run buildexample -- [hippy-react-demo|hippy-vue-demo] at root directory.
  5. Start the Xcode and build the iOS app with open examples/ios-demo/HippyDemo.xcodeproj.

If Step 4 throw error, you can cd to examples hippy-react-demo or hippy-vue-demo, and run npm install --legacy-peer-deps to install demo dependencies first.

More details for iOS SDK integration.

Build the Android app with js demo

For Android, we recommend using the real cellphone for better develop 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 whole project dependencies at root directory with npm install.
  2. Install dependencies of each npm package at root directory with lerna bootstrap. ๏ผˆHippy uses Lerna to manage multi js packages, if lerna command is not found, execute npm install lerna -g first.๏ผ‰
  3. Build each front-end sdk package at root directory with npm run build.
  4. Choose a demo to build with npm run buildexample -- [hippy-react-demo|hippy-vue-demo] at root directory.
  5. Open the examples/android-demo with Android Studio.
  6. Connect Android phone with USB cable and make sure USB debugging mode is enabled(Run adb devices on the computer terminal to check cellphone connection status).
  7. Open the project with Android Studio, run and install the apk.

If Step 4 throw error, you can cd to examples hippy-react-demo or hippy-vue-demo, and run npm install --legacy-peer-deps to install demo dependencies first.

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.

More details for Android SDK integration.

Debug the js demo

  1. Follow Build the iOS simulator with js demo or Build the Android app with js demo first to build the App.
  2. cd to examples hippy-react-demo or hippy-vue-demo.
  3. Run npm install to install demo js dependencies.
  4. Run npm run hippy:dev and npm run hippy:debug (npm run hippy:local-debug will link to source code in packages) respectively to start the live debug mode.

On example debug mode, npm packages such as @hippy/react, @hippy/vue are linked to packages > [different package] > dist(not node_modules), so if you have changed js package source code and want to make it take effect in target example, please call npm run build at root directory again.

More details for debugging can be read in Hippy Debug Document.

๐Ÿ“ Documentation

To check out hippy examples and visit hippyjs.org.

๐Ÿ“… Changelog

Detailed changes for each release version are documented in the project release notes.

๐Ÿงฑ 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.
โ”‚   โ””โ”€โ”€ types                         # Global type definition.
โ”œโ”€โ”€ ios
โ”‚   โ””โ”€โ”€ sdk                           # iOS SDK
โ”œโ”€โ”€ android
โ”‚   โ”œโ”€โ”€ support_ui                    # Android native components.
โ”‚   โ””โ”€โ”€ sdk                           # Android SDK.
โ”œโ”€โ”€ core                              # JS modules implemented by C++, binding to JS engine.
โ”œโ”€โ”€ docker                            # Native release docker image and build scripts.
โ”œโ”€โ”€ layout                            # Hippy layout engine.
โ””โ”€โ”€ scripts                           # Project build script.

๐Ÿค 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. Before making a pull request or issue to Hippy, please make sure to read Contributing Guide.

All the people who already contributed to Hippy can be seen in Contributors and Authors File.

โค๏ธ Stargazers over time

Stargazers over time

๐Ÿ“„ License

Hippy is Apache-2.0 licensed.

๐Ÿ”— Links

Hippy Eco-System

Taitank Layout Engine

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].