4D v19: Entwicklung der Client/Server-Anwendungsentwicklung

Auf dem Mac ist die Signatur von Programmen zum Standard geworden, und seit Big Sur können Sie nicht einmal mehr unsignierte Programme ausführen. In der Vergangenheit haben wir einen Workaround veröffentlicht, um Client-Server-Anwendungen zu erstellen, die auf einem Windows Server laufen und Verbindungen von Mac Clients akzeptieren. Mit der Veröffentlichung von 4D v19 haben wir die Anwendungserstellung in 4D aktualisiert, um diesen Fall zu behandeln. Im Folgenden erfahren Sie, wie Sie eine plattformunabhängige oder plattformübergreifende Anwendung in 4D v19 erstellen können.

Erstellen einer plattformunabhängigen Anwendung

Wenn Ihr Server und Ihre Clients auf der gleichen Plattform laufen, sei es Windows oder Mac, ist es sehr einfach, Ihre Anwendung zu erstellen:

  1. Öffnen Sie die Registerkarte Client/Server im Fenster Anwendung erstellen.
  2. Aktivieren Sie das Kontrollkästchen Server-Anwendung erstellen und geben Sie den richtigen Pfad zum 4D Server Ordner (unter Windows) oder zur Anwendung (unter Mac) an.
  3. Aktivieren Sie Client-Anwendung erstellen und geben Sie einen Pfad zum 4D Volume Desktop Ordner (unter Windows) oder zur Anwendung (unter Mac) an.
  4. Aktivieren Sie die Option Automatisches Update der Client-Anwendung für Ihre Plattform zulassen, wenn Sie alte Clients automatisch aktualisieren möchten. In diesem Fall ist es wichtig, die aktuelle Versionsnummer zu erhöhen.
  5. Nehmen Sie sich einen Moment Zeit, um zu überprüfen, ob Ihre Lizenz und Ihr Zertifikat auf der Registerkarte Lizenzen & Zertifikat richtig eingestellt sind, und klicken Sie auf Erstellen, um Ihre Anwendung zu erstellen.

Sie finden Ihre Client- und Serveranwendungen im Ordner [Name der Basis]_build, der sich im selben Ordner wie Ihre Datenbank befindet.

Erstellen einer plattformübergreifenden Anwendung

Wenn Sie eine plattformübergreifende Anwendung mit Windows- und Mac-Clients erstellen müssen, ist das Verfahren unterschiedlich, je nachdem, ob Ihr Server unter Windows oder Mac läuft.

Wenn Ihr Server auf einem Mac läuft, müssen Sie auch die automatische Aktualisierung der Windows Client-Anwendung zulassen und den Pfad zu einem Windows 4D Volume Desktop Ordner angeben. Klicken Sie auf Erstellen, um Ihren Server und Ihre beiden Clients zu erstellen.

Wenn Ihr Server unter Windows läuft, ist es ein wenig komplizierter, da Ihre Anwendung auf dem Mac signiert und für Silicon kompiliert werden muss:

  1. Auf einem Mac kompilieren Sie Ihre Basis für alle Plattformen.
  2. Gehen Sie im Fenster Anwendung kompilieren auf die Registerkarte Client/Server und markieren Sie nur Client-Anwendung kompilieren, und wenn Sie eine automatische Aktualisierung benötigen, markieren Sie Automatische Aktualisierung der Macintosh-Client-Anwendung zulassen. Wenn Sie das automatische Update verwenden, wird beim Build ein Mac-Client-Update erstellt. Das Mac-Client-Update ist die Datei update.mac.4darchive, die sich im Ordner Upgrade4DClient neben Ihrer Mac-Client-Anwendung befindet.
  3. Öffnen Sie dann unter Windows die auf dem Mac kompilierte Datenbank und folgen Sie dem Verfahren zur Erstellung einer Einzelplattformanwendung. Wenn Sie Ihren Mac-Client aktualisieren müssen, aktivieren Sie die Option Automatische Aktualisierung der Macintosh-Client-Anwendung zulassen und geben Sie einen Pfad zum Mac-Client-Update an. Sie können nun Ihre plattformübergreifende Anwendung erstellen!

Diese neuen Funktionen von v19 werden die Erstellung von Anwendungen vereinfachen.
Wenn Sie Fragen zu diesen Änderungen haben, können Sie uns diese natürlich im 4D Forum stellen.

Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel kam 2017 als Senior Developer (4D Server und Netzwerke) zu 4D. Als Product Owner, der die Freigabe von Apple Silicon verwaltet, ist er für das Schreiben von User Stories und deren Umsetzung in funktionale Spezifikationen zuständig und stellt sicher, dass die Implementierungen der Funktionen den Kundenanforderungen entsprechen. Nicolas ist Absolvent des Institut Supérieur d'Informatique Appliquée (INSIA) und begann seine Karriere als Softwareentwickler im Jahr 2001. Nachdem er mehrere Jahre in Java und C++ programmiert hatte, spezialisierte er sich auf die Client-Server-Entwicklung für Videospielunternehmen. Als Server-Entwickler/Architekt arbeitete er erfolgreich an den Server-Architekturen vieler Spiele (Dofus Arena, Drakerz, Trivial Pursuit Go!).