Erstellen einer Client/Server-Anwendung mit dem Build4D-Tool

Wir stellen die neueste Version der Build4D-Komponente vor, die jetzt auf GitHub verfügbar ist. In früheren Blogbeiträgen haben wir die Möglichkeiten mit einem kompilierten Projekt, einer Komponente und einer eigenständigen Anwendung diskutiert.

Jetzt können Sie ein Skript für Ihre Client/Server-Anwendung von A bis Z erstellen und es einfach mit Tools zur kontinuierlichen Integration integrieren.

Schauen wir uns an wie.

Build4D-Komponente

Was sind die Möglichkeiten?

Build4D bietet zwei Klassen für die Erstellung Ihrer Client/Server-Anwendung: die Client- und die Serverklasse. Mit den verschiedenen Parametern ist also jede denkbare Kombination möglich.

Sie können generieren:

  • einen macOS- und/oder Windows-Client,
  • ein macOS- und/oder Windows-Client-Archiv für automatische Updates,
  • einen macOS- und/oder Windows-Server.

Beispiel

Hier ist ein einfaches Beispiel für die Erstellung eines Windows-Servers mit integrierten Clients:

Schritt 1: Erstellen eines Clients und eines Client-Archivs

Hier ist ein einfaches Beispiel für die Erstellung einer Client-Anwendung und eines Client-Archivs.

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$archive$buildbuildArchive:="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()

Schritt 2: Erstellen eines Servers mit den integrierten Clients

Nachdem Sie das Client-Archiv erstellt haben (wie im obigen Beispiel), können Sie die Server-Anwendung erstellen und die Attribute macOSClientArchive und winClientArchive verwenden, um den Pfad zu den zuvor erstellten Client-Archiven zu übergeben.

Das folgende Beispiel zeigt, wie Sie eine Serveranwendung mit Client-Archiven erstellen können.

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$buildbuild:=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()

Weiter…

Erforschen Sie die Dokumentation für weitere Einblicke in diese neue Möglichkeit!

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.