我怀着极大的兴趣阅读了这一页。我们的开发团队已经使用 Apex 大约 2 年了,我想总结一下我们的经验。
对于构建基本的 CRUD 应用程序,Apex 确实非常出色。事实上,我建议您自己尝试一下。我们确实在设置它时遇到了一些最初的小困难,但这些似乎已经在 3.2 版本中解决了。
好的
- 非常适合简单的应用程序。如果您的应用程序会变得越来越复杂,请考虑另一种解决方案。
- 内置模板意味着您的应用程序看起来非常专业(尽管有些人会对此争论不休)。
- 一个很好的支持论坛和社区,有很多热心的人随时为您提供帮助。
- 一些精湛的内置控件。喜欢图表和报告(但见下文)。
坏的
调试器很糟糕。如果您使用过 Visual Studio(甚至是旧版本的 Microsoft Access),您会对调试器感到畏缩。没有断点,调试消息在大列表中喷出到屏幕上,不得不手动将调试消息打印到屏幕上。可怕。许多、许多小时失去支持的事业。
一旦您的应用程序变得复杂或需要任何丰富的功能,您就必须求助于 Javascript 和 HTML / CSS hack,这会使调试和支持变得更加复杂(尽管您可以使用 Firebug 或 Visual Studio 等工具来协助解决此问题)。
我们遇到了无法解释的会话状态错误,样式表在没有解释的情况下从应用程序中“分离”——仅举几个问题。
支持不熟悉的应用程序可能具有挑战性,因为如果没有好的调试器,可能很难遵循页面逻辑流程。而且我不买“好吧 - 应用程序应该编码得更好”的股票反应。因为在现实世界中,它们不是——尤其是当您使用承包商时。
报告看起来不错,但如果您无法打印或导出为 PDF,则效果不佳。当然你可以买一个报告服务器,最后我们使用了另一种解决方案。
全面的
我会说一定要将 Apex 用于简单的 CRUD 应用程序。对于任何复杂程度不高的东西,请使用 .Net 或 Java。我不会注意到 Apex 上的 Wiki 文章,因为它非常歪曲。请注意“难以调试”(我认为最大的失败)已从文章中删除。
还需要非常警惕的是,您可以快速将 Access 数据库直接转换为 Apex 的荒谬说法。是的,如果您的 Access DB 非常非常简单,它将起作用。正如我们发现的那样,任何中等复杂的东西,算了吧。
我们绝对不会将它用于面向 Web 的应用程序,仅用于内部应用程序。做你认为理所当然的事情,比如.Net,有太多的困难。我知道有一些网站,例如 AskTom,但这些网站并不十分复杂。我们会在上面看到下一个 Facebook 吗?我认为不会——尽管我确信读到这篇文章的人会对此有所了解。
Apex 在之前的评论中得到了总结——经理们看到了演示,很快就接受了,确信他们找到了可以缩短开发时间的灵丹妙药。我有经理打电话给我说,我们需要一个 db 应用程序,请在一周内在 Apex 中构建 40 个表 - 这就是神话已经发生的程度。实际情况有些不同。是的,有些事情更快、更快,但您会在其他领域浪费时间——调试、支持和定制。
当然你最好自己决定。安装它,试一试,你可能会喜欢它。但是,在您对实际应用程序进行了很好的审查之前,不要被快速开发时间的说法所迷惑。