프로젝트 소개
Hippy는 Tencent의 크로스 플랫폼 개발 프레임워크로, 한 번 작성하여 iOS, Android, Web 등 여러 플랫폼에서 실행하는 것을 목표로 한다. 특히 React나 Vue에 이미 익숙한 웹 개발자에게 친화적으로 설계되었으며, 이 두 웹 프레임워크에 대한 공식 지원을 제공한다.
README에 설명된 주요 특징:
- 여러 플랫폼에서 동일한 API 제공.
- JS 엔진 바인딩을 통한 JavaScript 레이어와 네이티브 코드 간 통신.
- 더 나은 성능을 위한 내장 재활용 컴포넌트.
- 웹 브라우저로 원활하게 마이그레이션할 수 있는 경로.
- Tencent의 Taitank 프로젝트를 통한 Flex 레이아웃 엔진 완전 지원.
README에는 Hippy가 Mobile QQ, Mobile QQ Browser, Tencent Video, QQ Music, Tencent News와 같은 Tencent 제품에서 사용된다고 명시되어 있다.
시작하기에서는 환경 준비(git, npm, so/gz/otf 파일용 git-lfs)를 다룬 후 iOS 및 Android용 데모 빌드를 다룬다. macOS에서는 iOS SDK가 포함된 Xcode, NDK가 포함된 Android Studio, Node.js가 필요하며, 의존성 설치에는 Homebrew가 권장된다. Windows에서는 NDK가 포함된 Android Studio와 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를 설치한 후 framework/examples/ios-demo에서 pod install을 실행한다. 그런 다음 Xcode에서 HippyDemo.xcworkspace를 열고 빌드한다.
Android의 경우 README는 에뮬레이터보다 실제 휴대폰을 권장하며, X5 JS 엔진이 x86 시뮬레이터를 지원하지 않고 ARM 시뮬레이터의 성능이 좋지 않다고 언급한다. 동일한 init 및 buildexample 단계를 거친 후 Android Studio에서 루트 프로젝트를 열고 USB 디버깅이 활성화된 기기를 연결한 다음 APK를 실행하고 설치한다.
JS 데모 디버깅에는 npm run init:example과 npm run debugexample을 선택한 데모 및 dev 플래그와 함께 실행하는 과정이 포함된다. 디버그 모드에서는 @hippy/react, @hippy/vue, @hippy/vue-next와 같은 패키지가 node_modules가 아닌 driver/js/packages dist 디렉터리에 연결되므로 소스 변경 후 재빌드가 필요하다. 프로덕션 빌드는 npm run hippy:vendor와 npm run hippy:build를 사용하여 Android 및 iOS용 vendor 및 index 번들을 생성하며, DllPlugin이 공통 청크와 앱 청크를 분할한다.
저장소 구조에는 devtools, DOM 레이어, 드라이버 레이어(예제와 hippy-react, hippy-react-web, hippy-vue, hippy-vue-css-loader, hippy-vue-loader, hippy-vue-native-components, hippy-vue-router 같은 패키지를 포함하는 JS 드라이버), Android 및 iOS용 프레임워크 코드와 예제, 레이아웃 엔진, Android 및 footstone용 모듈, Flutter 및 네이티브(Android/iOS)용 렌더러, 정적 자산이 포함된다.
문서는 framework.tds.qq.com에서 제공되며, 예제는 저장소에, 릴리스 노트는 GitHub 릴리스에 있다. 이 프로젝트는 Apache-2.0 라이선스이며 기여 가이드에 따라 기여를 환영한다. 생태계 조직은 hippy-contrib에 있고 Taitank 레이아웃 엔진이 관련 프로젝트로 있다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.