Créez des expériences multiplateformes purement natives avec Boden
Site Web ⬡ Démarrage ⬡ Référence API ⬡ Guides ⬡ Twitter ⬡ CommentairesRemarque : Il s'agit d'une version bêta. L'API Boden n'est pas encore entièrement complète et stable.
Sur Mac : macOS 10.14+, Xcode 10.1+, Python 3.4+, CMake 3.15.0+.
Sous Windows : Windows 10, Python 3.4+, CMake 3.10.2+, Ninja, Git, Oracle JDK 8 et Android Studio (avec Android NDK, voir les instructions d'installation pour plus de détails).
Sur Ubuntu 18.04 : sudo apt update && sudo apt install git cmake ninja-build python python3-distutils openjdk-8-jdk qemu-kvm
plus Android Studio (avec Android NDK, voir les instructions d'installation pour plus de détails).
git clone --recurse-submodules https://github.com/AshampooSystems/boden.git
cd boden
python boden.py open -t bodendemo
Cela fera apparaître Xcode sur macOS ou Android Studio sur Linux/Windows.
Si quelque chose ne va pas, assurez-vous que toutes les dépendances sont installées et configurées correctement. Consultez nos guides étendus pour obtenir de l’aide :
Dans Xcode, sélectionnez la cible bodendemo
et appuyez sur Cmd + R .
Dans Android Studio, sélectionnez la cible bodendemo
et appuyez sur Shift + F10 .
Pour créer votre première application Boden, ouvrez un terminal (ou une invite de commande), accédez à votre répertoire boden
local et exécutez les commandes suivantes :
python boden.py new -n AwesomeApp
cd AwesomeApp
python ../boden.py open
Cela créera un nouveau dossier nommé AwesomeApp
et générera des fichiers source et de projet pour une simple application multiplateforme Hello World. La dernière commande préparera et ouvrira un projet Xcode sur Mac ou un projet Android Studio sous Linux/Windows.
Dans Xcode, sélectionnez la cible AwesomeApp
, puis appuyez sur Cmd + R pour créer et exécuter l'application Hello World.
Dans Android Studio, attendez que Gradle termine ses processus de synchronisation et de configuration, puis sélectionnez la cible bodendemo
et appuyez sur Cmd + R pour créer et exécuter l'exemple d'application, puis sélectionnez la cible AwesomeApp
, puis appuyez sur Ctrl + R sur Mac ou Shift + F10. sous Linux/Windows pour créer et exécuter l'application Hello World.
Remarque : sous macOS et Linux, vous pouvez également simplement taper
./boden
au lieu d'appeler explicitementpython boden.py
. Si vous souhaitez créer la version Android de l'application sur macOS, exécutez../boden open -p android
.
Voici un aperçu rapide du code source généré par la commande 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
est la partie la plus intéressante du source généré pour l'application Hello World. Le contrôleur de vue principal sera instancié au lancement de l'application. Il est responsable de la configuration de l'interface utilisateur de l'application.
Voici ce que fait le code en détail :
Tout d'abord, créez une nouvelle Window
et définissez son titre sur AwesomeApp
:
_window = std::make_shared<Window>();
_window->title = " AwesomeApp " ;
Pour obtenir une mise en page automatique, utilisez un yogalayout::Layout
et définissez une taille de fenêtre par défaut :
_window->geometry = Rect { 0 , 0 , 400 , 300 };
_window-> setLayout (std::make_shared<yoga::Layout>());
Ensuite, instanciez un nouveau Button
et définissez son étiquette sur « Hello World » :
auto button = std::make_shared<Button>();
button->label = " Hello World " ;
Comme le bouton est le seul contrôle qui sera affiché dans cet exemple, définissez-le comme vue du contenu de la fenêtre :
_window->contentView = button;
Enfin, rendez la fenêtre visible :
_window->visible = true ;
Vous pouvez trouver la documentation Boden complète sur notre site Web.
La documentation Boden est toujours en cours de travail. Si vous ne trouvez pas les informations que vous recherchez, n'hésitez pas à nous le demander en ouvrant un ticket GitHub ou en nous contactant directement.
Vous pouvez octroyer une licence à Boden sous l'une des licences open source suivantes :
Pour une licence commerciale/propriétaire, veuillez nous contacter à [email protected].
Nous sommes heureux de vos commentaires !
Contactez-nous et restez informé de l'actualité de Boden :
Si vous trouvez quelque chose qui manque ou ne fonctionne pas, pensez à ouvrir un ticket GitHub.