4D has been a longtime supporter of team development, ever since 4D Server 1.0. The greatest benefit of working together on the same source code, is allowing both team development and team testing. However this can create some disadvantages for distributed teams since they may not be able to work on the same source.
Following a complete rewrite, 4D now supports two ways to work with sources: binary and project. Binary is the 4D we all know and love, with the source in a binary file to allow team development with 4D Server. Project makes it easier for distributed teams to work collaboratively by storing the source in a source control system in plain text files.
This means that you can convert your binary source (.4DB file) into a project folder … with thousands of text files. Every method, every form, every form object method, menus, and of course the structure itself, is stored as separate text file. This is completely transparent for your development work because 4D works in Design mode just as it did before.
Now you might be wondering, “How on earth will thousands of text files do me any good when deploying?” Don’t panic! For deployment, 4D still lets you compile all of your work into a single file, just as you did before.
How will project change the way i develop?
Since all of your code is now text-based, it’s easy to commit it to a source control system such as Git, Perforce, SVN, or others. And not just committed, you can also reverse or merge it with other branches. This has a major impact on the way you’ll develop applications with 4D:
As a single developer
You can not only use source control to backup your work, but also as a way to test new features and roll them back if they didn’t work out. And here’s where things get interesting … you can choose the restore point from which you want to roll back (instead of a full file backup). In a nutshell, projects allow features to be built, tested, and merged in a controllable, transparent, and easy-to-maintain manner.
as a team
Wherever the team is in the world, everyone is able to work because in the end their developments will be merged into a common version. There’s no question where the latest version of a file or project is. Everything is centralized in your version control system.
in A NUTSHELL…
Of course 4D continues to support binary mode (4DB), but now you have another option. You can continue to use 4D Server to keep remote developers connected and in sync, or you can use 4D Developer Edition to take advantage of a source control system.
Whatever works best for your team, the choice is yours!
What to expect?
This is the very first (Beta) version of Project. The related features will soon be rolling out to our partners starting with 4D v17 R5 Beta. In contrast to other features, which are included in R-Releases only (after being fully tested and deemed production-ready), Project is still in development and for testing purposes only. It should not be used in production yet, as it is not 100% complete and bug-free. That being said, your feedback is needed now more than ever.
The tests will continue with 4D v17 R6 Beta. With the upcoming 6 months of tests and your help, 4D v18 will be a landmark in the history of 4D.