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

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

第四维度学习基础知识

本页面是4th Dimension Learning Basics 系列的一部分,该系列引导开发人员从基本原理开始了解 4D 平台。这里的主题是菜单,特别是 FileMaker Pro (FMP) 和 4D 中的菜单系统有何不同,以及当您将心智模型从一种工具迁移到另一种工具时,这种差异为何很重要。菜单是新 4D 开发人员首先注意到的事情之一,因为 4D 将 FileMaker 视为单个表面的内容分成几个不同的环境。

要点

  • FileMaker Pro 的浏览模式呈现一个菜单栏以及一组菜单和菜单项; 4D 将用户环境与自定义菜单环境分开,并且两者的行为不同。
  • 4D 用户环境是开发人员测试空间,而不是最终用户通常居住的地方。不要围绕它来设计您的生产环境菜单体验。
  • Foundation 是一个预装了方法和表单的 4D 结构文件,您可以复制和粘贴 — 一旦您了解了基础知识,这是一个快速通道,而不是替代它们。
  • 4D 菜单设计是经过深思熟虑的结构性决定。您决定用户看到什么;您不会像在 FileMaker 中那样继承固定的应用程序菜单栏。
  • 首先了解环境模型可以防止初学者最常见的错误:在错误的环境中构建和测试菜单,然后想知道为什么用户会看到不同的东西。

为什么菜单是第一个真正的分歧

当您从 FileMaker Pro 迁移到 4D 时,数据库概念可以很好地转移。表、字段、记录、布局和表单都有可识别的对应项。菜单是两个平台分开的地方,迫使您对整个应用程序进行不同的思考。

在 FileMaker 中,菜单栏本质上是应用程序的菜单栏。您可以获得文件、编辑、查看、插入、格式、记录、脚本、窗口和帮助,而您的工作主要是“抑制”或“增强”已有的内容。你是在一个固定的框架下工作。

在 4D 中,菜单栏是您构建的。平台为您提供了环境,每个环境都可以呈现自己的菜单栏。这意味着菜单不是给定的——它是您设计的产物。这需要更多的前期工作和更多的后期控制,这正是将 4D 定义为开发平台而不是模板驱动工具的权衡。

FMP 浏览模式菜单

在 FMP 浏览模式下,只有一个菜单栏以及一组菜单和菜单项。这个单一的栏提供了整个浏览体验。原始材料中的图 2 显示了 FMP 菜单栏,其中可见“文件”和“编辑”菜单。

实际结果就是简单。学习该平台的 FileMaker 开发人员不必问“我正在看哪个菜单栏?”有一个。通过删除您不希望用户访问的项目并在您保留的项目后面添加脚本触发器来进行自定义。

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

这确实很方便,值得承认而不是忽视。对于小型单一用途解决方案,FileMaker 模型可让您更快地获得可用的界面。代价是您总是要使用专为通用应用程序而不是为您的特定业务应用程序设计的菜单栏。

4D 用户环境菜单

在 4D 中,有一个标准的用户环境菜单栏。需要内化的关键是:**用户环境通常不是用户所在的地方。**用户环境是开发人员测试已开发内容的地方。通常,最终用户永远不会看到用户环境。

原始材料中的图 3 显示了 4D 用户菜单栏及其菜单。

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

将用户环境视为车间,而不是陈列室。它为您提供了可预测的标准菜单集,以便您可以在开发过程中导航结构、运行方法、检查数据并验证行为。因为它是标准化的,所以它是稳定的——您可以信赖它在您工作时不会发生变化。

初学者陷阱是微妙而常见的:您构建一个表单,在用户环境中测试它,一切正常,然后您将其发布。然后,用户在部署的自定义环境中打开应用程序,菜单不同,缺少某些项目,并且依赖于您在测试期间使用的菜单项的工作流程根本不存在。该修复不是技术性的——而是在用户实际使用的环境中进行测试。

如何决定在哪里进行测试

  • 在结构开发期间 - 在用户环境中工作。它快速且可预测。
  • 在任何版本之前 — 在已部署的自定义菜单环境(而不是用户环境)中遍历每个面向用户的工作流程。
  • 当菜单项“消失”时 — 在调试菜单定义本身之前首先检查您所处的环境。

