Filemaker的优点和缺点是什么?

时间:2009-01-07 20:35:50

标签: database filemaker

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

我更偏爱SQL Server,MY SQL等,但在对Filemaker发表任何评论之前,我想了解一些系统的优缺点。它必须不仅仅是Access for Mac,但我从未在客户端/服务器或Web应用程序领域中遇到过它。

非常感谢 迈克托马斯

16 个答案:

答案 0 :(得分:35)

调用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及以上版本进行了改进)

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

答案 1 :(得分:34)

优点:

  • 很便宜

缺点:

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

使用subpar和/或非标准技术只会创建technology debt。我从来没有找到一个真正喜欢(或想要)使用这个小众产品的可敬的开发者。

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

答案 2 :(得分:23)

我会承认对这个主题有偏见 - 我和其中一个较大的FileMaker开发商店合作,并写了关于这个主题的奇怪书。我们实际上聘请了许多喜欢使用FMP的可敬的开发人员。我会尽量保持简短。 : - )

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

就锁定而言,FileMaker公司的销售额稳步增长,新用户的增长非常显着,他们对平台的坚固性和易用性感兴趣。

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

要了解有关FMP适合该任务的更多信息,我们需要了解有关建议的应用程序和用户群的更多信息。这些确实是网络应用程序,还是客户端服务器?有多少用户会使用它?他们是在一个或两个网站上工作,还是在互联网上传播?

如果有更多的兴趣,很高兴进一步阐述。

答案 3 :(得分:21)

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

由于外部SQL数据源(ESS)功能集的设计目标,FileMaker NOT 很适合用作另一个数据源的前端,并且 NOT 很好用作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秒!

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

如果您必须使用FM作为其他数据库的前端解决方案,请务必仔细阅读FileMaker's Introduction to External SQL Sources

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

答案 4 :(得分:11)

关于这个主题的几点评论

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

有一个强有力的论据,即FileMaker是Mac的Access。虽然几年前这是一个有效的论点,但近年来FileMaker已经出现了。值得注意的是,FileMaker是跨平台的,并且在Windows和Mac上广泛使用。话虽如此,FileMaker和Access之间仍然存在巨大的相同点和不同点,但事实是它们都不会影响您的情况。

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

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

我想说的重点是,在正确的语境中,FileMaker是世界上最好的东西 - 如果你尝试做一些不打算做的事情,你就会陷入困境。但是,它可以支持4个地点的办事处,它可以并且正在完成。

在你去其他平台重写你的系统之前,你应该联系一位FileMaker专家,看看他们对你目前所拥有的内容有什么看法,在这个网站上写下更多细节,让非专家回答积极或消极地帮助你。最后,它必须是成本与收益的商业选择。

答案 5 :(得分:7)

无需再列出&#34;缺点&#34; - 但这是一个重要的&#34; Pro&#34; - Filemaker Go。完成数据库设置后,下载ipad / iphone应用程序(FM12免费)并从移动设备运行。数据库可以本地存储在ipad / iphone上,也可以同步回主机PC。

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

个人经验:在我的办公桌下的PC上运行FM 11的主数据库 - 分散在整个城市的4名研究人员收集有关ipad的数据 - 所有这些都同步回我的电脑。以前的解决方案是使用纸张并手动输入数据。

答案 6 :(得分:5)

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

A cover of some old book about FileMaker

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

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

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

话虽如此,我不太确定FileMaker中的通用联系人管理和日程安排应用程序。如果这是他们的,那么他们应该被解锁,所以客户可以做出改变;或者他们必须是为客户做的小众应用程序。

答案 7 :(得分:4)

Filemaker非常强大且功能多样。出色的多用户支持。您可以在Filemaker中创建出色的解决方案,包括文档管理,Web界面,iphone界面,自动发布支持,预定脚本,PDF / Excel / HTML报告,XML支持,来电显示记录查询,网络数据集成(UPS&amp; Fedex链接到例如订单记录)。插件可扩展。这就像是在Home Depot的数据中。不要试图建立亚马逊;除此之外你不能用它构建什么,以及比其他任何地方更快的app dev?

