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

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

第四维度学习基础知识

本页面是 4th Dimension 学习基础知识 系列的一部分,该系列最初是为从 FileMaker Pro (FMP) 迁移到 4D 的开发人员编写的一组注释。这里的主题是网络托管 - 具体来说,当您想要将数据库驱动的应用程序发布到浏览器时,这两个平台有何不同。这种比较具有启发性,因为它揭示了两种产品之间更深层次的架构差异,并且这种差异仍然影响着您今天对 4D 部署的看法。

要点

  • FileMaker Pro 的标准版可以使用 CDML(Claris 动态标记语言)在网络上托管数据库,但许可和性能限制使其不适合实际流量。
  • 标准版限制在 12 小时滚动窗口内托管10 个唯一的 IP 地址 — 受众规模的硬性上限,而不是软准则。
  • 如果没有 Lasso 等第三方加速器,FileMaker 的 Web 性能被广泛认为很差,而且许可条款通常禁止这种解决方法。
  • 4D 的网络托管内置于 4D 标准版 和 4D Server 中,无需 HTML 或 CDML 创作,并且无需专用许可证即可进行短期测试。
  • 历史上,无限 4D 网络托管需要 4D Internet Extension 许可证。
  • 实践经验:选择平台时应根据其将数据发布到网络的方式,而不仅仅是存储数据的方式。

为什么 Web 托管是真正的差异化因素

大多数数据库比较都集中在表设计、表单构建器和脚本语言上。这些很重要,但它们很大程度上是内部问题——它们会影响该工具对您的愉悦程度。网络托管会影响应用程序到达“其他所有人”的方式,这就是 FileMaker Pro 和 4D 在 20 世纪 90 年代末和 2000 年代初出现巨大分歧的地方。

FileMaker Pro 的方法是将网络发布固定到桌面优先的产品上。 4D 的方法是从一开始就将网络视为一流的部署目标。这个单一的设计决策会涉及到许可、性能和您必须编写的代码量。

如果您正在评估任一平台,或者在使用 FileMaker 多年后学习 4D,了解这段历史就可以解释为什么 4D 的网络故事与您可能习惯的内容相比,感觉简单得令人怀疑。

FileMaker Pro Web 托管和 CDML

FileMaker Pro 标准版允许用户在 Web 上托管 FMP 数据库文件。该机制是 CDML(Claris 动态标记语言),这是一组嵌入普通 HTML 页面中的特殊标签。当浏览器请求页面时,FileMaker 将解析这些标签,运行相应的数据库操作,并将结果替换为 HTML,然后返回。

CDML 在当时确实很聪明。它允许具有 HTML 技能(但没有服务器端编程语言)的开发人员为 F​​ileMaker 数据库构建可搜索、可编辑的 Web 前端。您用 HTML 编写了类似搜索表单的内容,放入 CDML 标记来定义查询和结果布局,然后由 FileMaker 处理其余的事情。

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

但这种方法存在两个严重的问题,最初的注释指出了这两个问题。

10-IP 许可限制

标准版有软件和许可限制,限制在滚动的 12 小时内托管10 个唯一的 IP 地址。这值得暂停,因为它很容易被误读为“10 个并发用户”。

它不是。任何 12 小时窗口内都有 10 个“不同”访客。一旦第十一个唯一的 IP 地址到达,该访问者就会被锁定 - 即使前十个早已离开。对于少数同事使用的小型内部工具来说,这可能是可以忍受的。对于任何面向公众的事情来说,这是致命的。一个搜索引擎爬虫可以在几分钟内耗尽你的津贴。

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

性能和 Lasso 解决方法

FileMaker 的内置 Web 引擎也很慢。 FileMaker 社区中的标准补救措施是在其前面放置一个第三方应用程序 - 最著名的是 Lasso,这是 Blue World Communications 的一款中间件产品,它与 FileMaker 数据库交互并生成 HTML,其效率远远高于 CDML。

正如原始注释所指出的,问题在于许可限制禁止在标准版上进行这种安排。因此,解决方法是存在的,但在最需要的地方却不允许。

FileMaker 确实提供了取消 IP 限制的 Unlimited 版本(当时价格约为 1,000 美元)。但即使是 Unlimited 仍然很慢,并且在实践中,仍然希望前面的 Lasso 之类的东西可以在负载下使用。您付费是为了消除许可上限,而不是为了解决潜在的性能问题。

