38

一位潜在客户要求我查看一些属于联系人管理/调度程序类别的应用程序的宣传传单。两者都使用 Filemaker 作为后端。看起来这两个应用程序是作为网络应用程序出售的。无论如何,我已经有大约 10 年没有听说过 Filemaker 了,所以看到它在同一次会议上出现两次令人惊讶。我认为它最初是一个 Mac 平台数据库系统。

我更偏爱 SQL Server、MY SQL 等,但在对 Filemaker 发表任何评论之前,我想了解一些系统的优缺点。它肯定不仅仅是 Mac 的 Access,但我从来没有在客户端/服务器或 Web 应用程序领域作为播放器运行过它。

非常感谢迈克·托马斯

4

16 回答 16

36

调用 Filemaker Pro,Mac 的 Access 有点像说,Mac OS X 是 Mac 的 Windows。它们都属于同一类软件,它们是集成的编程环境。就像您将 MySQL、PHP、HTML 和您的编辑器放在一个 GUI 中一样。两者对比,各有优劣。以下是根据我的经验使用 Filemaker Pro 与 PHP/MySQL/HTML 的优缺点。

优点:

  • 易于上手
  • 易于在本地部署,打开共享并从另一个客户端连接
  • 跨平台(Mac OS X、Windows、iOS)
  • 有许多插件可用于扩展功能
  • 包括入门解决方案
  • 任何有权访问的人都可以编辑该程序
  • 在大多数情况下,拖放编程
  • 事后更改字段/数据库/脚本名称是免费的
  • 有一些巧妙的内置技巧,如内置图表、选项卡控件、网络查看器
  • 内置支持导入导出 excel、cvs、制表符格式

缺点:

  • 不灵活:它做得很好,但如果你需要更多,大部分情况下你的运气不好
  • 与免费替代方案相比价格昂贵:本地用户每年花费约 100 美元,每位开发人员 150 美元,如果您将其用作网站,则需要专门的托管,这往往会花费更多。另外软件的服务器部分每年大约300-800美元
  • 扩展功能所需的插件也可能很昂贵
  • 几乎只有拖放编程,您只能使用预定义的脚本步骤,通过制作图表来建立关系
  • 源代码控制是个问题
  • 缺乏可扩展性
  • 无法从解决方案复制和粘贴/导入或导出某些项目
  • 需要鼠标才能访问功能
  • 布局设计相当静态且过时(Filemaker 12 及更高版本正在改进)

一般来说,我会说,如果您专门为 Web 或大型组织开发,Filemaker Pro 可能不是最合适的。很难让多个人在同一个解决方案上进行开发。另一方面,对于需要可定制内部数据库的小型组织来说,这可能是一个巨大的福音。如果您愿意处理它的缺陷,您可以使用它非常快速地构建相当复杂的应用程序。

于 2012-07-18T02:52:59.817 回答
34

优点:

  • 很便宜

缺点:

  • 它很便宜(制作)
  • 它是非标准的(很容易找到 MySQL/Oracle/MSSQL/Access 专家,但没有人知道 Filemaker)

使用低于标准和/或非标准的技术只会产生技术债务。我从来没有找到真正喜欢(或想要)使用这个利基产品的受人尊敬的开发者。

在我看来,这个产品之所以存在,是因为它是 Mac 的 Access,它获得了足够多的用户群和现有应用程序,以至于有足够多的人购买了每次升级以维持它的业务。市场上有许多产品仍然存在,因为它的用户被锁定了,而不是因为它是一个好的选择。

于 2009-01-07T20:47:33.650 回答
23

我承认在这个主题上存在偏见——我与那里的一家较大的 FileMaker 开发商店合作,并就这个主题写了一本奇怪的书。我们实际上雇佣了许多喜欢使用 FMP 的受人尊敬的开发人员。我会尽量保持简短。:-)

FileMaker Pro 是一款快速应用程序开发工具。它主要是客户端-服务器,尽管它具有一些非常受人尊敬的 Web 发布功能,适用于许多应用程序。它不是基于 SQL 的,但具有 ODBC 和 JDBC 接口,以及 XML/HTTP 接口。

