wƒWebFront C++23
EN ↗GitHub ↗

CHAPITRE 06 / WEBFRONT

Embarquer et distribuer

Passer des sources à une interface embarquée.

Générer les ressources C++

Dans le terminal de l’application, cette commande compile le TSX et regroupe ressources et notices des dépendances dans un en-tête compressé. Rien n’est recompilé automatiquement côté C++.

WEBFRONT TERMINAL
wf embed ui/main.tsx --output generated/LifeUI.hpp

Changer le point d’entrée

Le programme embarqué remplace le projet de développement et bootstrap par le provider généré. Ce code utilise les en-têtes de l’exemple Life et suppose que generated/LifeUI.hpp est dans le chemin d’inclusion. Le dépôt fournit déjà la cible équivalente WebFrontLifeEmbedded.

C++23
#include "Life.hpp"
#include "LifeFrontend.hpp"
#include <webfront/WebFront.hpp>
#include "generated/LifeUI.hpp"

int main() {
    webfront::demo::LifeAppWithAssets<webfront::fs::LifeUI> app;
    app.cppFunction("life.step", &webfront::demo::nextLife);
    app.show();
}

Reconstruire l’exemple

Fermez la fenêtre de développement et lancez ces commandes dans le même répertoire build. Avec Visual Studio, lancez examples\Debug\WebFrontLifeEmbedded.exe. L’application fonctionne hors ligne sans les sources UI ni le cache des outils. Le déploiement du moteur natif reste à prévoir : wf embed n’est pas un générateur d’installeur.

SOURCE
cmake .. -DWEBFRONT_LIFE_ASSETS="$PWD/life-project/generated/LifeUI.hpp"
cmake --build . --target WebFrontLifeEmbedded
examples/WebFrontLifeEmbedded

Question

wf embed installe-t-il le moteur natif chez l’utilisateur ?