Boden으로 순수 네이티브 크로스 플랫폼 경험 구축
웹사이트 ⬡ 시작하기 ⬡ API 참조 ⬡ 가이드 ⬡ Twitter ⬡ 피드백참고: 이는 베타 릴리스입니다. Boden API는 아직 완전하고 안정적이지 않습니다.
Mac : macOS 10.14+, Xcode 10.1+, Python 3.4+, CMake 3.15.0+.
Windows : Windows 10, Python 3.4+, CMake 3.10.2+, Ninja, Git, Oracle JDK 8 및 Android Studio(Android NDK 사용, 자세한 내용은 설치 지침 참조).
Ubuntu 18.04 : sudo apt update && sudo apt install git cmake ninja-build python python3-distutils openjdk-8-jdk qemu-kvm
및 Android Studio(Android NDK 사용, 자세한 내용은 설치 지침 참조).
git clone --recurse-submodules https://github.com/AshampooSystems/boden.git
cd boden
python boden.py open -t bodendemo
그러면 macOS에서는 Xcode가, Linux/Windows에서는 Android Studio가 실행됩니다.
문제가 발생하면 모든 종속 항목이 올바르게 설치되고 설정되었는지 확인하세요. 도움이 필요하면 확장 가이드를 확인하세요.
Xcode에서 bodendemo
대상을 선택하고 Cmd + R을 누르십시오.
Android Studio에서 bodendemo
대상을 선택하고 Shift + F10을 누르세요.
첫 번째 Boden 앱을 만들려면 터미널(또는 명령 프롬프트)을 열고 로컬 boden
디렉터리로 변경한 후 다음 명령을 실행하세요.
python boden.py new -n AwesomeApp
cd AwesomeApp
python ../boden.py open
그러면 AwesomeApp
이라는 새 폴더가 생성되고 간단한 Hello World 크로스 플랫폼 애플리케이션을 위한 소스 및 프로젝트 파일이 생성됩니다. 마지막 명령은 Mac의 Xcode 프로젝트 또는 Linux/Windows의 Android Studio 프로젝트를 준비하고 엽니다.
Xcode에서 AwesomeApp
대상을 선택한 다음 Cmd + R을 눌러 Hello World 애플리케이션을 빌드하고 실행합니다.
Android Studio에서 Gradle이 동기화 및 구성 프로세스를 완료할 때까지 기다린 다음 bodendemo
대상을 선택하고 Cmd + R을 눌러 예제 애플리케이션을 빌드 및 실행한 다음 AwesomeApp
대상을 선택한 다음 Mac에서 Ctrl + R 또는 Shift + F10을 누릅니다. Linux/Windows에서 Hello World 애플리케이션을 실행하기 위해 빌드합니다.
참고: macOS 및 Linux에서는
python boden.py
명시적으로 호출하는 대신 간단히./boden
입력할 수도 있습니다. macOS에서 Android 버전의 앱을 빌드하려면../boden open -p android
실행하세요.
다음은 boden new
명령으로 생성된 소스 코드를 간략하게 살펴보겠습니다.
// MainViewController.cpp
# include < bdn/ui.h >
# include < bdn/ui/yoga.h >
# include " MainViewController.h "
using namespace bdn ;
using namespace bdn ::ui ;
MainViewController::MainViewController ()
{
_window = std::make_shared<Window>();
_window-> title = " AwesomeApp " ;
_window-> geometry = Rect { 0 , 0 , 400 , 300 };
_window-> setLayout (std::make_shared<yoga::Layout>());
auto button = std::make_shared< Button >();
button-> label = " Hello World " ;
_window-> contentView = button;
_window-> visible = true ;
}
MainViewController.cpp
Hello World 애플리케이션용으로 생성된 소스 중 가장 흥미로운 부분입니다. 기본 뷰 컨트롤러는 애플리케이션 시작 시 인스턴스화됩니다. 애플리케이션의 사용자 인터페이스 설정을 담당합니다.
코드의 세부 내용은 다음과 같습니다.
먼저 새 Window
만들고 제목을 AwesomeApp
으로 설정합니다.
_window = std::make_shared<Window>();
_window->title = " AwesomeApp " ;
자동 레이아웃을 얻으려면 yogalayout::Layout
사용하고 기본 창 크기를 설정하세요.
_window->geometry = Rect { 0 , 0 , 400 , 300 };
_window-> setLayout (std::make_shared<yoga::Layout>());
그런 다음 새 Button
인스턴스화하고 레이블을 "Hello World"로 설정합니다.
auto button = std::make_shared<Button>();
button->label = " Hello World " ;
버튼은 이 예제에 표시되는 유일한 컨트롤이므로 창의 콘텐츠 뷰로 설정하세요.
_window->contentView = button;
마지막으로 창을 표시합니다.
_window->visible = true ;
당사 웹사이트에서 전체 Boden 문서를 찾을 수 있습니다.
Boden 문서는 아직 작업 중입니다. 원하는 정보를 찾을 수 없다면 주저하지 말고 GitHub 문제를 열거나 직접 문의해 주세요.
다음 오픈 소스 라이선스 중 하나에 따라 Boden에 라이선스를 부여할 수 있습니다.
상업용/독점 라이센스에 대해서는 [email protected]으로 문의하십시오.
우리는 귀하의 피드백을 기쁘게 생각합니다!
우리에게 연락하고 Boden에 대한 최신 정보를 받아보세요:
누락되었거나 작동하지 않는 항목을 발견한 경우 GitHub 문제를 여는 것을 고려해 보세요.