Author: Nicolas Brachfogel

Nicolas Brachfogel
• Product Owner & Senior Developer • Nicolas Brachfogel joined 4D in 2017 as a Senior Developer (4D Server and networking). As Product Owner to manage the release of Apple Silicon, he's in charge of writing user stories and translating them into functional specifications, as well as making sure that feature implementations meet customer needs. A graduate of the Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas began his career as a software developer in 2001. Following several years coding in Java and C++, he went on to specialize in client-server development for video game companies. As a server developer/architect, he successfully worked on the server architectures of many games (Dofus Arena, Drakerz, Trivial Pursuit Go!).
Product blank

Latest Improvements of the HTTP Client

With 4D v19R6, we brought you a new way to perform HTTP requests: HTTP classes. At that time, some of the HTTP classes functionalities were not final, as we wanted to adapt them to the new syntax. It is now done! In v19R7, compressed responses, chunked responses, and redirections functionalities are now complete.

As a bonus, we also added a new way to log HTTP requests. And as it’s helpful to everyone, this new logging is available to the new HTTP classes as well as for the legacy syntax.

Product blank

Developing Concurrently on 4D Server in Project Mode

Since its release in 4D v18, Projects drastically expanded 4D’s capabilities by bringing compatibility with version control systems —among other things.

With excellent feedback, we couldn’t be prouder to see significant adoption of this feature among the 4D community. This pushed us to improve it to make it even better. 

Your feedback included a request for the possibility to work simultaneously on a single development server as a team. Again, 4D listened, and we are thrilled to announce that with 4D v19 R6, you can work on a development server in project mode!

Product blank

Reduce your 4D apps’ size with these new features

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.

Product blank

Evolution of the diagnostic log

Year after year, feature after feature, the diagnostic log has grown into a massive file on busy servers. With 4D v19R5, we included a new database parameter allowing you to choose the log level of the diagnostic log file. It will help you control the diagnostic log size by logging only what you really need.

Product blank

New text rendering in forms on Windows with DirectWrite

DirectWrite is the modern text rendering API on Windows. It improves text readability thanks to its subpixel quality, and is fully compatible with the most recent technologies. As such, it is a stepping stone to many improvements. Amongst them, the management of high-resolution screens (4K screens) we’re currently working on, and that many of you dearly expect. 4D list boxes moved to DirectWrite in v16 and we decided to make the switch for our text rendering inside forms in v19R3.

Product blank

Simplified cross-platform client/server application building on Windows

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.