With the introduction of the project mode, it’s pretty easy to manipulate the components of your projects.
In the last few feature releases, we have added several functionalities that allow you to create your own build chain adapted to your team, your working methods, and your needs.
- Launch a compilation by programming,
- Zip/unzip files and folders with these commands,
- Easily Manage your Application’s Information,
- Headless 4D applications to integrate it into a build tool.
To help you create your own build chain or integrate 4D into a continuous integration tool, we have developed a component named Build4D, available on GitHub with the sources.
For this first step, Build4D allows you to create a compiled structure and a component. We will continue to enrich it to enable you to manage a single-user application, client application, or server application.
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.
The release of Silicon Macs had a great impact on the way 4D compiles applications. Before v19, 4D was compiling only for Intel architecture, using the same code on Mac and Windows. But Silicon Macs use a new architecture, and as such 4D needs to compile specifically for Silicon. It affects cross-platform client/server application building.
As long as you build your server on Mac, it’s not much of an issue, as you can compile for both Intel and Silicon platforms. But on Windows, it’s not possible to compile for Silicon Macs. Our current recommendation is to compile the project on Mac for both architectures, and then copy it on a Windows machine before building the server. Unfortunately, for big projects with a lot of data, the copy can take some time.
When generating .4dz files, 4D uses a standard zip format by default. If you are a software publisher, you’ll be happy to know that 4D v19 R2 added a feature that allows preventing users of your application from seeing the content of the 4DZ, and therefore from being able to modify it.
On Mac, application signature has become a standard, and since Big Sur, you can’t even run unsigned applications. In the past, we published a workaround to build client-server applications running on a Windows server and accepting connections from Mac clients. With the release of 4D v19, we have updated the application building in 4D to handle this case. Here is how you can build a single platform or a cross-platform application in v19.
To build your application, you use the BUILD APPLICATION command with a set of XML keys that allow you to configure the built application. For most of you, this option is enough for application building. However, we want to make sure we meet your specific needs too, so we’ll simplify the BUILD APPLICATION command by splitting it. This will allow for more flexibility while creating applications.
Do you need to build a customized 4D connection dialog? Interested in connecting your client application to different servers? These are two scenarios that 4D v18 lets you to handle. This blog post is for you if you want to create a custom remote connection dialog and connect it to merged 4D servers. Keep reading!
You asked for a way to run multiple clients on the same computer AND simultaneously connect them to the same 4D Server. We not only heard you, we’re giving you even more with 4D v17 R5! Each connection now includes a separated cache folder containing the connection’s IP address, port, and a hash code. Thanks to this, you can now also connect several clients from the same machine to multiple servers on different machines. There’s no configuration necessary, just launch and watch it work!
Today, merged applications save many information in the application package and also in the compiled file (.4DC). Besides preventing to create read-only applications, saving information in the application package has another annoying consequence: the information gets lost when you update the application.
When you deploy an application to your customer, either a merged 4D Server or Single User application, 4D usually opens the “Select data file” dialog. This happens because for an updated solution 4D cannot find the position of the last used data file, as you just replaced the old structure. And for a first time usage, 4D does not know where you would like to create the data file – so it asks for the location.
This dialog, as the very first interaction with your application, might be confusing for the customer. And the verification for the data file happens before the On Startup is executed, before your code has a chance to select another file. To avoid this, 4D v15 introduces a new feature, named Default Data.