Dimension v3.1. In 1995, 4D v3.5 went cross-platform and has since then supported both the Microsoft Windows and Apple Macintosh operating systems. In 1997, 4D v6 was the first version of 4D to contain a fully integrated web server, allowing developers to translate 4D forms into HTML on the fly using only the 4D language. In 2004, 4D 2004 was the first version of 4D to allow developers to create standalone, client/server, web and Service Oriented Applications (SOA) without changing any code. In 2008, 4D v11 added a SQL layer to the 4D database engine and extending native SQL in to the 4D programming language which allowed 4D developers to write native SQL code to connect to either local or remote servers. In 2010, 4D v12 integrated the ability to execute PHP functions/scripts from within the 4D programming language. This version also supported new replication and synchronization commands and included a 64 bit version of 4D Server. Version history Architecture A 4D application can run in either Standalone mode or Client-Server mode. Single-User In Standalone mode, the 4D application (4D.exe on Windows or 4D.app on Mac) is used to open the structure file (4DB/4DC) file directly along with the associated data file (4DD). Client-Server In the Client-Server paradigm the 4D Server application (4DServer.exe on Windows or 4DServer.app on Mac) is used to open the structure file (4DB/4DC) file directly along with the associated data file (4DD). 4D may then be used in remote mode to connect to the 4D Server. Application Editions 4D has two applications; 4D and 4D Server. 4D Server runs only as a server but 4D can be run in either standalone or remote mode. 4D 4D can be run in two modes. 4D in single-user mode allows for 1 person to run the application. 4D in remote mode is used for connecting to a 4D Server. 4D Server 4D Server is used for Client-Server connectivity to the application. In this mode, 4D Server loads the structure file (4DB or 4DC) and also the datafile (4DD) and provides network access to 4D (in remote). Each workstation has a dynamically updated cache of the resources they are working with, while the 4D Server maintains the data and code. Syntax This section will include syntax examples demonstrating different programming constructs used in 4D, such as for loops and variable usage. Data Types 4D fields, variables, and expressions can be