跳转到主要内容
HPO Software 分步式 4D 数据库与低代码应用构建指南 —— 从创建首张表到打造可运行的商业应用。

本站部分链接为联盟营销链接:如果您通过这些链接购买,我们可能会获得佣金,且不会增加您的成本。这绝不会影响我们的推荐建议。详情请参阅我们的联盟披露声明。 联盟营销披露.

第四维度学习基础知识

本系列旨在帮助刚刚使用 FileMaker Pro 或具有其他应用程序数据库设计经验的用户。在本系列中,每当使用“4D”时,它指的是“4th Dimension”,而每当使用“FMP”时,它指的是“FileMaker Pro”。

也许来自 FMP 世界的最大障碍是 4D 有着根本的不同。该程序的开发理念不同。术语也不同。我将通过解释 4D 和 FMP 之间的关系来尝试让读者轻松了解 4D。然而,其中一些事情很难或不可能关联起来,因为它们对于每种产品来说都是独一无二的。

FMP 的参考将针对版本 5.0.x 和 4D 版本 4.6.x 的标准版。

注意: FMP 5.0 目前的建议零售价为 249 美元,4D 标准版的建议零售价为 349 美元。 4D 和 FMP 都是跨平台的。两者都适用于 Macintosh 和 Windows 系统。两者都具有 Web 功能。

第一部分将介绍 FileMaker 和 4D 的一些历史。有趣的是,4D 和 FileMaker 几乎在同一时间(80 年代中期)起源于 Macintosh。第一部分还将简要介绍以下内容:

  • 系统要求
  • 程序结构
  • 网络差异
  • 运行时版本的差异
  • 编译器
  • 虚拟主机
  • 数据图表
  • 插件
  • 工具/实用程序
  • 资源
  • 其他 4D URL

注: 以下各部分的顺序和内容是暂定的。

Related: — A spreadsheet-simple interface sitting on top of a real , with automations, views, and shareable interfaces..

  • 第二部分 将介绍创建一个简单的 4D 程序
  • 第三部分将涵盖自定义菜单
  • 第四部分将涵盖方法
  • 后续部分待定。

要点

  • 4D 和 FileMaker Pro 都源于 20 世纪 80 年代中期的 Macintosh 数据库场景,但它们通过截然不同的架构解决了相同的问题。
  • 从 FMP 迁移到 4D 最困难的部分不是语法,而是数据、结构和代码如何分离的底层哲学。
  • 4D 公开了真正的关系引擎、编程语言(4D 语言)和编译器,而 FMP 历来强调单文件、布局驱动的模型。
  • 两种产品之间的术语差异很大,因此学习 4D 词汇是阅读任何 4D 文档的先决条件。
  • 两种产品都提供跨平台支持和 Web 功能,但每种产品提供这些功能的方式(运行时、编译器和插件模型)存在显着差异。
  • 第一部分是地形图;动手构建从第二部分开始。

为什么 4D 感觉与 FileMaker Pro 不同

如果您已经使用 FileMaker Pro 多年,那么您的数据库心智模型可能是围绕单个文件构建的,该文件包含所有在一个位置的表、布局、脚本和关系。您打开该文件,看到一个布局,单击一个字段,然后就可以开始工作了。该模型很方便,也是 FMP 受到小型团队和公民开发人员欢迎的原因之一。

4D 要求您以不同的方式思考。在 4D 中,数据库的结构(表、字段、关系)是在与表单(用户界面)和方法(代码)分开的结构上下文中定义的。这种分离更接近传统客户端/服务器关系数据库的组织方式,也是 FileMaker 开发人员必须做出的最重要的概念转变。

一种区分差异的有用方法:

If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..

  • FileMaker Pro 倾向于“以文档为中心”。文件就是应用程序。
  • 4D 往往是以结构为中心。该结构定义了数据模型,应用程序通过表单、方法和菜单构建在其之上。

从抽象意义上讲,这两种方法都不是“更好”。 FMP 针对单个开发人员的快速迭代进行了优化。 4D 针对更大、更结构化、更可编程的应用程序进行了优化,这就是为什么它吸引了需要真正的编程语言和编译器的开发人员。