4D Foundation 默认自定义菜单环境

Foundation 是一个外壳。它是一个 4D 结构文件,其中包含为您定义的多种方法和表单。您只需复制并粘贴这些方法和表格即可。一旦您掌握了 4D 基础知识,Foundation 就会为您提供开发程序的快速通道。

原始材料中的图 4 显示了 Foundation 默认的自定义菜单栏及其菜单。

最好将 Foundation 理解为参考实现和零件箱,而不是您批量采用的框架。价值在于具体的工作示例:您可以看到自定义菜单栏是如何实际组装的,菜单项如何连接到方法,以及各个部分如何在真实的结构文件中组合在一起。复制工作菜单并对其进行修改比阅读它更快地教会您模型。

有两个警告值得明确说明:

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

  • 复制粘贴带来了负担。 从 Foundation 中提取的方法和表单可能会引用您的结构中不存在的其他对象、表或命名约定。期望跟踪依赖关系而不是假设一个干净的插入。
  • Foundation 反映了它所处的时代。 它是为了演示 4D 概念而构建的,其约定可能与现代 4D 实践不符。将其视为教学辅助工具和模式来源,而不是风格指南。

比较三个菜单上下文

将这三种环境同时记在脑海中的最清晰方法是并列。

背景谁使用它菜单栏行为主要目的
FMP 浏览模式最终用户一个固定的菜单栏和项目集运行交付的解决方案
4D用户环境开发人员标准、可预测的菜单栏开发过程中的测试和检查
4D 自定义菜单环境最终用户您定义的菜单栏交付生产环境体验
4D Foundation开发人员(学习)预建默认自定义菜单学习模式;复制方法和表格

对于新的 4D 开发人员来说最重要的一行是第三行。 FMP 列中的所有内容都会折叠成一个表面;在 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..

从用户的任务列表开始,而不是从标准菜单名称开始。 FileMaker 训练您从文件、编辑、记录的角度进行思考。在 4D 中,您可以自由地围绕用户实际执行的操作(“订单”、“客户”、“报告”)进行组织,这通常是比通用菜单更好的菜单。

决定哪些内容属于菜单和表单。 菜单项是全局的并且始终可访问;表单上的按钮是上下文相关的。像“删除所有记录”这样的破坏性操作在可以对其进行门控的表单上更安全,而不是在从任何地方随意单击即可到达的菜单中更安全。

在心理上将开发人员界面和用户界面分开。 用户环境的标准菜单栏是一个工具。不要让它的便利性渗透到您有关生产菜单的设计决策中。

使用 Foundation 来学习接线,然后构建您自己的。 最快的路径是复制一个 Foundation 菜单,了解其中的每个连接,然后为您的应用程序从头开始重建它。重建是学习的重点。

每次发布之前在目标环境中进行测试。 这个习惯可以防止最常见的“在我这里没问题”菜单错误。

这在学习路径中适合什么位置

本页位于本系列的早期部分,比较 FMP 和 4D 之间的标准菜单部分。接下来自然是详细的菜单比较——文件菜单比较、文件菜单建议、其他菜单比较、记录菜单建议和自定义启动屏幕。其中每一个都占用菜单表面的一部分并处理具体细节。

环境模型首先出现的原因是以后的每个菜单决策都取决于它。如果您不知道您正在为哪种环境进行设计,那么下面的特定菜单项建议就没有任何依据。弄清环境,菜单材料的其余部分读起来是一组具体的选择,而不是事实列表。

有关平台本身的更广泛背景信息,有关 4th Dimension 的维基百科文章提供了有关其历史和定位的有用背景,而 FileMaker 文章涵盖了进行此比较的平台。对于适用于这两种工具的一般原则,Nielsen Norman Group 发布了广受尊重的菜单设计和导航研究,W3C 维护了可访问性指南,当您决定用户如何访问核心功能时,值得参考。

常见问题