答案 8 :(得分:4)

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

  1. 学习曲线远低于使用硬编码行业标准技术;
  2. 由于它的ODBC和JDBC连接,它可以很好地适应行业标准平台。您的数据未锁定在FM中,其他数据格式可以进入FM;
  3. 它非常适合作为前端和后端解决方案。
  4. FM可以匹配具有正确数据库设计和部署的企业平台,即工作组或部门导向的解决方案。这是其工作组所有者的数据,并使其可供其他工作组或部门使用;
  5. FM非常适合采用原型制作的快速应用程序开发;
  6. FM还有更多功能......
  7. 我建议你亲自尝试一下,我相信你会喜欢FM可以提供的东西!

    快乐的计算......

答案 9 :(得分:2)

一项小小的研究让我觉得FileMaker确实是Access for Mac,但也许更强大。我多年来一直与Access合作过,从来没有真正喜欢它,很高兴能远离它(我总是对MSFT杀死FoxPro抱怨,我喜欢这样做。)

我很难想象它是一个很好的解决方案,适用于全国四个地方办事处使用的网络应用程序,以及许多其他从家里登录的应用程序等。

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

迈克·托马斯

答案 10 :(得分:2)

虽然与“Access for Mac”的比较是不可避免的,但仍有一些重要的区别。

FileMaker数据库可以分享给多个人,前提是发生了两件事。一,网络上的某个人打开数据库并从他们的计算机上共享它,充当主机。第二,购买并安装托管数据库的FileMaker服务器。

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

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

答案 11 :(得分:2)

很多关于FileMaker的评论是非标准的。但什么是“标准”?通过“标准”,许多人意味着数据库支持结构化查询语言(SQL)(ISO标准9075),并且FileMaker已经并将继续支持SQL。每个数据库引擎如何支持SQL是每个数据库专有的。现在它可能是开源的,比如MySQL,但SQL是支持的标准,而不是它如何实现的基础语言。

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

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

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

通常,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显然是针对移动用户。

答案 12 :(得分:1)

我已经使用FM超过一年了。我正在为使用SQL标准的SMB提供解决方案多年。我喜欢那些SQL的东西,但仅仅一年前我通过FM Pro 9试一试。令人惊讶的是,我在短时间内得到了我想要的一切。根据我作为开发人员的经验,FM Pro让我印象深刻。

确实如此,FM不是行业数据库标准,但其大量功能可以弥补所需的“标准”。 FM pro具有与MySQL,MS SQL Server和Oracle的实时连接。对我来说,如果您可以将数据从FM移动到其他平台,反之亦然,那么谈论标准是没有意义的。

嗯,这个说明不能令人信服。为自己尝试它是好的...特别是现在FM有它的新版本10.相信我......你会喜欢它......

快乐的计算。

答案 13 :(得分:1)

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

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

让我们考虑创建数据库以满足其需求的小型企业所有者或单个用户。

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

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

是的,有很多'糟糕'的Filemaker解决方案,但他们正在努力并支持数十万人。但是尝试改进其中一个不好的解决方案,并将这些努力与改进同样糟糕的dbf解决方案进行比较。重命名的字段可以毫不费力地过滤相关Filemaker文件中的数千个脚本和脚本。在dbf解决方案中,它可能变成一场噩梦,因为每个实例都必须手动重新输入。

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

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

使用Filemaker Pro 25年,使用FoxPro 3年,使用4D等2年

答案 14 :(得分:0)

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

答案 15 :(得分:0)

我不是一个专业人士可以说出你的担忧,但有很多大型的复杂应用程序用FMP编写,你可能想看一下。丛林软件是一个很好的起点。 作为一些应用程序的用户,我对FMP的不利之处在于它们带有一堆文件。 FMP应用程序的运行时未打包为捆绑包,因此对于大型应用程序来说它看起来有点复杂。我们做了很长时间的测试,因为FMP的声誉很慢。那个时候(12年前)FMP需要对数据库进行索引,或者它很慢但是一旦被索引,它就像我们测试的其他任何东西一样快。对于半职业选手来说,这是一个很大的好处,就是很容易做基本的东西并最终得到工作工具。我对Access的体验非常消极,所以我不会将它与FMP进行比较。

最终它并没有真正影响它的内容,如果软件做你想要的并且稳定购买它。如果不这样做。很容易将数据输入和输出FMP,因此db格式的专有性并没有真正进入它。