Créer une application client/serveur avec l’outil Build4D

Voici la dernière itération du composant Build4D, désormais accessible sur GitHub. Dans les articles de blog précédents, nous avons discuté des possibilités offertes par un projet compilé, un composant et une application autonome.

Désormais, vous pouvez créer un script pour votre application Client/Serveur de A à Z. Et l’intégrer facilement aux outils d’intégration continue.

Voyons comment.

Composant Build4D

Quelles sont les possibilités ?

Build4D propose deux classes pour générer votre application client/serveur : la classe client et la classe serveur. Ainsi, avec les différents paramètres, toutes les combinaisons imaginables sont possibles.

Vous pouvez générer :

  • un client macOS et/ou Windows,
  • une archive client macOS et/ou Windows pour les mises à jour automatiques,
  • un serveur macOS et/ou Windows.

Exemple

Voici un exemple simple de création d’un serveur Windows avec des clients intégrés :

Étape 1 : Création d’un client et d’une archive client

Voici un exemple simple de création d’une application client et d’une archive client.

var $build : cs.Build4D.Client
var $settings; $archive : Object
var $success : Boolean

$settings:={}

// Define the external project file
$settings.projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")

// Define the 4D Volume Desktop path
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop.app")
// OR
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.1/4D Volume Desktop")

// Configure the application
$settings.buildName:="myApp"
$settings.destinationFolder:="Test/Client/"

// Add the application icon
$settings.iconPath:="/RESOURCES/myIcon.icns"
// OR
$settings.iconPath:="/RESOURCES/myIcon.ico"

// Add the application information
$settings.versioning:={}
$settings.versioning.version:="version"
$settings.versioning.copyright:="copyright"
$settings.versioning.companyName:="companyName"

// Sign if macOS appplication
$settings.signApplication:={}
$settings.signApplication.macSignature:=True
$settings.signApplication.macCertificate:="xxxxxx" //Certificate number found in your keyChain
// Create the client application
$build:=cs.Build4D.Client.new($settings)
$success:=$build.build()

// Create the client application archive
$archive:=$build.buildArchive()

Étape 2 : Créer un serveur avec les clients intégrés

Après avoir créé l’archive client (comme dans l’exemple ci-dessus), vous pouvez créer l’application serveur et utiliser les attributs macOSClientArchive et winClientArchive pour transmettre le chemin d’accès aux archives clients précédemment créées.

Voici un exemple de création d’une application serveur avec des archives clientes.

var $build : cs.Build4D.Server
var $settings : Object
var $success : Boolean

$settings:={}

// Define the external project file
$settings.projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4DProject")

// Configure the application
$settings.buildName:="myApp"
$settings.destinationFolder:="Test/Server/"

// Define the 4D Server path
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server.app")
// OR
$settings.sourceAppFolder:=Folder(fk documents folder).folder("4D v20.0/4D Server")

// Add the application icon
$settings.iconPath:="/RESOURCES/myIcon.icns"
// OR
$settings.iconPath:="/RESOURCES/myIcon.ico"

// Add the application information
$settings.versioning:={}
$settings.versioning.version:="version"
$settings.versioning.copyright:="copyright"
$settings.versioning.companyName:="companyName"

// Add the client archives
$settings.macOSClientArchive:="...path macOS Archive..."
$settings.windowsClientArchive:="...path win Archive..."

// Create the deployment license file for OEM partner
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")
$settings.xmlKeyLicense:=Folder(fk licenses folder).file("XXXXX.license4D")

// Sign if macOS appplication
$settings.signApplication:={}
$settings.signApplication.macSignature:=True
$settings.signApplication.macCertificate:="xxxxxx"
//Certificate number found in your keyChain
// Launch the build
$build:=cs.Build4D.Server.new($settings)
$success:=$build.build()

Suivant…

Explorez la documentation pour en savoir plus sur cette nouvelle possibilité !

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.