4D Blog

Home Product Reduce your 4D apps’ size with these new features

Reduce your 4D apps’ size with these new features

April 28, 2022

Product

In our ongoing effort to improve the building of 4D applications, we’ve added a few functionalities to 4D v19R5 that you’ll certainly find useful.

The first one is the ability to remove some of the biggest 4D modules from your applications: CEF, Mecab, PHP, Spell Checker, and 4D Updater. If you don’t need some of these modules, you’ll be able to significantly reduce the size of your applications.

We also changed the final directory when you build a compiled structure, in order to accommodate those using multiple compiled versions of the same structure.

As for our Japanese customers, we have merged the Japanese version of 4D and the international one on MacOS.

Let’s delve into the details.

Removing Modules

Let’s start with the first novelty, the ability to remove modules your application doesn’t use. Now, in the plugin & components tab of the build application screen, you’ll be able to remove 5 modules:

  • CEF stands for Chromium Embedded Framework. We use it to display web areas and 4D View Pro areas. So it’s quite a useful framework, but it is also a heavy one.
  • MeCab is a 4D text formatter for the Japanese language. If your application is not localized in Japanese, you won’t need this module.
  • If you don’t use PHP, you can remove the PHP module without a second thought.
  • SpellChecker is useful if you use the spell-checking commands of 4D; otherwise, you can remove it from your application.
  • And finally, if you don’t plan on using a 4D updater to update your application, you don’t need to include it.

 

Here’s the size of all these modules on Mac and Windows:

Module Mac Windows
 CEF 459 MB 217 MB
 MeCab 80 MB 75 MB
 PHP 26 MB 19 MB
 Spell Checker 10 MB 10 MB
 Updater 11 MB 6 MB
 Maximal gain 586 MB 327 MP

As you can see, removing these modules should reduce your application size significantly, especially on Mac, as all these modules are universal binaries for Intel and Silicon architectures.
One important thing to note is that 4D won’t check your methods and forms for any call to the modules you are removing. So be certain of what you do when you uncheck one of them.

Japanese Version

Before v19R5, we provided our Japanese customers with a special version of 4D on Mac, as they were the only ones to use MeCab. Now that it can be removed from applications easily, MeCab will be included for everyone, and we will no more provide a special Japanese version of 4D.

Output Directory when compiling a structure without related folders

Finally, we have changed the output directory when you compile a structure without related folders.

The compiled structure was put directly in the Compiled Database folder of your build directory in previous versions, but it creates issues if you want to build multiple versions of the same structure. Starting with v19R5, it will be inside a folder with your application name inside the Compiled Database folder. If you have an automated build process, be careful about this change.

These new changes should help you build lighter applications and have an easier time automating your building process. And as usual, if you have any questions, drop us a comment on the 4D forum.

Discuss

Tags Build application, Deployment, v19 R5, v20

Latest related posts

  • November 17, 2025

    Goodbye 4D Internet Commands – Hello Modern Internet Integration

  • November 14, 2025

    Event Report in 4D Qodly Pro: See Every Interactions at a Glance

  • November 14, 2025

    4D Qodly Pro: Page Zoom Controls

Nicolas Brachfogel
Nicolas Brachfogel
Product Owner & Senior Developer - Nicolas Brachfogel joined 4D in 2017 as senior developer (4D Server and networking) and as Product Owner to manage the 4D version on Apple Silicon. He is tasked with the redaction of user stories and functional specifications, as well as the verification that the new features are in line with customers' needs. With a degree from Institut Supérieur d'Informatique Appliquée Paris (INSIA), Nicolas started his career as a software developer in 2001. After many years of development in Java and C++, he specialized himself in client-server development in the video game industry. As a developer/software architect, he worked on the server architectures of many games (Dofus Arena, Drakerz, Trivial Pursuit Go !).
  • Deutsch
  • Français
  • English
  • Português
  • Čeština
  • Español
  • Italiano
  • 日本語

Categories

Browse categories

  • AI
  • 4D View Pro
  • 4D Write Pro
  • 4D for Mobile
  • Email
  • Development Mode
  • 4D Language
  • ORDA
  • User Interface / GUI
  • Qodly Studio
  • Server
  • Maintenance
  • Deployment
  • 4D Tutorials
  • Generic
  • 4D Summit sessions and other online videos

Tags

4D AIKit 4D for Android 4D for iOS 4D NetKit 4D Qodly Pro 4D View Pro 4D Write Pro 20 R10 21 Administration AI Artificial Intelligence Build application Class Client/Server Code editor Collections Compatibility settings Formula Google Listbox Logs Mail Network Objects OpenAI ORDA PDF Pictures Preemptive Programming REST Scalability Security Session Source control Speed Spreadsheet Tutorial UI User Experience v20 vscode Web Word processor

Tags

4D AIKit 4D for Android 4D for iOS 4D NetKit 4D Qodly Pro 4D View Pro 4D Write Pro 20 R10 21 Administration AI Artificial Intelligence Build application Class Client/Server Code editor Collections Compatibility settings Formula Google Listbox Logs Mail Network Objects OpenAI ORDA PDF Pictures Preemptive Programming REST Scalability Security Session Source control Speed Spreadsheet Tutorial UI User Experience v20 vscode Web Word processor
Subscribe to 4D Newsletter

© 2025 4D SAS - All rights reserved
Terms & Conditions | Legal Notices | Data Policy | Cookie Policy | Contact us | Write for us


Subscribe to 4D Newsletter

* Your privacy is very important to us. Please click here to view our Policy

Contact us

Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!

* Your privacy is very important to us. Please click here to view our Policy