awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
didi avatar

didi/chameleonArchived

0
View on GitHub↗
8,966 stars·690 forks·JavaScript·Apache-2.0·7 viewscml.didi.cn↗

Chameleon

Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state.

The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that validates markup syntax and detects circular dependencies during the compilation process.

The project covers a broad range of capabilities, including unified system API integration for accessing hardware features, a standardized markup and stylesheet system for UI development, and performance optimization through lazy loading and subpackage splitting. It also provides command-line tools for project scaffolding and the automation of the build and deployment workflow.

Features

  • Cross-Platform Build Targets - Compiles a single codebase into various target formats for web and diverse mini-app platforms.
  • Multi-Platform App Compilers - Provides a build system that compiles a single shared codebase into web and various mini-app platform formats.
  • Cross-Platform Frameworks - Functions as a framework for developing applications that run across web and mobile mini-app platforms from a single shared codebase.
  • Framework Capability Extensions - Allows the definition of custom APIs and components to support platform-specific features through a polymorphic protocol.
  • Unified System APIs - Provides a unified set of platform-independent functions to interact with hardware and system features like location and storage.
  • Cross-Platform Application Development - Shares a single codebase across web and mobile platforms to ensure consistent behavior.
  • Platform Support - Enables the addition of support for new target platforms via plugins with custom configuration and build logic.
  • MVVM Architectures - Utilizes the MVVM architectural pattern to separate user interface layout from application state and logic.
  • Platform-Specific API Implementations - Employs a polymorphic protocol to map unified component and API interfaces to platform-specific implementations.
  • System API Wrappers - Provides a unified wrapper to interact with hardware and system features across different environments.
  • Cross-Platform UI Frameworks - Provides a framework for developing graphical user interfaces that run consistently across web and various mini-app platforms.
  • Cross-Platform UI Toolkits - Ships a library of standardized UI elements and a markup language to ensure consistent interfaces across multiple platforms.
  • Custom Component Extensions - Implements a polymorphic protocol for integrating specialized frontend elements and platform-specific components.
  • Markup Languages - Provides a standardized markup language and stylesheet system for defining reusable interface elements across platforms.
  • Standard UI Component Libraries - Provides a library of built-in interface elements like buttons, pickers, and dialogs for constructing consistent pages.
  • Template-Based UI Systems - Creates user interfaces that separate logic from presentation using template syntax and style sheet systems.
  • Build Automation Pipelines - Provides an automated sequence for scaffolding, static analysis, bundling, and deploying across multiple target formats.
  • MVVM State Management - Uses the Model-View-ViewModel pattern with data binding to synchronize application state with the user interface.
  • Development Lifecycle and Workflow Automation - Offers command-line tools to manage the full development lifecycle from debugging to publishing.
  • Project Scaffolding - Provides CLI tools for generating project scaffolding and build pipelines to manage the development lifecycle.
  • Static Analysis Tools - Provides static analysis tools to validate markup syntax and detect circular dependencies during the build process.
  • Build Automation - Provides a specialized scaffolding tool and bundling pipeline to automate the development and publishing workflow.
  • Circular Dependency Resolution - Analyzes the module graph during the build process to identify and report circular imports.
  • Coding Standards - Analyzes code during development to highlight warnings and error locations based on defined standards.
  • Static Analysis - Integrates a static analysis pipeline to validate markup syntax and detect circular dependencies during compilation.
  • Module Dependency Analysis - Analyzes dependency trees and markup syntax at build time to detect circular imports and template errors.
  • Template Syntax Validators - Validates component templates for correct lifecycle functions and variable usage during development.
  • Static Code Analysis - Automates scanning of source code to detect bugs and maintainability issues during the build process.
  • Reusable UI Components - Allows the creation of reusable UI components using standard markup for placement within native projects.
  • Global CSS Stylings - Supports the definition of stylesheets that apply global baseline styles across the entire application.
  • Code Splitting - Divides the application into smaller independent subpackages to optimize loading and meet platform size constraints.
  • Frontend Performance Optimization - Employs lazy loading and subpackage splitting to reduce initial load times and satisfy platform size constraints.
  • Lazy Loading - Implements route-level code splitting to defer loading of components and reduce initial bundle size.
  • Syntax Validators - Provides utilities that validate the structural correctness of markup before it is compiled into target formats.
  • Lazy Loading Strategies - Reduces initial bundle size by deferring the loading of components and routes until they are required.
  • Core Frameworks - A multi-end development framework supporting web,小程序, and mobile.
  • Development Frameworks - Multi-platform development framework with unified code.
  • Frontend Frameworks - Cross-platform framework for building multi-terminal applications.
  • JavaScript 框架汇总 - Listed in the “JavaScript 框架汇总” section of the Awesome Frontend awesome list.