简短的共同历史

值得暂停的是,4D 和 FileMaker 都起源于 Macintosh,并且几乎在同一时间,即 20 世纪 80 年代中期。这并非巧合。最初的 Macintosh 为桌面数据库工具创建了一个新市场,可供个人和小型企业使用,而不是大型机操作员使用。

FileMaker 最初是一款 Macintosh 产品,后来被 Claris(Apple 的子公司)收购并开发,这就是为什么许多 Mac 的长期用户将 FileMaker 与 Apple 生态系统联系在一起。 4D由ACI(美国ACI US)开发,并成长为一个拥有自己的语言和编译器的跨平台开发环境。

这两款产品都经历了从经典 Mac 操作系统到 Windows 和现代操作系统的转变,并且都添加了 Web 功能。这种共享的血统就是为什么 FileMaker 开发人员经常可以阅读 4D 文档并识别正在解决的“问题”,即使“解决方案”看起来不熟悉。

系统要求和跨平台现实

4D 和 FMP 都是跨平台的。两者都适用于 Macintosh 和 Windows 系统。两者都具有 Web 功能。这些是两者的共同点。

它们的分歧之处在于“跨平台”对开发人员意味着什么。在 FileMaker 世界中,您通常在一个平台上进行开发,并在另一个平台上打开相同的文件,并具有适应的布局。在 4D 中,跨平台开发更加明确:您正在构建必须部署到每个目标平台的编译或解释的应用程序,并且您需要了解特定于平台的行为、文件路径和接口约定。

Related: — A builder aimed at portals, directories, and internal tools — with flat-rate pricing instead of per-user fees..

FMP 为开发人员提供的实用指南:

  • 尽早决定您的部署目标。 如果您只部署到一个平台,则可以忽略许多跨平台的细微差别。如果您同时部署到两个平台,请从第一个表单开始规划。
  • 在深入项目之前在“其他”平台上进行测试。 跨平台问题早期修复成本低廉,后期修复成本高昂。
  • 了解运行时模型。 4D 区分了开发环境和部署的运行时,这是 FileMaker 开发人员经常在这里第一次遇到的概念。

程序结构:各部分如何组合在一起

这是最值得仔细阅读的部分,因为这是哲学差异变得具体的地方。

在 4D 中,主要的结构部分是:

Our pick: — The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file..

  • 结构 — 表、字段和关系的定义。这是您的数据模型。
  • 表单 — 用户界面。表单附加到表格,相当于 FileMaker 布局,但它们与数据更加明确地分离。
  • 方法 — 代码。 4D 拥有完整的编程语言,方法是逻辑所在。
  • 菜单 — 自定义菜单,本系列的第三部分将详细介绍。

在 FileMaker Pro 中,这些关注点更加融合。布局可以包含表示和逻辑(通过脚本触发器和计算),文件本身是所有内容的容器。

实际结果是,在 4D 中,您将在“构建”之前花费更多时间“设计”。一开始感觉较慢,后来感觉更快。 FileMaker 奖励直接参与; 4D 奖励首先规划结构。

粗略比较:

关注点FileMaker Pro (5.0.x)4D (Standard Edition 4.6.x)
数据模型文件内的表和关系与 UI 分开定义的结构
用户界面布局表格
逻辑脚本和计算方法(完整语言)
菜单内置菜单,有限定制自定义菜单(第 III 部分中介绍)
部署打开文件运行时和编译部署选项
扩展插件插件

网络差异

网络是这两种产品在实际部署方面存在差异的领域之一。

FileMaker Pro 的网络模型是围绕通过网络打开共享文件而构建的,并使用 FileMaker Server 或点对点共享处理并发访问。它的设计很简单:您共享文件,其他人打开它。

4D 的网络模型反映了其客户端/服务器传统。 4D 应用程序通常部署为连接到服务器进程的客户端,开发人员对数据如何在它们之间移动有更多的控制权和更多的责任。这很重要,因为它会影响性能调整、记录锁定行为以及设计显示大型记录集的表单的方式。