就锁定而言,FileMaker Inc 的销售额稳步增长,平台的稳固性和易用性吸引了新用户的显着增长。

我认为 Matt Haughton 做到了——对于正确的应用程序,FMP 是最好的选择。也就是说,您的客户正在查看使用 FMP Pro 编写的应用程序,您需要根据这些应用程序自身的优点来评估这些应用程序。它们可能是 FMP 开发的良好实例,也可能不是。

要了解更多关于 FMP 适合该任务的信息,我们需要了解更多关于提议的应用程序和用户群的信息。这些确实是 Web 应用程序还是客户端服务器?有多少用户将使用它?他们是在一个或两个站点工作,还是分布在 Internet 上?

如果有更多的兴趣,很高兴进一步详细说明。

于 2009-02-11T02:57:16.630 回答
21

FileMaker 旨在非常简单地与其他数据库和客户端应用程序集成。如果您正在考虑构建复杂的分布式系统,请查看其他地方。

由于外部 SQL 数据源 (ESS) 功能集的设计目标, FileMaker适合用作另一个数据源的前端,也不适合用作 FM 客户端以外的任何东西的后端由于缓慢和错误的 ODBC 驱动程序。FileMaker 架构的性质意味着它不能很好地扩展复杂的解决方案,无论它与其他系统的集成程度如何。

以下是开发人员对我在将 FileMaker 与其他后端和 ODBC 客户端组合时发现的一些限制的看法:

  • ODBC 驱动程序是有限的、缓慢的,并且会在客户端泄漏内存。xdbc_listender.exe 在服务器端也有类似的内存泄漏问题,最终会在使用一定数量的 RAM 时崩溃。我们有一个预定的脚本来每天晚上重新启动它。
  • FileMaker 需要先将所有相关数据库加载到内存中,然后才能连接到数据库。如果它是一个复杂的数据库,打开和关闭一个连接可能会很慢(1-2 秒),具体取决于它的结构,如果数据库引用其他 FM 数据库中的表,则更是如此,因为它们也需要加载。我通过创建在应用程序的生命周期内保持打开状态的持久连接来解决这个问题。尽管我们尝试最小化打开连接的数量,但我们还没有看到服务器的性能受到影响。
  • ODBC 驱动程序以奇怪的方式解释查询。例如,我对 76k 行运行查询以 UPDATE table_1 SET field_1 = 1 执行查询需要 5 分钟,因为我认为它将一个查询拆分为 46k 更新查询,每行一个。我知道这一点,因为我看到它在 FM 客户端中逐一更新行。所以我根本不信任 ODBC 驱动程序。

这是 3 个不同查询的另一个示例,以及他们在两个日期字段上搜索的时间:

SELECT id FROM table
WHERE datefield1 = {d '2014-03-26'}

。5秒

SELECT id FROM table
WHERE datefield2 = {d '2014-03-26'} 

。5秒

SELECT id FROM table
WHERE datefield1 = {d '2014-03-26'} OR datefield2 = {d '2014-03-26'}

