# tencent/hippy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tencent-hippy).**

8,533 stars · 1,002 forks · C++ · Apache-2.0

## Links

- GitHub: https://github.com/Tencent/Hippy
- Homepage: https://framework.tds.qq.com/
- awesome-repositories: https://awesome-repositories.com/repository/tencent-hippy.md

## Topics

`android` `cross-platform` `frontend` `hippy` `ios` `mobile` `react` `vue` `web`

## Description

Hippy is a cross-platform mobile framework that enables building applications for iOS, Android, and Web from a single codebase using web development technologies. It functions as a dynamic app framework, supporting runtime code updates and dynamic content delivery across platforms, and connects JavaScript application logic with native platform APIs through a JavaScript bridge.

The framework distinguishes itself through its bridge-based native rendering approach, which serializes UI updates over a JSON message bus to a native host that maintains the real view hierarchy. It employs a component-based UI architecture with virtual DOM diffing to compute minimal UI updates, and uses event-driven communication to pass user interactions and system events between JavaScript and native layers. A JavaScript engine abstraction wraps multiple engines behind a unified interface, allowing runtime selection without changing application code.

Hippy supports building cross-platform applications with code reuse across iOS, Android, and Web, and renders user interfaces using a Flexbox layout engine for consistent arrangement across platforms.

## Tags

### Web Development

- [Cross-Platform Development Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-development-frameworks.md) — Builds mobile and web applications from a single codebase using web frameworks, targeting iOS, Android, and Web simultaneously.
- [Component-Based Architectures](https://awesome-repositories.com/f/web-development/component-based-architectures/component-based-architectures.md) — Builds user interfaces from reusable, self-contained components that manage their own state and rendering lifecycle.
- [Cross-Platform Web Frameworks](https://awesome-repositories.com/f/web-development/cross-platform-web-frameworks.md) — Builds applications for iOS, Android, and Web from a single codebase using web development technologies. ([source](https://cdn.jsdelivr.net/gh/tencent/hippy@main/README.md))
- [Virtual DOM Diffing](https://awesome-repositories.com/f/web-development/virtual-dom-diffing/dom-state-preservation/virtual-dom-diffing.md) — Computes minimal UI updates by comparing a lightweight in-memory representation against its previous state.
- [Runtime Code Updates](https://awesome-repositories.com/f/web-development/web-application-hosting/dynamic-content-delivery/runtime-code-updates.md) — Enables runtime code updates and dynamic content delivery across mobile and web platforms.

### Mobile Development

- [Cross-Platform Frameworks](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks.md) — Provides a framework for building iOS, Android, and Web applications from a single codebase using web development technologies.

### Programming Languages & Runtimes

- [Engine Abstractions](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-engines/engine-abstractions.md) — Wraps multiple JavaScript engines behind a unified interface for runtime selection without code changes.

### Software Engineering & Architecture

- [Event-Driven Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures.md) — Passes user interactions and system events between JavaScript and native layers through a structured event dispatch system.
- [Cross-Platform Reuses](https://awesome-repositories.com/f/software-engineering-architecture/python-coding-standards/cross-platform-reuses.md) — Shares application logic and APIs across different operating systems without rewriting code. ([source](https://cdn.jsdelivr.net/gh/tencent/hippy@main/README.md))

### User Interface & Experience

- [Cross-Platform Flexbox Engines](https://awesome-repositories.com/f/user-interface-experience/flexbox-layout-engines/cross-platform-flexbox-engines.md) — Positions UI elements consistently across platforms using a cross-platform Flexbox layout engine.
- [Mobile Flexbox Layouts](https://awesome-repositories.com/f/user-interface-experience/flexbox-layout-engines/desktop-flexbox-layouts/mobile-flexbox-layouts.md) — Positions UI elements using a Flexbox layout engine for consistent arrangement across mobile platforms. ([source](https://cdn.jsdelivr.net/gh/tencent/hippy@main/README.md))
- [JavaScript Execution Bridges](https://awesome-repositories.com/f/user-interface-experience/javascript-execution-bridges.md) — Connects JavaScript application logic with native platform APIs for cross-platform execution.
- [JSON Message Bus Bridges](https://awesome-repositories.com/f/user-interface-experience/native-rendering-bridges/json-message-bus-bridges.md) — Serializes UI updates as JSON messages over a bus to a native host for rendering.

### Part of an Awesome List

- [Frontend and UI Development](https://awesome-repositories.com/f/awesome-lists/devtools/frontend-and-ui-development.md) — Cross-platform framework for iOS, Android, and Web.
