Об этом проекте
Hippy — это кроссплатформенный фреймворк разработки от Tencent, цель которого — дать разработчикам возможность писать один раз и запускать на нескольких платформах, включая iOS, Android и Web. Он позиционируется как дружелюбный к веб-разработчикам, особенно к тем, кто уже знаком с React или Vue, и предоставляет официальную поддержку этих двух веб-фреймворков.
Ключевые характеристики, описанные в README:
- Одинаковые API на разных платформах.
- Взаимодействие между JavaScript-слоем и нативным кодом через привязку JS-движка.
- Встроенный перерабатываемый компонент, предназначенный для повышения производительности.
- Путь плавной миграции в веб-браузер.
- Полная поддержка движка Flex-раскладки через проект Tencent Taitank.
В README указано, что Hippy используется в продуктах Tencent, таких как Mobile QQ, Mobile QQ Browser, Tencent Video, QQ Music и Tencent News.
Раздел «Начало работы» охватывает подготовку окружения (git, npm, git-lfs для файлов so/gz/otf), затем сборку демо для iOS и Android. На macOS требуются Xcode с iOS SDK, Android Studio с NDK и Node.js; для зависимостей рекомендуется Homebrew. На Windows поддерживаются Android Studio с NDK и Node.js, но разработка под iOS невозможна.
Для iOS рабочий процесс таков: клонируйте репозиторий и выполните npm install в корне; перейдите в driver/js; выполните npm run init (который объединяет npm install, npx lerna bootstrap и npm run build); выберите демо с помощью npm run buildexample (hippy-react-demo, hippy-vue-demo или hippy-vue-next-demo); установите CocoaPods и cmake, выполните pod install в framework/examples/ios-demo; затем откройте HippyDemo.xcworkspace в Xcode и соберите проект.
Для Android в README рекомендуется использовать реальный телефон, а не эмулятор, отмечая, что JS-движок X5 не поддерживает симуляторы x86, а симуляторы ARM работают плохо. После тех же шагов init и buildexample корневой проект открывается в Android Studio, подключается устройство с включённой отладкой по USB, затем APK запускается и устанавливается.
Отладка JS-демо включает выполнение npm run init:example и npm run debugexample с выбранным демо и флагом dev. В режиме отладки пакеты, такие как @hippy/react, @hippy/vue и @hippy/vue-next, связываются с каталогами dist пакетов driver/js/packages, а не с node_modules, поэтому после изменений исходного кода требуется пересборка. Продакшен-сборки используют npm run hippy:vendor и npm run hippy:build для создания бандлов vendor и index для Android и iOS, при этом DllPlugin разделяет общие и прикладные чанки.
Структура репозитория включает devtools, DOM-слой, слои драйверов (JS-драйвер содержит примеры и пакеты, такие как hippy-react, hippy-react-web, hippy-vue, hippy-vue-css-loader, hippy-vue-loader, hippy-vue-native-components и hippy-vue-router), код фреймворка для Android и iOS с примерами, движок раскладки, модули для Android и footstone, рендереры для Flutter и нативных платформ (Android/iOS), а также статические ресурсы.
Документация доступна на framework.tds.qq.com, примеры — в репозитории, а заметки о выпусках — в GitHub releases. Проект лицензирован под Apache-2.0 и приветствует вклад в соответствии с руководством для контрибьюторов; экосистемная организация находится по адресу hippy-contrib, а движок раскладки Taitank указан как связанный проект.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.