1分13秒!

  • FileMaker 如何缓存SQL Express 数据库中的数据时,我们遇到了问题。我们试图运行命令来清除缓存,但它并不总是有效(花了很多时间研究这个)。
  • FileMaker 使用悲观锁定记录;在编辑(从客户端或作为 odbc 事务的一部分)之前,FileMaker 会首先尝试锁定该行。
  • FileMaker Server 服务“倾向于”使用 Admin Console 停止(尽管 Admin Console 有时也可能无法停止它)。如果 FileMaker Server 服务以任何其他方式停止(包括断电、通过管理控制台,甚至是正常的系统关闭),那么您的某些数据库可能会损坏。如果客户端在操作过程中崩溃,或者网络连接突然丢失,也是如此。断电的解决方案是编写一个批处理脚本来尝试自动关机,然后购买一个 UPS 并对其进行编程以在果汁用完之前执行您的脚本。并希望它有效。否则,使用内置调度程序每小时备份一次。旁白:SQL server 没有这个问题,因为它可以回滚未提交的事务。
  • 使用内置调度程序执行备份实际上会在备份过程中暂停对数据库的操作。即,如果它是一个大型数据库,那么备份可能需要一分钟,用户会注意到暂停,因为他们将无法编辑/插入等。
  • 如果您使用的是FileMaker PHP API,请注意您不能在同一个请求中同时使用 AND 和 OR。
  • 使用 ODBC 驱动程序运行密集查询本身可能很快,但同时运行相同的查询(如在多用户环境中),它会以指数方式减慢大约 300%。如果您期望大量密集查询同时访问数据库,您将遇到速度问题。
  • 我们发现,当 FileMaker ODBC 驱动程序说它已经完成更新/插入操作时,它仍然不能保证事务被提交;似乎 FileMaker 将继续在服务器缓存中保存更改,直到自动输入计算字段被评估/索引,然后保存到磁盘,这意味着在实际提交记录之前可能会有更多延迟。所以实际上 ODBC 写入操作并不总是立即写入,而是最终写入。这种延迟在具有许多计算字段和触发器的复杂表中尤其明显。
  • 计算字段可能会减慢通过 ODBC 驱动程序执行和读取的速度,具体取决于正在评估的内容。尽可能尝试读取存储的值。
  • 使用 BLOB 容器:不推荐。将 PDF 等文档存储在容器字段中会增加数据库文件的大小,需要更长的备份时间,并使通过 ODBC 检索和编辑这些文件变得复杂。将文件存储在网络共享上并写入磁盘上的文件要容易得多。

如果您必须使用 FM 作为另一个数据库的前端解决方案,请务必仔细阅读FileMaker 的外部 SQL 源简介

另请参阅其网站上相应版本的 FileMaker ODBC 指南。

于 2012-12-03T05:36:10.860 回答
11

只是对这个主题的一些评论

FileMaker 在许可成本方面肯定比某些企业解决方案便宜。然而,真正的成本效益在于开发时间。开发生命周期通常比其他企业平台低几个数量级(无论这些平台的许可成本如何)。我的意思是几天而不是几周,或者几周而不是几个月来开发一些功能。

有一个强有力的论点是 FileMaker 是 Mac 的 Access。虽然几年前这是一个有效的论点,但 FileMaker 在最近几年已经形成了自己的观点。值得注意的是,FileMaker 是跨平台的,在 Windows 和 Mac 上广泛使用。话虽如此,FileMaker 和 Access 之间仍然存在巨大的相似之处和不同之处,但事实是它们都与您的情况无关。

虽然 FileMaker 是非标准的,但它确实支持与 MySQL、MS SQL Server 和 Oracle 的实时连接。

此外,还有许多 FileMaker 开发人员,没有更多标准平台,但他们肯定是关于,如果您让我知道您在哪里,我可以让您与您所在地区的一些开发人员联系。

我想说的重要一点是,在正确的上下文中,FileMaker 是世界上最好的东西——如果你试图做一些它不应该做的事情,你就会陷入困境。但是,它可以支持 4 个地点的办公室,它可以并且正在完成。

在您在其他平台上重写您的系统之前,您应该与 FileMaker 专家取得联系,看看他们对您目前拥有的内容有什么看法,在此网站上写下更多详细信息,让非专家给出正面或负面的回答不会帮你的。最后,它必须是成本与收益的商业选择。

于 2009-02-03T16:03:17.513 回答
7

无需再列出“缺点”——但这里有一个重要的“优点”——Filemaker Go。设置好数据库后,下载 ipad/iphone 应用程序(FM12 免费)并从移动设备运行它。数据库可以本地存储在 ipad/iphone 上或同步回主机 PC。

我确信这种移动解决方案在其他地方也是可行的——但基本点是入门级用户(我的意思是没有以前的数据库经验)可以在几周内创建一个令人印象深刻的解决方案。

个人经验:运行 FM 11 的主数据库托管在我桌下的 PC 上 - 4 名研究人员分散在城市中收集 ipad 上的数据 - 全部同步回我的 PC。以前的解决方案是使用纸张并手动输入数据。

