微软在 2007 年停止销售 Visual FoxPro,但许多组织仍拥有围绕其项目、表单、表格和事件驱动语言构建的应用程序。FoxDevCommunity 推出的 FoxDev Studio,是延续这类软件可用性的新尝试,目标是在迁移到其他平台之前,让它们继续运行。

Visual FoxPro 解决方案示例,包含项目资源管理器和示例分类
Solution 示例展示了传统 VFP 项目结构和示例启动器。foxscript.org

这个界面展示了 FoxDev Studio 希望直接打开的现有项目、表单、菜单、程序和数据库。

该项目描述了一套可直接打开现有 Visual FoxPro 9 项目、表单、菜单、程序和表格的 IDE 与运行时。其文档称,编辑器、随附应用程序和无界面运行器使用同一套编译器与字节码解释器,而核心虚拟机以 Rust 编写并编译为 WebAssembly。这一点很重要,因为传统 FoxPro 的行为取决于许多细微之处:事件顺序、表单状态、文件格式,以及运行时如何处理特定语言结构。

Visual FoxPro 调试器,显示当前源代码行和检查面板
调试器提供当前行、调用栈、局部变量、监视和断点。foxscript.org

这个开发视图支持文章关于为传统 FoxPro 应用保留细致 IDE 与运行时行为的观点。

最具实际影响的改变是 64 位支持。该项目表示,Visual FoxPro 的两 GB 表格和备注字段限制源于有符号的 32 位文件偏移,而 FoxDev 使用 64 位偏移,并以流式方式读取表格字节,而不是把整个文件载入内存。其仓库称,团队已验证在 5.2 GB 偏移处进行读写,剩余上限来自 DBF 格式本身,包括其 32 位记录计数字段和备注块字段。

Visual FoxPro 表格浏览器,显示数据库记录和备注字段
表格浏览器将数据库容器记录和备注字段显示为链接。foxscript.org

该数据库视图与文章讨论的直接表格访问、文件格式和更大数据处理直接相关。

这里有一个重要的兼容性限制。该产品自己的文档称,团队通过运行 vfp9.exe 并比对其结果来确定行为;一旦实现结果发生偏差,测试就会失败。该网站报告称,1,722 个 Visual FoxPro 9 语言参考元素中有 1,534 个已接受测试,另有 3 个未知;GitHub 页面则分别列出尚未完成的领域,例如索引、备注字段写入和部分控件绑定。这些数字描述的是该项目自己的测试与路线图,而不是独立验证。

实际影响比“FoxPro 回归了”这一说法更窄。FoxDev Studio 似乎面向这样一些团队:它们需要让现有 VFP 应用继续运行,同时获得现代化宿主、64 位数据访问能力,以及迈向 FoxScript Lambda 和 HTTP 路由等新功能的路径。在把 FoxDev Studio 视为原始运行时的替代品之前,团队仍需测试应用的真实表单、库、数据库和部署路径。

FoxScript 源代码使用 Lambda 注册 HTTP 路由并显示服务器输出
FoxScript 代码使用 Lambda 注册 HTTP 路由,同时输出显示正在监听的服务器。foxscript.org

这个示例说明了文章中描述的新功能路径,包括 FoxScript Lambda 和 HTTP 路由。