为什么 4D 有一个单独的用户环境,如果用户看不到它?

用户环境的存在是为了让开发人员有一个稳定、标准化的地方来测试和检查他们的工作。因为它的菜单栏是固定的,所以在您开发时它不会在您开发过程中发生变动。最终用户通常在您控制菜单栏的自定义环境中工作。将两者分开意味着您的测试表面和交付表面都可以针对不同的目的进行优化。

4D 用户环境菜单栏可以自定义吗?

它是平台提供的标准菜单栏,其目的是保持标准,因此它仍然是可靠的开发界面。您的自定义工作属于用户实际看到的自定义菜单环境。将用户环境菜单栏视为您使用的工具,而不是您设计的可交付成果。

Foundation 到底是什么?我应该在其上构建我的应用程序吗?

Foundation 是一个 4D 结构文件(一个外壳),包含大量预构建的方法和表单,您可以将它们复制并粘贴到自己的作品中。一旦掌握了 4D 基础知识,这就是一条快速通道。它最好用作工作示例和模式的来源,而不是用作批量采用的基础,因为复制的对象可能带有不适合您的结构的依赖项和约定。

为什么我的菜单项在测试期间有效,但对用户无效?

几乎总是因为您在用户环境中进行测试并且用户在自定义菜单环境中运行。两者具有不同的菜单栏,因此开发期间可用的项目可能不存在于部署的菜单中。在调试菜单定义之前,请确认您所处的环境。

我是否需要在 4D 中重建 FileMaker 菜单结构?

不,你通常不应该这样做。 FileMaker 的文件/编辑/记录组织之所以存在,是因为 FileMaker 提供了通用应用程序菜单栏。在 4D 中,您正在构建菜单,因此您可以围绕用户的实际任务来组织菜单,而不是镜像通用结构。使用 FileMaker 布局作为您需要的功能的参考点,而不是作为如何排列它们的模板。

在构建表单之前应该进行多少菜单设计?

要确保清楚哪些是全局性的,哪些是上下文相关的。尽早决定哪些操作属于菜单(可以从任何地方访问)以及哪些操作属于可以通过上下文控制的表单。尽早进行正确的分割可以节省以后的返工,因为在菜单和表单之间移动操作会触及菜单定义和引用它的每个表单。

Frequently asked questions

如果用户看不到 4D,为什么它有一个单独的用户环境?

用户环境的存在是为了让开发人员有一个稳定、标准化的地方来测试和检查他们的工作。因为它的菜单栏是固定的,所以在您开发时它不会在您下方移动。最终用户通常在您控制菜单栏的自定义环境中工作。将两者分开意味着您的测试表面和交付表面都可以针对不同的目的进行优化。

4D 用户环境菜单栏可以自定义吗?

它是平台提供的标准菜单栏,其目的是保持标准,因此它仍然是可靠的开发界面。您的自定义工作属于用户实际看到的自定义菜单环境。将用户环境菜单栏视为您使用的工具,而不是您设计的可交付成果。

Foundation 到底是什么?我应该在其上构建我的应用程序吗?

Foundation 是一个 4D 结构文件(一个外壳),包含大量预构建的方法和表单,您可以将它们复制并粘贴到自己的作品中。一旦掌握了 4D 基础知识,这就是一条快速通道。它最好用作工作示例和模式的来源,而不是用作批量采用的基础,因为复制的对象可能带有不适合您的结构的依赖项和约定。

为什么我的菜单项在测试期间有效,但对用户无效?

几乎总是因为您在用户环境中进行测试并且用户在自定义菜单环境中运行。两者具有不同的菜单栏,因此开发期间可用的项目可能不存在于部署的菜单中。在调试菜单定义之前,请确认您所处的环境。

我是否需要以 4D 形式重建 FileMaker 菜单结构?

不,你通常不应该这样做。 FileMaker 的文件/编辑/记录组织之所以存在,是因为 FileMaker 提供了通用应用程序菜单栏。在 4D 中,您正在构建菜单,因此您可以围绕用户的实际任务来组织菜单,而不是镜像通用结构。使用 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.