于 2012-06-09T08:39:23.423 回答
5

FileMaker 是一个有趣的应用程序 :) 它最初是一个最终用户工具,但它仍然是非程序员可以实际使用的极少数数据库应用程序之一。但不知何故,FileMaker 开发人员设法使其具有很高的可扩展性。没有其他平台可以让人们从一个有用的工具开始,最终得到一个适用于整个公司的客户端-服务器应用程序。在过去,他们曾经有一个闪屏来捕捉这个想法(我只发现了一个不完美的版本):

一本关于 FileMaker 的旧书的封面

即像文件柜一样简单的东西,可以变得很大。

FileMaker 的所有优点和缺点都源于其本源。作为最终用户工具,它与其他 DBMS 应用程序非常不同。没有 SQL。没有真正的编程:脚本基本上是使用变量和一些逻辑以稍微更通用的方式重复用户操作的宏。很多限制;例如列表视图不能有侧边栏;动态值列表始终按字母顺序排序;打开“另存为”对话框并读回您需要插件的文件名;等等。对于程序员来说,这可能非常令人沮丧,因为他的大多数假设都是错误的。由非程序员编写的现有应用程序并不完全是清晰和可靠设计的典范。

但是如果你设法克服了这些障碍,你会发现一个相当不错的 RAD 用于客户端-服务器、单用户、Web 和移动应用程序,它在 WAN 上保持相当可用,具有运行时和信息亭模式等细节。

话虽如此,我不太确定 FileMaker 中的通用联系人管理和计划应用程序。如果它们是这样的,那么它们应该被解锁,以便客户可以进行更改;或者它们必须是小众应用程序,为客户做其他没有做的事情。

于 2011-09-09T19:03:19.233 回答
4

Filemaker 功能强大且用途广泛。出色的多用户支持。您可以在 Filemaker 中创建出色的解决方案,包括文档管理、Web 界面、iPhone 界面、自动发布支持、预定脚本、PDF/Excel/HTML 报告、XML 支持、来电显示记录查找、网络数据集成(UPS 和 Fedex 链接到订单例如记录)。可通过插件扩展。这就像在数据的家得宝中一样。不要试图建立亚马逊;除此之外,您不能用它构建什么,以及比其他任何地方都更快的应用程序开发?

于 2010-01-07T05:28:14.913 回答
4

自从我运行 FM 并将其用于为各种客户开发解决方案以来,已经一年多了。以下是我的FM经验:

  1. 学习曲线远低于使用硬编码的行业标准技术;
  2. 由于它的 ODBC 和 JDBC 连接性,它可以很好地适应行业标准平台。您的数据未锁定在FM中,其他数据格式可以在FM中获取;
  3. 它非常适合前端和后端解决方案。
  4. FM 可以匹配具有正确数据库设计和部署的企业平台,即面向工作组或部门的解决方案。这是其工作组所有者的数据,并可供其他工作组或部门使用;
  5. FM 非常适合采用原型设计的快速应用程序开发;
  6. FM 拥有更多的功能...

我建议你自己尝试一下,我相信你会喜欢 FM 提供的东西!

快乐的计算...

于 2011-09-09T16:52:22.247 回答
2

虽然与“Access for Mac”的比较是不可避免的,但必须做出一些重要的区分。

如果发生 2 件事中的 1 件,则可以将 FileMaker 数据库共享给多人。一,您网络上的一个人打开数据库并从他们的计算机共享它,充当主机。第二,您购买并安装托管 DB 的 FileMaker 服务器。

此外,我的经验是,虽然 FileMaker 开发人员喜欢 FM,但他们不得不学习其他技术,因为越来越多的政府机构(我过去 10 年的主要雇主)正在从 FM 转移到 SQL Server、Oracle 以及在某种程度上访问和开源。公共部门对 FileMaker 技能的需求越来越少,因此获得对这些应用程序的支持变得更加困难,因此也更加昂贵。

