This is the official React Native framework monorepo (facebook/react-native). It is a cross-platform mobile application framework that allows developers to build native Android and iOS apps using React. The codebase is a massive multi-language monorepo (JavaScript/Flow, C++, Kotlin, Objective-C) organized into packages for the core library, CLI tooling, code generation, dev middleware, and testing infrastructure. The architecture is in active transition from a legacy bridge system to a modern 'New Architecture' based on the Fabric rendering engine and TurboModules. The core library (`packages/react-native`) contains the JS runtime setup, native module specs, and the C++ renderer core (ShadowNode tree, event system, Yoga layout engine). Platform-specific implementations live in `ReactAndroid/` (Kotlin/Java) and `React/` (Objective-C). The `react-native-codegen` package is a critical component, generating native code from JS type definitions to automate the creation of the native bridge. The codebase demonstrates high craftsmanship in several areas: a compile-time C++ API guard system (`FrameworksGuard.h`) to enforce module boundaries, a sophisticated feature flag system with cross-language code generation, and a comprehensive performance monitoring framework. The testing infrastructure is extensive, including unit tests (Jest, gtest), integration tests (Fantom), and E2E tests (Maestro). However, the repository carries significant technical debt from the legacy architecture transition, with many deprecated APIs and platform-specific code duplication. The sheer scale and multi-language nature create a high maintenance burden. Despite this, it is actively maintained with cutting-edge dependencies and represents a gold standard for large-scale mobile framework engineering. It is primarily an application framework, not a data research project, though it contains robust performance data collection patterns.
NativeScript is a mature, cross-platform mobile application framework that enables developers to build native iOS, Android, and visionOS apps using JavaScript, TypeScript, or Angular. The repository is structured as a monorepo containing the core runtime (`@nativescript/core`) with platform-abstracted UI components, styling engine, data binding, and application lifecycle management; dual build toolchains (`@nativescript/vite` and `@nativescript/webpack5`) with Hot Module Replacement (HMR) support; platform type definitions (`@nativescript/types-ios`, `@nativescript/types-android`); and native widget libraries (Android Java, iOS Objective-C). The architecture is component-based: XML-declared UIs are parsed by a builder, instantiate native views, and styled via a custom CSS engine with selector matching, inheritance, and animations. An extensible property system with coercion, CSS properties, and change tracking drives reactivity. HMR infrastructure includes a Vite plugin that serves modules over WebSocket with framework-specific strategies (Angular, Vue, Solid, TypeScript). The codebase is heavily tested with unit tests (Vitest), platform-specific integration tests, and Appium E2E tests. Reusable design patterns include the observable data binding, property change origin tracking, platform-qualified file resolution, and CSS media query parsing. Notable technical drift risks include the coexistence of two build systems (webpack5 deprecated in favor of Vite), extensive platform-specific code duplication (`.android.ts`/`.ios.ts` pairs), and reliance on some deprecated iOS APIs in type declarations. Overall, it is a well-engineered framework with a large ecosystem and active development.
This repository is the core codebase for uni-app-x, a next-generation cross-platform mobile development framework. Unlike the traditional WebView-based uni-app, this version utilizes UTS (Uni-app TypeScript) to compile directly to native code (Swift/Kotlin/ArkTS) for iOS, Android, and HarmonyOS, alongside Web and Mini-program support. The architecture is a monorepo structure with a plugin-based system (`uni_modules`) that allows modular distribution of native SDKs and cloud functions. It bridges JavaScript/TypeScript logic with native OS capabilities through a custom runtime engine and UTS compiler, enabling high-performance native rendering and hardware access. The system operates as a full-stack framework, including a CLI for project scaffolding, a compiler pipeline (Vite/Webpack integration), and a serverless cloud backend (`uniCloud`) for authentication, payments, and data management. Key data flows involve client-side code compilation into platform-specific binaries, communication via a native bridge (JSBridge/UTS), and serverless function execution on cloud providers (Aliyun, Tencent, Alipay). The framework relies heavily on embedded native dependencies (Lottie, IJKPlayer, TencentLBS) and maintains a complex plugin ecosystem to abstract platform differences. While the codebase demonstrates high craftsmanship in native rendering engines and plugin architecture, it carries significant maintenance overhead due to platform fragmentation and the need to keep embedded native SDKs synchronized with OS updates. The UTS language and compiler are custom-built, introducing a layer of technical debt and drift risk as the ecosystem evolves. The project is actively maintained with frequent updates to SDKs and compiler stability, but the complexity of supporting multiple platforms simultaneously creates a medium level of technical drift.
Hippy is a cross-platform mobile application framework developed by Tencent that enables developers to build native mobile apps using JavaScript with React or Vue. It provides a JS driver layer that communicates with native renderers on Android, iOS, OpenHarmony, and Web via a bridge system. The architecture is modular: a DOM layer manages the virtual tree and layout (using Taitank or Yoga), native renderers create platform-specific UI components, and a virtual file system (VFS) handles resource loading. The framework includes a full devtools backend implementing Chrome DevTools Protocol for debugging, performance monitoring, and DOM inspection. Key entry points include the JS bootstrap (hippy.js), native engine managers (HippyEngine on Android, HippyBridge on iOS), and the JS framework adapters (hippy-react, hippy-vue, hippy-vue-next). External dependencies include V8, Hermes, JSC, or JSH JavaScript engines, and platform-specific SDKs (AndroidX, UIKit, ArkUI). The codebase is large and actively maintained, with multiple renderer implementations and both Vue 2 and Vue 3 support, though some duplication and deprecated code exist.
Vue Native Core is a deprecated fork of Vue.js 2.x that compiles Vue component templates into render functions compatible with React Native (iOS/Android) and React Web. It provides a full reactive state management system (Vue's observer pattern), virtual DOM diffing, and a template compiler pipeline that transforms .vue single-file components into JavaScript modules usable by React Native's Metro bundler. The architecture mirrors Vue 2: core reactivity (Dep, Watcher, Scheduler), virtual DOM (createElement, patch), and a multi-stage compiler (parser → AST → code generator) with platform-specific backends for native and web. It also offers runtime helpers to emulate Vue directives (v-if, v-for, events) and component lifecycle in React. However, the project is explicitly deprecated, depends on outdated versions (Babel 6, React 16.8, React Native 0.45–0.59+), and uses deprecated React lifecycle methods (UNSAFE_componentWillMount). The codebase shows heavy modification of core Vue files, making it difficult to merge upstream updates, and its build system is complex and fragile. Despite these issues, the reactive state wrapper (Vue.observer) and the template-to-render compilers demonstrate non-trivial adaptation of Vue to React ecosystem.