4D Web 托管:内置而非外挂

4D采取了相反的方法。网络托管是该产品的原生功能,原始注释将其描述为“极其简单”——这种说法值得拆开而不是相信。

要点:

  • 4D 标准版和 4D Server 都可以在网络上托管数据库。 您不需要单独的网络发布产品层。
  • 测试是免费的。 两个版本都允许您在没有网络托管许可证的情况下托管数据库最多 一次 2 小时。这是真正的开发便利:您可以在 Web 前端上构建、测试和迭代,而无需购买任何东西。
  • 无限托管需要 4D Internet Extension 许可证(历史上约为 1,000 美元)。
  • 不需要 HTML、CDML 或其他标记代码。 这是标题差异。 4D 根据您已构建的数据库结构和表单生成 Web 界面。

最后一点会改变你的工作方式。在 CDML 模型中,您维护两个并行的工件:数据库和 HTML 模板。您在网络上公开的每个字段都必须在标记中手动连接。在 4D 中,您为桌面客户端设计的表单可以发布到网络上,这意味着一次设计工作可以为两个受众提供服务。

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

原始注释将机制推迟到该系列的后续部分以及 4D 标准版随附的手册中。这是合理的分工——“如何”本身就是一个话题——但“为什么”才是重要的。

比较两种方法

维度FileMaker Pro(标准版)4D(标准/服务器)
网络技术嵌入 HTML 中的 CDML 标签本机,从数据库表单生成
需要标记创作是的 — 您编写 HTML + CDML没有
访客限制每滚动 12 小时 10 个唯一 IP无(具有互联网扩展许可证)
免费测试窗口不适用一次最多 2 小时,无需许可证
负载下的性能较慢;通常需要 Lasso 或类似产品由 4D Web 引擎处理
允许第三方加速器标准许可下禁止不需要
无限托管许可证FMP 无限(约 1,000 美元)4D 互联网扩展(约 1,000 美元)

该表使权衡变得一目了然。两个平台对无限托管的收费大致相同数量级。不同之处在于您所获得的结果:FileMaker 取消了上限,但留下了性能问题,而 4D 取消了上限并提供了引擎。

实践中如何决策

如果您今天正在选择一个平台 - 或者决定投资多少来学习 4D 的网络功能 - 历史比较表明了一系列值得提出的问题:

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

  • 受众是谁? 少数指定的内部用户是与开放 Web 应用程序截然不同的问题。 10-IP 规则的存在正是因为 FileMaker 采用了前者。
  • 您将维护多少工件? 如果发布到网络意味着维护第二组并行的模板,那么您的维护负担大约会增加一倍。更喜欢一种设计服务于多个渠道的平台。
  • 什么是后路? 如果性能成为问题,您可以添加中间件吗?或者许可是否禁止这样做?不允许您使用的解决方法不是解决方法。
  • 免费套餐实际上可以让您做什么? 4D 的 2 小时测试窗口是真正的开发帮助。在购买之前评估平台是否允许您构建和验证。
  • 供应商的路线图指向哪里? 将网络视为原生的产品将不断改进它。一款将其视为附加组件的产品将继续将其视为一个附加组件。

对于来自 FileMaker 的开发人员来说,实际的收获是 4D 的 Web 托管不是您在项目结束时附加的功能。从您拥有数据库和表单的那一刻起,它就可用,这意味着您可以尽早构建 Web 界面原型并以此优化您的数据模型,而不是后期发现您的结构没有清晰地映射到浏览器。

本页在学习路径中的位置

本页面位于本系列的“其他”部分,旁边还有数据图表、插件以及工具和实用程序等主题。这个位置有点误导:网络托管不是一个外围问题。对于许多小型团队建设者来说,将数据库发布到浏览器的能力是选择平台的全部原因。

周围的部分——系统要求、程序结构、网络差异、运行时差异、编译器和资源——都会影响同一个决策。网络差异尤其值得与本页一起阅读,因为产品处理网络客户端(桌面或浏览器)的方式与其处理 Web 客户端的方式密切相关。

如果您按顺序学习本系列,请将此页面视为 FileMaker 到 4D 过渡不再涉及语法并开始涉及架构的时刻。一个下午就能学会的语法。架构决定了您的应用程序是否可以增长。

常见问题

什么是 CDML?它为什么重要?

