1

我发现在另一个程序上使用 APEX 的大约 8 个优势和缺陷(http://en.wikipedia.org/wiki/Oracle_Application_Express),但我不确定我是否完全理解何时使用它。

据我了解,如果您想要一个与 Oracle 相关的快速且易于使用的开发工具,Apex 是您的首选。如果您需要复杂的解决方案,APEX 将不适合。

我想知道你们对此的看法。就我而言,我需要知道是否应该为壁球俱乐部推荐该产品。由于它不是一家大公司,我相信 HTML DB 将是最佳选择,因为我们希望在实现后尽可能减少操作。我们也不希望俱乐部的老板花很多钱来获得可以开发更新的人。

4

3 回答 3

2

Apex 是免费的,Oracle XE 数据库也是免费的。Apex正在快速发展。

但你要问的取决于更多。

据我了解,如果您想要一个与 Oracle 相关的快速且易于使用的开发工具,Apex 是您的首选。

是否已经在使用 oracle 数据库?易于使用的开发工具:是的,当然。但与任何事情一样,这取决于你是否有一些经验,规格和期望是什么,......

如果您需要复杂的解决方案,APEX 将不适合。

嗯,... 一个复杂的解决方案在另一个环境中会不会那么复杂?我们的想法到底有多复杂?在我看来,您可以在 apex 中走得很远,并根据您的需要进行调整。它可能涉及创建模板和插件来设置框架,但它是可行的。一个例子是已经与 ExtJS 完全集成的顶级项目。Apex 也不是所有问题的答案,但它很好。如果您留在 Oracle 堆栈中以获得更多参与/复杂性,我会说下一件事是 ADF。就个人而言,我不相信那个。它也有其优点和缺点(例如:需要Java知识。对于某些人来说是pro,对于其他人来说是con ...)

就我而言,我需要知道是否应该为壁球俱乐部推荐该产品。由于它不是一家大公司,我相信 HTML DB 将是最佳选择,因为我们希望在实现后尽可能减少操作。

这个俱乐部有多大?该网站的使用强度如何?已经有数据库了吗?是甲骨文吗?谁有 DBA 知识(甚至是基础知识)?谁来发展?如果您的规格符合规格,那么在发布后就不需要太多的摆弄。

我们也不希望俱乐部的老板花很多钱来获得可以开发更新的人

谁将托管服务器?谁来运行它?谁来管理它?您打算基于云计算吗?

如果这是一个小项目,我几乎敢于建议 PHP 可能是一个不错的选择。这些开发人员可能比 apex/oracle 开发人员更容易找到且成本更低。但是话又说回来,如果您打算外包,那么问题可能就不那么大了。如果您的 oracle 实例在某个地方的云中,我相信您甚至会非常安全......

真的,您要比较哪些选项?你问的是apex,你有经验吗?

老实说,您的问题与其说是一个问题,不如说是一个讨论的开场白。每种技术和数据库都有其优缺点、拥护者和不喜欢者。

就个人而言,我真的很喜欢apex。它有很多好处,尤其是当您已经投资于 Oracle 堆栈时。它还在不断增长,获得了良好的支持,并发布了具有许多新功能的出色版本。
我真的不能说它必须如何从头开始设置(可靠的)服务:服务器和数据库,无论多小,您都需要一些了解和知识。如果你只是用翅膀和手指交叉,你会在某个地方把它们烧掉。与发展相同。但就我而言,这适用于任何其他技术。当然,除非您将这些方面外包。
等等等等。有很多和更多的讨论这种方式。

出于这些原因,我在那里投了反对票:有很多要讨论的问题,这并不是一个有决定性答案的问题。如果你把更多的规范放在那里,让并发平台的人做出回应,它也许只能得到一个决定性的答案。


编辑
我想对丹尼尔的帖子做出反应。

首先我不得不说我本来就是一个PHP-Developer,我真的很喜欢这种语言和环境。尽管如此,我还是决定在今年夏天实习,目前我在 APEX 工作。我正在和另一个实习生一起开发一个更大的应用程序,希望能给你一些有用的意见。这仅涵盖应用程序的开发,因为我并没有真正参与诸如数据库管理之类的事情(尽管我不得不说带有 MySQL 数据库的 PHP Webspace 也不难管理,特别是如果有用户不多)。

我也是一名开发人员,我不做服务器和数据库管理(企业环境)。并不是说我在业余时间没有涉足这里和那里,但我离题了。

但我的经验是,解决超出此范围的任务变得非常非常困难。这并不意味着您不能在一个报表中获得多个表格,表格的一些连接也不是什么大问题,并且可以轻松实现。但是,如果您的应用程序需要更多,我不推荐 APEX,所以我完全同意您的规则,即应该以另一种方式创建复杂的应用程序。

那么作为一个 PHP 开发人员,你会推荐 PHP 来实现这一点吗?它会更简单还是一样复杂?
我也会争论复杂性。我处理过一些大型表单,对我来说,这意味着现在的项目数量超过了您的平均数量、一些动态操作、验证,也许还有一些自定义流程。我没有遇到过极其复杂的情况,老实说,我会质疑是谁创造了这些期望。跳出框框思考有时可能是一种美德,但这并不意味着框框总是不好的。复杂的机制或页面可以分解成更容易完成的部分。一个例子是使用模式页面来分解它。

我也认为编程经验有限的口号只是部分正确。正如您已经说过的,只有当您只有简单的应用程序时才适用。我个人也无法忍受 IDE 和“易于使用”形式之间的混合。

我同意有限的编程经验:您只会创建最基本的表单和报告,并且几乎没有经验,我认为您甚至会回避选项页面,因为害怕破坏某些东西。即使是基本的数据库和服务器管理也是如此:当没有经验丰富的备份时,我不希望依赖这样的人(但显然描述的一个非常小的项目可能是可以接受的)。
我也只投资于编程方面。

创建新模板和其他东西也不是很容易,至少在我看来,使用其他框架会容易得多。

我会说模板使事情变得非常灵活,当然也不难使用

甚至可能是最糟糕的事情:我认为这个应用程序有很多错误。我不知道有多少次简单的删除和新创建流程/页面/验证或任何解决问题的方法,而您根本没有想到这个解决方案。

哇。我强烈不同意这一点。在一年的时间里,我可能遇到过这样的事情和大量的表格。并不是说我在 OTN 论坛上没有听说过一些问题,但通常它们与升级有关。

总结:如果你有真正适合它的应用程序,我只会使用 APEX。这意味着只有报告和表格,所有更会导致痛苦的调试会话(因为这在这种环境中也不容易......)和糟糕的维护。

太糟糕了,没有那么多使用 apex 的大型公共网站。据我所知,有并且已经有涉及 apex 的大型项目,但这些通常是在公司环境中,因此永远不会炫耀(不可能)。我个人认为 apex 可以比您提到的基本表单+报告更进一步(我的意思是基本的,因为在这种情况下,事情通常会归结为表单+报告)。

不过,调试并不一定很痛苦。如果您在自己的代码中提供足够的调试消息和注释,那将有很大帮助。调试页面、javascript 控制台,以及是否需要在您的 plsql 包中使用自主错误记录程序,...在一些更复杂的材料上,我假设你有知识来实际处理你设置的复杂性)。