话虽如此,我们有一个 FM 服务器和 FM 5.5 客户端运行一个过去 5 年一直坚如磐石的应用程序。

于 2009-02-11T03:08:16.493 回答
2

一些研究让我认为 FileMaker 确实是 Mac 的 Access,但可能更强大一些。我与 Access 合作了多年,从来没有真正喜欢过它,并且很高兴远离它(我一直对 MSFT 杀死 FoxPro 怀恨在心,我确实很喜欢)。

我很难想象它是一个很好的解决方案,适用于全国四个地点的办公室使用的基于 Web 的应用程序,以及许多其他人在家登录等。

当 MySQL、SQL Server 等可用于数据存储并且 ASP.NET、PHP、Ruby 等可用于编程时,使用它没有多大意义。

迈克·托马斯

于 2009-01-07T21:45:51.130 回答
1

i've been using FM for more than a year now. i'm doing and providing solutions for SMBs using the SQL standard for several years. i love those SQL stuff, but just a year a ago i run through FM Pro 9 and have it a try. amazingly, i got all i wanted in just a short time. in my experience as developer, FM Pro impressed me the way it does things.

true enough, FM is not an industry database standard but a good number of its features can compensate to what "standard" is being required of. FM pro has live connectivity to MySQL, MS SQL Server and Oracle. for me, it doesn't make sense to speak about standard if you can move your data around from FM to other platforms and vice-versa.

well, this note can't make that much convincing. it's good to try it for yourself... especially now that FM has its new version 10. believe me... you'll love it...

happy computing.

于 2009-10-08T08:38:47.177 回答
1

很多关于 FileMaker 不标准的评论。但什么是“标准”?许多人所说的“标准”是指数据库支持结构化查询语言 (SQL)(ISO 标准 9075),而 FileMaker 已经并将继续支持 SQL。每个数据库引擎如何支持 SQL 是每个数据库专有的。现在它可能是开源的,例如 MySQL,但 SQL 是一个需要支持的标准,而不是实现它的底层语言。

当大多数人谈论数据库时,他们只是在谈论后端表和架构。前端用户界面通常是别的东西。他们中的大多数现在通过 PHP 等开放标准将这些结果呈现为 html 页面。同样,FileMaker 完全支持 PHP 调用和 Apache 或 IIS(取决于您使用的操作系统平台)。

所以我不同意人们说 FileMaker 是非标准的。

FileMaker 的独特之处在于其架构和用户界面之间的紧密集成。这类似于苹果在硬件和操作系统之间的紧密集成,它有一些不错的好处。有趣的是,FileMaker 归苹果所有,但我想这是另一个话题。

通常,FileMaker 的用户界面比大多数开放标准更容易使用,并且大多数人坚持使用 FileMaker 的客户端用户界面而不是 Web 界面。仍有许多仅在 FileMaker 用户界面中支持的内容无法在 Web 浏览器中复制。

FileMaker 将架构和用户界面紧密集成在一起,真正让快速应用程序开发变得更加容易。在大多数情况下,这使得开发成本大大降低。

FileMaker 的数据库服务最多可以分布在 3 台机器上,从而赋予它与 Web 服务的原始负载平衡能力。虽然 FileMaker 轻松支持数百个用户,但如果您同时处理数千个用户,许多仅 SQL 的数据库(例如 Oracle、MS SQL Server、MySQL、Postgres)旨在更好地将负载分散到更多机器上。基本上,如果您有高并发事务,FileMaker 不是您的解决方案。例如,一家拥有来自全县各地的多个销售点终端的公司同时访问它。

虽然 FileMaker 支持 SQL 和 PHP,但仅以这种方式使用它是在浪费用于 FileMaker 用户界面许可的资金。开发 Web 前端并仅为后端支付全部 FileMaker 许可费用并不是一种经济高效的解决方案。因此,FileMaker 对 PHP 和 SQL 的支持最好与那些为员工提供内部解决方案但又希望将其与外部客户的 Web 开发团队集成的公司结合使用。

