Tips

Binary database vs. Project database

Automatically translated from English

As you know, 4D now supports two ways to work with sources: binary and project databases. Binary databases are the 4D we all know and love, with source code in a binary file to allow team development with 4D Server, and all of the design elements (methods, forms, structure, etc.) gathered in a single, compact binary file, the “.4db” file. Project databases make it easier for distributed teams to work collaboratively by storing the source code in a source control system in separate, plain text files. Projects will not replace the 4DB, we have no plans to make the 4DB disappear. It’s about two different ways of working and developing. It’s up to you to choose what best suits your needs. Here’s a blog post to help you decide:

Tips

Project database: Deploying your application

Automatically translated from English

So your application has been developed and you’re ready for the next step. 4D lets you:

  • generate a compiled database that no longer contains any interpreted code,
  • generate a standalone application that can be double-clicked, (i.e., merged with 4D Volume Desktop, 4D’s database engine),
  • generate client/server applications with automatic updates of client and server parts.

 

With a project database, you can also build your final applications for both platforms. A project database uses the same configuration file as a binary database.

Product

Using 4D libraries within project databases

Automatically translated from English

4D provides libraries to help you develop applications. One of these libraries is standard and contains preconfigured form objects and widgets, while other libraries are custom. The standard library is “read-only” and its behavior doesn’t change when developing project databases (with the exception of minor, cosmetic interface differences). You also have the ability to create your own custom libraries to save your own form objects or group of objects. In this case, a few changes have been made to make them even more powerful. The following is everything you need to know about these changes:

Tips

Project Databases: Post conversion

Automatically translated from English

In this blog post, we showed you how to convert a binary database into a project database. Once everything is ready and the conversion has successfully completed, you can start working with your project database. However, some questions may arise: are all the files in the database useful? It’s obvious that the”.4DB” structure file is no longer needed. Can I delete other files?

Here’s everything you need to know after the conversion.

Product

Project databases: beautify your forms with style sheets

Automatically translated from English

Classic 4D binary structures let you define style sheets to specify the font, font size, and text style to use in your forms for both the macOS and Windows platforms. Project databases let you go even further by letting you define the properties of a 4-state button or specify the color and border of all line objects or even set the header height of all of an application’s list boxes! Inspired by the grammar and syntax of CSS, 4D adapted it to meet the specific needs of the forms in 4D project databases. Thanks to style sheets, you can configure all of the properties to create truly visually appealing forms. This blog post shows you how!

Tips

Project databases: Architecture

Automatically translated from English

Project databases, the headliner of the 4D v18 release, allow distributed teams to work collaboratively by storing an application’s code in a source control system, in text files containing everything from the database structure to the user interface, including forms, menus, user settings, or any required resources. And since a project database is made of text-based files, you’ll have several folders and files, stored within a single parent database folder. In this blog post, we’ll go through the architecture of a project database to give you a better understanding of this new type of database.