CDML 代表 Claris 动态标记语言,这是 FileMaker Pro 用于将数据库发布到网络的基于标签的系统。它允许开发人员将数据库操作嵌入普通 HTML 页面中,因此页面可以运行查询并呈现结果,而无需单独的服务器端编程语言。这很重要,因为它一度是将 FileMaker 数据库放到网络上的唯一方法。

为什么 10-IP 限制是一个问题?

该限制计算的是 12 小时滚动窗口内的“唯一 IP 地址”,而不是并发用户数。一旦十个不同的访问者访问了该窗口中的站点,其他人就会被阻止,直到窗口向前滚动。单个自动爬虫几乎可以立即耗尽配额,这使得标准版无法用于任何真正的公共站点。

4D 真的不需要 HTML 或 CDML 吗?

根据原始注释,是的 - 在网络上托管 4D 数据库不需要编写 HTML、CDML 或其他标记。 4D 根据您已经设计的数据库结构和表单生成 Web 界面。 4D 手册和本系列的后续部分中介绍了这些机制。

我可以在不购买许可证的情况下尝试 4D 网络托管吗?

是的。 4D 标准版和 4D Server 都允许您在网络上托管数据库每次最多两小时,而无需网络托管许可证。该窗口用于测试和开发,它允许您在提交无限托管的 4D Internet Extension 许可证之前验证 Web 前端。

Lasso 是 FileMaker 的合法解决方案吗?

Blue World Communications 的 Lasso 是一种广泛使用的中间件产品,它位于 FileMaker 数据库前面,可以比 CDML 更有效地生成 HTML。它在技术上是有效的,但 FileMaker 的标准版许可禁止在该配置中使用它,因此最需要它的人无法合法部署它。

如果我今天学习 4D,这段历史还重要吗?

这有助于理解 4D 的网络托管为何如此运作。该平台的设计将网络作为原生部署目标而不是附加组件,并且该设计选择仍然决定着表单、数据结构和许可如何组合在一起。了解与 FileMaker 的对比可以使 4D 模型更容易理解。

进一步阅读

Frequently asked questions

什么是 CDML?它为什么重要?

CDML 代表 Claris 动态标记语言,这是 FileMaker Pro 用于将数据库发布到网络的基于标签的系统。它允许开发人员将数据库操作嵌入普通 HTML 页面中,因此页面可以运行查询并呈现结果,而无需单独的服务器端编程语言。这很重要,因为它一度是将 FileMaker 数据库放到网络上的唯一方法。

为什么 10-IP 限制会成为一个问题?

该限制计算的是 12 小时滚动窗口内的唯一 IP 地址,而不是并发用户数。一旦十个不同的访问者访问了该窗口中的站点,其他人就会被阻止,直到窗口向前滚动。单个自动爬虫几乎可以立即耗尽配额,这使得标准版无法用于任何真正的公共站点。

4D 真的不需要 HTML 或 CDML 吗?

根据原始注释,是的 - 在网络上托管 4D 数据库不需要编写 HTML、CDML 或其他标记。 4D 根据您已经设计的数据库结构和表单生成 Web 界面。 4D 手册和本系列的后续部分中介绍了这些机制。

我可以在不购买许可证的情况下尝试 4D 网络托管吗?

是的。 4D 标准版和 4D Server 都允许您在网络上托管数据库一次长达两个小时,而无需网络托管许可证。该窗口用于测试和开发,它允许您在提交无限托管的 4D Internet Extension 许可证之前验证 Web 前端。

Lasso 是 FileMaker 的合法解决方案吗?

Blue World Communications 的 Lasso 是一种广泛使用的中间件产品,它位于 FileMaker 数据库前面,可以比 CDML 更有效地生成 HTML。它在技术上是有效的,但 FileMaker 的标准版许可禁止在该配置中使用它,因此最需要它的人无法合法部署它。

如果我今天学习 4D,这段历史仍然重要吗?

作为理解 4D 网络托管为何如此运作的一种方式,它很重要。该平台的设计将网络作为本机部署目标而不是附加组件,并且该设计选择仍然决定着表单、数据结构和许可如何组合在一起。了解与 FileMaker 的对比可以使 4D 模型更容易推理。进一步阅读 - [网络托管服务](https://en.wikipedia.org/wiki/Web_hosting_service) — 维基百科,了解托管模型本身的背景。 - [FileMaker](https://en.wikipedia.org/wiki/FileMaker) — 维基百科,了解该平台及其历史


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.