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
plus 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 の完全なドキュメントは、当社の Web サイトでご覧いただけます。
Boden のドキュメントはまだ作成中です。探している情報が見つからない場合は、GitHub の問題を開くか、当社に直接連絡して、お気軽にお問い合わせください。
次のオープンソース ライセンスのいずれかに基づいて Boden にライセンスを供与することができます。
商用/独自ライセンスについては、[email protected] までお問い合わせください。
フィードバックをお待ちしております。
ボーデンに関する最新情報を入手するには、当社までご連絡ください。
不足しているものや機能しないものを見つけた場合は、GitHub の問題をオープンすることを検討してください。