Phase 2 — Cross-Platform Deployments¶
Phase 2 takes what Phase 1 delivers on Windows and brings it to every other platform. The compiler, runtime, and debugger were designed to be platform-independent from the start, so the work concentrates on everything around them.
The largest piece is the server. IIS is not available outside Windows, so Phase 2 builds a new WebApp Server infrastructure for cross-platform and cloud deployments, with close attention to OCI and Docker compatibility so that a DataFlex application deploys like any other container workload — including under Kubernetes and comparable orchestrators.
The second open question is the development environment. Rebuilding the Studio for other platforms is too large a task for this phase, which leaves two routes: commit to the Studio with remote development, where the Windows Studio targets a container or another platform, or depend fully on VS Code. Both are listed below as TBD, because the decision has not been made.
Statuses mean exactly what they mean on the roadmap overview: ✓ released and usable · ◐ released, with the limitation named in the cell · ✗ still to be implemented · N/A not applicable to that platform · TBD not yet decided. Most of Phase 2 is still to be implemented, so most cells here are ✗; the WebAssembly and Windows columns carry their current status so you can see what is being ported.
Components can ship between phases
A phase describes a full-fledged release, not a release train. TechStack's interop system, combined with the package manager introduced in DataFlex 26.0, lets components ship on their own schedule: FlexTron, the database drivers provided out of the box, and the Web UI server and client capabilities are all packages. Over time, more and more components will be released independently of one another. So an item documented under a later phase can become available earlier — FlexTron on Windows belongs to Phase 1 and FlexTron on the other platforms to Phase 2, but a cross-platform FlexTron package may well appear in between.
Runtime and compilers¶
| Feature | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| 64-bit runtime | N/A | ✓ | ✗ | ✗ | ✗ |
| 64-bit compiler | N/A | ✓ | ✗ | ✗ | ✗ |
Only the 64-bit rows appear: the 32-bit runtime and compiler are N/A on every platform Phase 2 targets, so they stay a Phase 1 concern. The 32-bit builds that do exist are Windows-only — the TechStack native-32 toolchain and the DataFlex Windows 27.0.0+windows-32 toolchain — and both are covered by Phase 1.
Development tools¶
| Feature | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| VS Code development | TBD | TBD | TBD | TBD | TBD |
| Studio remote development | TBD | TBD | TBD | TBD | TBD |
| Debugserver | ✗ | ✗ | ✗ | ✗ | ✗ |
| Package Manager | Covered by Windows | ✓ | ✗ | ✗ | ✗ |
| df-cli build system | Covered by Windows | ✓ | ✗ | ✗ | ✗ |
| df-cli toolchain management | ✗ | ✗ | ✗ | ✗ | ✗ |
| Toolchain installers | Covered by Windows | ✓ | ✗ | ✗ | ✗ |
Exactly one of the first two rows has to become real for Phase 2 to be usable: either the Windows Studio gains remote development against another platform or a container, or VS Code becomes the supported environment on the other platforms. Both are TBD until that choice is made.
Application frameworks and UI¶
| Feature | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| Web UI framework | ✓ | ✓ | ✗ | ✗ | ✗ |
| WebApp Server | ✗ | ✗ | ✗ | ✗ | ✗ |
| WebAPI Framework Support | N/A | ✗ | ✗ | ✗ | ✗ |
| FlexTron | N/A | ✗ | ✗ | ✗ | ✗ |
IIS WebApp Server is not listed: it is the Phase 1 hosting route and applies to Windows only. The WebApp Server row is its cross-platform replacement.
Data and storage¶
| Feature | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| SQLite Driver | ✓ | ✓ | ✗ | ✗ | ✗ |
| SQL Driver | N/A | ✗ | ✗ | ✗ | ✗ |
| DDP Driver | ✗ | ✗ | ✗ | ✗ | ✗ |
| SQLExecutor | ✗ | ✗ | ✗ | ✗ | ✗ |
| HTTP data synchronization | ✓ | ✓ | ✗ | ✗ | ✗ |
Interop and extensibility¶
| Feature | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| DataFlex Interop API | ✓ | ✓ | ✗ | ✗ | ✗ |
| External function/DLL calls | ✓ | ✓ | ✗ | ✗ | ✗ |
FlexCom is a Windows technology and stays a Phase 1 entry; the JavaScript interop entry belongs to WebAssembly only.
Deployment and operations¶
| Feature | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| OCI Images and deployment | ✗ | ✗ | ✗ | ✗ | ✗ |
One row covers the whole container story: publishing OCI images, running them under Docker, and deploying them to orchestrators such as Kubernetes or to a cloud provider.
API areas¶
Per-area status for the API Reference. Phase 2 is where these areas gain their non-Windows, non-WebAssembly columns.
| Area | WebAssembly | Windows | macOS | Linux | Unix |
|---|---|---|---|---|---|
| Objects | ✓ | ✓ | ✗ | ✗ | ✗ |
| Language data types | ✓ | ✓ | ✗ | ✗ | ✗ |
| Data and Data Dictionaries | ◐ (experimental) | ◐ (experimental) | ✗ | ✗ | ✗ |
| HTTP Client | ✓ | ✓ | ✗ | ✗ | ✗ |
| JSON | ✓ | ✓ | ✗ | ✗ | ✗ |
| Regex | ✓ | ✓ | ✗ | ✗ | ✗ |
| URI | ✓ | ✓ | ✗ | ✗ | ✗ |
| INI | ✓ | ✓ | ✗ | ✗ | ✗ |
| Filesystem | ✓ | ✓ | ✗ | ✗ | ✗ |
| Security | ✓ | ✓ | ✗ | ✗ | ✗ |
| Reflection | ✓ | ✓ | ✗ | ✗ | ✗ |
| Locale and DateTime | ✓ | ✓ | ✗ | ✗ | ✗ |
| Error system | ✓ | ✓ | ✗ | ✗ | ✗ |
| Command line and application | ✓ | ✓ | ✗ | ✗ | ✗ |