使用 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 上,您也可以簡單地鍵入
./boden
而不是明確呼叫python boden.py
。如果您想在 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] 與我們聯繫。
我們很高興收到您的回饋!
與我們聯繫並了解博登的最新資訊:
如果您發現某些內容缺失或不起作用,請考慮開啟 GitHub 問題。