使用 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 问题。