你最后提出的有趣的一点是维护。我想说,apex 应该改进很多的一点是版本控制,开箱即用。出口需要改进,以便更容易分解。


哇,看看那堵文字墙……我本可以猜到这会变成一场讨论。

于 2012-08-27T12:45:05.933 回答
1

首先我不得不说我本来就是一个PHP-Developer,我真的很喜欢这种语言和环境。尽管如此,我还是决定在今年夏天实习,目前我在 APEX 工作。我正在和另一个实习生一起开发一个更大的应用程序,希望能给你一些有用的意见。这仅涵盖应用程序的开发,因为我并没有真正参与诸如数据库管理之类的事情(尽管我不得不说带有 MySQL 数据库的 PHP Webspace 也不难管理,特别是如果有用户不多)。

首先,我们创建了一些应用程序,只是为了感受一下。之后,我们从应用程序的简单部分开始。如果您只需要构建一些报告和表单来编辑数据库的条目,那么 APEX 真的很棒。使用集成向导创建这些东西非常快。

但我的经验是,解决超出此范围的任务变得非常非常困难。这并不意味着您不能在一个报表中获得多个表格,表格的一些连接也不是什么大问题,并且可以轻松实现。但是,如果您的应用程序需要更多,我不推荐 APEX,所以我完全同意您的规则,即应该以另一种方式创建复杂的应用程序。

我也认为编程经验有限的口号只是部分正确。正如您已经说过的,只有当您只有简单的应用程序时才适用。我个人也无法忍受 IDE 和“易于使用”形式之间的混合。创建新模板和其他东西也不是很容易,至少在我看来,使用其他框架会容易得多。

甚至可能是最糟糕的事情:我认为这个应用程序有很多错误。我不知道有多少次简单的删除和新创建流程/页面/验证或任何解决问题的方法,而您根本没有想到这个解决方案。

总结:如果你有真正适合它的应用程序,我只会使用 APEX。这意味着只有报告和表格,所有更会导致痛苦的调试会话(因为这在这种环境中也不容易......)和糟糕的维护。

于 2012-08-27T20:42:58.533 回答
1

我作为客人在这里发帖——希望我会创建一个帐户。我使用了早期版本的 O-HTML-DB。我们构建了非常好的应用程序。我最后一次使用它是在 2004 年,当时我已经转为非开发角色。

不过,自 2007 年以来,我决定重新访问该工具并了解 APEX。从那以后,我有了自己的测试应用程序。我不同意实习生所说的大部分内容。

如果您的目标有限(您的业务需求和相关要求),那么您对 ​​APEX 的使用将受到限制。这是一个非常强大的应用程序,具有复杂的安全功能(我自 2009 年以来一直在 InfoSec/Cyber​​ 工作。

是的,您是正确的,而不是关于不需要扎实的开发背景的 APEX 的说法是不准确的。您需要对 SQL/PL/SQL、JavaScript 有很好的掌握。但是您也可以充分利用 OTN,开发人员可以在其中慷慨地分享他们的专业知识。当我开始使用 O-HTML-DB 时,我之前从未在商业环境中构建过 DA。我有理论 SQL 技能。我是一名掌握 JavaScrip 的 Web 开发人员,在 Learning Tree International 接受过 Java 培训(除了学者)。但是我和我的同事(我们是两个开发人员)从 OTN 中学到了很多东西。我们构建了三个 Web 应用程序,其中一个支持 6,000 多个用户——仅 O-HTML-DB!

APEX 将 O-HTML-DB 带入了新的维度。您不需要像我们对 O-HTML-DB 所做的那样对验证进行硬编码。当然也可以修改,这需要对SQL/PL/SQL有扎实的把握。

也许模板对许多开发人员来说有些困惑,这是可以理解的。但随着您继续“玩” APEX,我相信您会喜欢的。它几乎可以做任何事情。只有你有限的视野会限制它。

埃里克

于 2015-10-30T11:21:06.103 回答