对于来自 FMP 的开发人员来说,要问的关键问题是:

  • 有多少并发用户将实际连接?
  • 应用程序将在 LAN、WAN 或公共 Internet 上运行吗?
  • 每种表单将通过网络拉取多少数据,是否可以减少?

FileMaker 开发人员通常可以推迟这些问题。在 4D 中,它们往往会更早地出现。

运行时、编译器及其重要性

两个最独特的 4D 概念(也是 FileMaker 开发人员最不熟悉的两个概念)是 运行时 和 编译器。

运行时是应用程序的一个版本,可以分发给不拥有 4D 开发环境的用户。这就是 4D 开发人员发布独立应用程序的方式。 FileMaker 在运行时解决方案中也有类似的概念,但 4D 的运行时模型对于产品的商业使用方式更为重要。

编译器获取您解释的 4D 代码并将其编译为更快、更受保护的形式。编译不仅仅关乎速度;还关乎保护。它涉及在分发应用程序时保护您的源代码。对于只在 FileMaker 中工作过的开发人员来说,文件就是应用程序,源实际上就是文件,这是一个真正的新想法。

如何决定是否编译:

  • 当您分发给最终用户并需要性能和源代码保护时进行编译。
  • 在开发过程中保持解释,其中更快的编辑测试周期比原始速度更重要。
  • 尽早计划编译,因为干净地编译的代码通常是结构更好的代码。

虚拟主机、数据图表和插件

这两种产品都具有 Web 功能,但它们处理 Web 的方式不同。 FileMaker 的 Web 发布历来强调向浏览器提供布局。 4D 的 Web 功能与其语言和服务器相关联,这使开发人员能够对服务内容和服务方式进行更多编程控制。

数据图表是 4D 开发人员历史上使用插件和外部工具来呈现图形和报告的另一个领域。如果图表对您的应用程序很重要,请尽早评估它,而不是假设它是内置的。

插件存在于两个生态系统中。在 FileMaker 中,插件扩展了计算和脚本引擎。在 4D 中,插件扩展了语言并可以深入应用程序。这两个领域的实用建议是相同的:更喜欢内置功能,并将插件视为必须跨版本维护的依赖项。

工具、实用程序和资源

一些习惯可以将在 4D 上茁壮成长的开发者与那些在 4D 上苦苦挣扎的开发者区分开来:

  • 先阅读官方文档。 4D的文档是语言和结构模型的权威来源。
  • 使用开发者社区。 讨论列表和用户组过去是、现在仍然是实用 4D 知识的所在地。
  • 保留个人方法库。 由于 4D 代码是基于文本且可重用的,因此组织良好的方法库可以在各个项目中带来回报。
  • 刻意学习词汇。 结构、形式、方法 和 运行时 等术语在 4D 中具有与其 FileMaker 对应术语不同的特定含义。

对于这两种产品背后的关系模型的更广泛背景,E. F. Codd 关于关系数据库的原始著作仍然是规范参考,并且维基百科关于关系模型的文章是一个合理的起点。对于产生这两种产品的 Macintosh 平台的历史,有关 Macintosh 的维基百科文章是有用的背景。对于一般数据库术语,维基百科有关数据库管理系统的文章是一个有用的指导。

致谢

特别感谢:

  • Brendan Coveney,ACI 美国主席,感谢他对4th Dimension历史的帮助。
  • Will Porter,POLYTROPE SOLUTIONS (德克萨斯州休斯顿市) 及 The XXII Group,感谢他帮助我进行校对并让我保持条理清晰。
  • James Fortier 提供了一些资源并帮助校对文档。
  • Douglas Blew 感谢其提供的建议。
  • ACI US, Inc.、Macom/新闻关系部的 Jim Staples,负责校对和提供评论。
  • David Graham 为本指南设计网页和 PDF 布局。

常见问题

4D 与 FileMaker Pro 基本相同吗?

不是。两者都是跨平台数据库产品,起源于 20 世纪 80 年代中期的 Macintosh,并且都具有 Web 功能,但它们的基本原理不同。 FileMaker Pro 以文档为中心,其中文件就是应用程序,而 4D 将数据结构、形式和方法分为不同的关注点。这种分离就是 4D 感觉更像传统开发环境的原因。