Star history

Star history chart for didi/chameleonStar history chart for didi/chameleon

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does didi/chameleon do?

Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state.

What are the main features of didi/chameleon?

The main features of didi/chameleon are: Cross-Platform Build Targets, Multi-Platform App Compilers, Cross-Platform Frameworks, Framework Capability Extensions, Unified System APIs, Cross-Platform Application Development, Platform Support, MVVM Architectures.

What are some open-source alternatives to didi/chameleon?

Open-source alternatives to didi/chameleon include: meituan-dianping/mpvue — This project is a development framework that enables the creation of cross-platform mobile mini programs using the… vuejs/vue — Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and… dcloudio/uni-app — uni-app is a cross-platform framework for building mobile and web applications from a single Vue.js codebase. It… apache/incubator-weex — Incubator-weex is a cross-platform mobile framework used to build user interfaces that run across different operating… didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from… nervjs/taro — Taro is a cross-platform application development framework designed to build a single codebase that runs across…

Open-source alternatives to Chameleon

Similar open-source projects, ranked by how many features they share with Chameleon.
  • meituan-dianping/mpvueMeituan-Dianping avatar

    Meituan-Dianping/mpvue

    20,345View on GitHub↗

    This project is a development framework that enables the creation of cross-platform mobile mini programs using the component-based architecture and reactive data binding of Vue.js. It functions as a build system that transforms web-oriented component code into native-compatible templates and logic, allowing developers to build modular user interfaces that run within restricted mobile environments. The framework distinguishes itself through a sophisticated build pipeline that deconstructs single-file components into platform-specific templates, logic, and style files. It employs compile-time t

    JavaScriptminimpvuevue
    View on GitHub↗20,345
  • vuejs/vuevuejs avatar

    vuejs/vue

    209,900View on GitHub↗

    Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption

    TypeScriptframeworkfrontendjavascript
    View on GitHub↗209,900
  • dcloudio/uni-appdcloudio avatar

    dcloudio/uni-app

    41,549View on GitHub↗

    uni-app is a cross-platform framework for building mobile and web applications from a single Vue.js codebase. It provides a multi-platform app compiler and a cross-platform UI library to ensure consistent behavior and visual presentation across different operating systems. The project features a native API bridge and a universal plugin system that wrap native SDKs into a unified interface, allowing developers to access device hardware and operating system functions. It utilizes a specialized rendering engine and native performance compilation to bypass standard document overhead and achieve h

    Objective-Candroidcross-platformcrossplatform
    View on GitHub↗41,549
  • apache/incubator-weexapache avatar

    apache/incubator-weex

    13,622View on GitHub↗

    Incubator-weex is a cross-platform mobile framework used to build user interfaces that run across different operating systems from a single codebase. It functions as a native UI renderer and a JavaScript native UI bridge, sending serialized UI descriptions from a JavaScript engine to native mobile components. The project includes a cross-platform UI bundler and build tool to compile source code into optimized bundles for native renderers. It also provides a UI previewer and prototyping toolset that allows for testing mobile interface pages within web browsers and on physical devices. The fra

    C++
    View on GitHub↗13,622
See all 30 alternatives to Chameleon→