프로젝트 소개

uni-app은 Vue.js를 사용하여 프런트엔드 애플리케이션을 개발하는 크로스 플랫폼 프레임워크입니다. README 설명에 따르면, 개발자는 하나의 코드를 작성하여 iOS, Android, HarmonyOS, 반응형 Web뿐만 아니라 위챗, 알리페이, 바이두, 틱톡, 페이슈, QQ, 콰이쇼우, 딩딩, 타오바오, 징동, 샤오홍슈 등의 미니 프로그램, 그리고 콰이앱, HarmonyOS 원서비스 등 여러 플랫폼에 배포할 수 있습니다. 프로젝트는 uni-app과 uni-app x를 구분하고 있습니다: - uni-app: 초기 세대로, App 엔진이 미니 프로그램과 동일한 기술 아키텍처를 채택하며 로직 레이어는 JavaScript를, 렌더링 레이어는 web-view를 사용합니다. - uni-app x: 차세대 버전이자 현재의 메인 브랜치입니다. 페이지 로직은 js/ts/uts로 개발할 수 있으며, App 플랫폼에서는 네이티브 렌더링을 채택합니다. README에 따르면 네이티브 view 체계보다 우수한 렌더링 성능을 보유하고 있으며, view/text 컴포넌트 성능 테스트와 긴 리스트 프레임 드롭 테스트 결과, Android, iOS, HarmonyOS 세 App 플랫폼에서 렌더링 속도는 네이티브의 2~3배, 긴 리스트 프레임률은 네이티브의 2~4배인 것으로 나타났습니다. 더 자세한 평가 내용은 benchmark 디렉토리의 Android, iOS, HarmonyOS 플랫폼 보고서에서 확인할 수 있습니다. uts는 TypeScript와 유사한 크로스 플랫폼 언어입니다. Android 플랫폼에서는 Kotlin으로, iOS 플랫폼에서는 Swift로, HarmonyOS next 플랫폼에서는 ArkTS로, Web 및 미니 프로그램 플랫폼에서는 JavaScript로 컴파일됩니다. 주로 네이티브 플러그인 확장에 사용됩니다. README는 또한 uni-app이 AI 친화적인 기술 프레임워크임을 강조합니다. Vue, js/ts, css만으로 애플리케이션 개발을 완료할 수 있으며, 프로젝트는 AI 모델 학습을 위한 강화 학습 도구를 제공하고 DCloud는 AI를 이용한 uni-app 개발을 돕는 uni-agent를 제공합니다. 저장소 구조의 경우: benchmark 디렉토리는 성능 평가 보고서, docs 디렉토리는 문서, examples 디렉토리는 예제 프로젝트, src 디렉토리는 소스 코드, test 디렉토리는 테스트 케이스를 저장하며, CHANGELOG.md는 업데이트 로그입니다. uni-app과 uni-app x의 브랜치는 서로 다릅니다. uni-app은 vue2와 vue3로 나뉘어 각각 uni-app-vue2, uni-app-vue3 브랜치를 가지며, uni-app x 브랜치는 본 저장소의 uni-app x 버전 오픈소스 저장소입니다. 빠른 체험 섹션에서는 hello uni-app x 예제 QR 코드를 제공하며, hello uni-app (x) 예제 코드는 GitHub에서 얻을 수 있다고 안내합니다. 콰이앱은 vivo, OPPO, 화웨이만 지원합니다.