我需要了解编程语言才能使用 4D 吗?

您无需深入编程即可构建简单的东西,但 4D 的真正威力在于其语言和方法。如果您之前使用 FileMaker,其中脚本和计算涵盖了大部分功能,您会发现 4D 希望您为同等功能编写更多代码。回报是针对大型应用程序的更多控制和更好的结构。

什么是 4D 运行时,它为何重要?

运行时是应用程序的可分发版本,用户无需拥有完整的 4D 开发环境即可运行。这很重要,因为这是 4D 开发人员向最终用户交付独立应用程序的方式。 FileMaker 有类似的概念,但在 4D 中,运行时模型对于商业部署更为重要。

为什么要编译我的 4D 应用程序?

当您分发应用程序时,编译可以提高性能并保护您的源代码。在开发过程中,您通常会保持解释状态以加快编辑测试周期,并在准备好交付时进行编译。干净编译的代码往往也组织得更好,因此尽早规划编译是值得的。

4D 和 FileMaker Pro 之间的网络有何不同?

FileMaker Pro 的网络是围绕共享文件构建的,通过 FileMaker Server 或点对点共享处理并发访问。 4D 的网络反映了其客户端/服务器传统,使开发人员能够更好地控制数据在客户端和服务器之间的移动方式并承担更多责任。这会影响性能调整、记录锁定以及设计显示大型记录集的表单的方式。

本系列的第二部分将涵盖哪些内容?

第二部分将介绍创建一个简单的 4D 程序,逐步介绍从结构到形式再到方法的过程。第三部分将介绍自定义菜单,第四部分将更深入地介绍方法。附加部分待定,各部分的顺序和内容均为暂定。


Copyright © 1994-2000 HPO Soft. All rights reserved.

Frequently asked questions

4D 与 FileMaker Pro 基本相同吗?

不是。两者都是跨平台数据库产品,起源于 20 世纪 80 年代中期的 Macintosh,并且都具有 Web 功能,但它们的基本原理不同。 FileMaker Pro 以文档为中心,其中文件就是应用程序,而 4D 将数据结构、形式和方法分为不同的关注点。这种分离就是 4D 感觉更像传统开发环境的原因。

我需要了解编程语言才能使用 4D 吗?

您无需深入编程即可构建简单的东西,但 4D 的真正威力在于其语言和方法。来自 FileMaker,其中脚本和计算涵盖了很多基础,您会发现 4D 希望您为同等功能编写更多代码。回报是针对大型应用程序的更多控制和更好的结构。

什么是 4D 运行时,它为什么重要?

运行时是应用程序的可分发版本,用户无需拥有完整的 4D 开发环境即可运行。这很重要,因为这是 4D 开发人员向最终用户交付独立应用程序的方式。 FileMaker 有类似的概念,但在 4D 中,运行时模型对于商业部署更为重要。

为什么要编译 4D 应用程序?

当您分发应用程序时,编译可以提高性能并保护您的源代码。在开发过程中,您通常会保持解释状态以加快编辑测试周期,并在准备好交付时进行编译。干净编译的代码往往也组织得更好,因此尽早规划编译是值得的。

4D 和 FileMaker Pro 之间的网络有何不同?

FileMaker Pro 的网络是围绕共享文件构建的,通过 FileMaker Server 或点对点共享处理并发访问。 4D 的网络反映了其客户端/服务器传统,使开发人员能够更好地控制数据在客户端和服务器之间的移动方式并承担更多责任。这会影响性能调整、记录锁定以及设计显示大型记录集的表单的方式。

本系列的第二部分将涵盖哪些内容?

第二部分将介绍创建一个简单的 4D 程序,逐步介绍从结构到形式再到方法的过程。第三部分将介绍自定义菜单,第四部分将更深入地介绍方法。附加部分待定,各部分的顺序和内容均为暂定。 --- 版权所有 © 1994-2000 HPO Soft。版权所有。


Try FileMaker Free for 45 Days

The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file.