Reduzieren Sie die Größe Ihrer 4D Anwendungen mit diesen neuen Funktionen

In unserem ständigen Bestreben, die Erstellung von 4D Anwendungen zu verbessern, haben wir in 4D v19R5 einige Funktionen hinzugefügt, die Sie sicherlich nützlich finden werden.

Die erste ist die Möglichkeit, einige der größten 4D Module aus Ihren Anwendungen zu entfernen: CEF, Mecab, PHP, Rechtschreibprüfung und 4D Updater. Wenn Sie einige dieser Module nicht benötigen, können Sie die Größe Ihrer Anwendungen erheblich reduzieren.

Wir haben auch das endgültige Verzeichnis geändert, wenn Sie eine kompilierte Struktur erstellen, um denjenigen entgegenzukommen, die mehrere kompilierte Versionen der gleichen Struktur verwenden.

Für unsere japanischen Kunden haben wir die japanische Version von 4D und die internationale Version auf MacOS zusammengeführt.

Kommen wir nun zu den Details.

Entfernen von Modulen

Beginnen wir mit der ersten Neuerung, nämlich der Möglichkeit, Module zu entfernen, die Ihre Anwendung nicht benötigt. Auf der Registerkarte „Plugins und Komponenten“ des Bildschirms zum Erstellen der Anwendung können Sie nun 5 Module entfernen:

  • CEF steht für Chromium Embedded Framework. Wir verwenden es für die Anzeige von Webbereichen und 4D View Pro Bereichen. Es ist also ein recht nützliches Framework, aber auch ein schweres.
  • MeCab ist ein 4D Textformatierer für die japanische Sprache. Wenn Ihre Anwendung nicht auf Japanisch lokalisiert ist, brauchen Sie dieses Modul nicht.
  • Wenn Sie kein PHP verwenden, können Sie das PHP-Modul ohne Weiteres entfernen.
  • SpellChecker ist nützlich, wenn Sie die Rechtschreibprüfung von 4D verwenden; ansonsten können Sie es aus Ihrer Anwendung entfernen.
  • Und schließlich: Wenn Sie nicht vorhaben, Ihre Anwendung mit einem 4D Updater zu aktualisieren, brauchen Sie ihn nicht einzubinden.

Hier ist die Größe all dieser Module auf Mac und Windows:

Modul Mac Windows
CEF 459 MB 217 MB
MeCab 80 MB 75 MB
PHP 26 MB 19 MB
Rechtschreibprüfung 10 MB 10 MB
Aktualisierungsprogramm 11 MB 6 MB
Maximaler Gewinn 586 MB 327 MP

Wie Sie sehen können, sollte das Entfernen dieser Module die Größe Ihrer Anwendung erheblich reduzieren, besonders auf dem Mac, da alle diese Module universelle Binärdateien für Intel und Silicon Architekturen sind.
Ein wichtiger Hinweis ist, dass 4D Ihre Methoden und Formulare nicht auf Aufrufe der Module überprüft, die Sie entfernen. Seien Sie also sicher, was Sie tun, wenn Sie eines der Module deaktivieren.

Japanische Version

Vor v19R5 haben wir unseren japanischen Kunden eine spezielle Version von 4D auf dem Mac zur Verfügung gestellt, da sie die einzigen waren, die MeCab verwendet haben. Da MeCab nun leicht aus Anwendungen entfernt werden kann, wird es für alle enthalten sein, und wir werden keine spezielle japanische Version von 4D mehr anbieten.

Ausgabeverzeichnis beim Kompilieren einer Struktur ohne zugehörige Ordner

Schließlich haben wir das Ausgabeverzeichnis geändert, wenn Sie eine Struktur ohne zugehörige Ordner kompilieren.

In früheren Versionen wurde die kompilierte Struktur direkt in den Ordner „Compiled Database“ Ihres Bauverzeichnisses gelegt, was jedoch zu Problemen führte, wenn Sie mehrere Versionen der gleichen Struktur erstellen wollten. Ab v19R5 befindet sie sich in einem Ordner mit dem Namen Ihrer Anwendung innerhalb des Ordners Compiled Database. Wenn Sie einen automatisierten Build-Prozess haben, sollten Sie diese Änderung mit Vorsicht genießen.

Diese neuen Änderungen sollten Ihnen helfen, leichtere Anwendungen zu erstellen und die Automatisierung Ihres Erstellungsprozesses zu erleichtern. Und wie immer, wenn Sie Fragen haben, schreiben Sie uns einen Kommentar im 4D Forum.

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!).