最后一点是,FileMaker 将架构和用户界面紧密集成在一起,使安全性变得更加容易。显然,您必须设置组和用户,我通常将 FileMaker 与 Active Directory(或 Open Directory)集成。但是,当您使用 FileMaker 客户端和服务器连接时,打开加密安全是服务器上的一个复选框。FileMaker 处理所有证书并使用 AES 256 位密码(至少从版本 11 开始,可能在此之前也是如此)。目前,美国政府认为批准最高并包括第一级绝密通信。在典型的 SQL 系统中,在数据库端以及用户界面端配置安全性有很多工作,这比单个复选框要多得多。

FileMaker 的目标受众是中小型公司,通常拥有 5 到 200 名用户,对于这种规模的公司来说,它是一款价格合理的产品,可用于数据库的快速应用程序开发。

如果不评论在 iPad 和 iPhone 等 iOS 设备上创建和部署移动解决方案是多么容易,我就无法结束这篇评论。FileMaker Go 是一款可在这些移动设备上使用的免费应用程序,它们完全支持相同的用户界面和安全性。事实上,我知道一家公司使用 FileMaker 作为其 Oracle 数据库的前端接口,只是为了在 iPhone 上进行访问。对未来移动市场的期待会更多,而 FileMaker 显然针对的是移动用户。

于 2013-02-01T22:05:18.957 回答
1

有两点似乎主导了这个讨论并且需要考虑:

非标准和政府机构正在做什么。

让我们考虑创建数据库以满足他们的需求的小企业主或单个用户。

现在不管政府在做什么,这是你的员工数据库。做你想做的(当然只要合法)。

非标准,通常这是最好的主意,因为你想做的事情对你有用。随心所欲地命名您的字段和表,然后根据您的喜好重命名。不要尝试使用 dbf 或 sql... 任何人都记得那些“标准”文件名 bks1999.dbf bks2000.dbf 请记住,“标准”的存在是因为其他人在您到达之前编写了它们,而不是因为它们是最好的主意。

是的,有很多“糟糕”的 Filemaker 解决方案,但它们正在工作并支持数十万人。但是尝试改进这些糟糕的解决方案之一,并比较改进类似糟糕的 dbf 解决方案的努力。重命名的字段可以轻松过滤相关 Filemaker 文件中的数千个脚本和脚本。在 dbf 解决方案中,它可能成为一场噩梦,因为每个实例都必须手动重新键入。

一项真正的测试是比较 Filemaker 与其他应用程序相比使用 SQL 等的难易程度。那可能很有趣。我从来没有这样做过,但我敢打赌,我可以在很短的时间内创建一个可以处理此类数据的工作文件。

我一直说每个开发人员都应该使用并熟悉所有的工具。

Filemaker Pro 25 年,FoxPro 3 年,4D 2 年,等等。

于 2013-02-01T14:27:23.607 回答
0

只是将我的 2 美分添加到已经给出的答案中:每个人在投票答案中写的关于 Filemaker 的所有内容都是真实的。该产品足够强大,可以保证正面和负面的意见。

于 2010-01-06T20:46:22.373 回答
0

我不是专业人士,无法解决您的顾虑,但您可能想查看许多用 FMP 编写的大型复杂应用程序。Jungle Software 是一个很好的起点。作为其中一些应用程序的用户,FMP 的缺点是它们带有一堆文件。FMP 应用程序的运行时没有打包为一个包,因此对于大型应用程序来说它看起来有点复杂。我们很久以前就做过一些测试,因为 FMP 以速度慢着称。当时(12 年前)FMP 需要为数据库建立索引,或者速度很慢,但一旦建立索引,它就和我们测试的其他任何东西一样快。对于半专业人士来说,最大的好处是很容易做基本的事情并最终得到工作工具。我对 Access 的体验非常消极,所以我根本不会将它与 FMP 进行比较。

最后,写什么并不重要,如果软件可以满足您的需求并且稳定,请购买它。如果没有。将数据输入和输出 FMP 非常容易,因此 db 格式的专有性并没有真正进入它。

于 2010-08-03T20:18:09.760 回答