为什么将Oracle Application Express用于Web应用程序? [英] Why use Oracle Application Express for web app?

查看:142
本文介绍了为什么将Oracle Application Express用于Web应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我相信我们将转向Oracle Apex进行未来的开发.我已经在Wikipedia上阅读了有关Oracle Apex的信息,这是有利有弊的.在我看来,弊大于利,但也许我错了.我感觉到Oracle Apex是针对DBA的,几乎没有编程知识,甚至没有编程知识就能快速设置Web应用程序,就像没有程序员的MS Access.

I believe we're moving to Oracle Apex for future development. I've read about Oracle Apex on wikipedia and it's pro and con. It seem to me the con outweigh the pro but maybe I'm wrong. I get the sense that Oracle Apex is for DBA with little or no programing knowledge to setup a web app quickly sort like MS Access for none programmer.

如果您有Oracle Apex工作经验,可以分享您的想法吗?从Wikipedia的条目来看,似乎只需要PL/SQL,您根本不需要了解任何编程语言?

If you have Oracle Apex working experience, can you share your thought? From Wikipedia's entry, it doesn't seem like you need to know any programming language at all but just the PL/SQL?

edit:Oracle Apex是否可扩展?它可以处理Facebook大小之类的流量吗?

edit: Is Oracle Apex scalable? Can it handle traffic like Facebook's size?

edit:在Oracle Apex 3.2上工作了近两年后.可以肯定地说,我讨厌它,但我看不出为什么有人会在浏览器,pl/sql上创建Web应用程序/页面,而没有办法进行版本控制.

edit: after working nearly two years on Oracle Apex 3.2. I can safely said that I hate it and I don't see why anyone would want to create web app/page on browser, pl/sql and no way to do version control.

谢谢.

杰克

推荐答案

请注意,我的经验是使用APEX 2.x-3.0.

Please note my experiences are with APEX 2.x-3.0.

我在12个月内将Apex用于一些内部应用程序,但最终将其转储到ASP.NET中.

I used Apex for a few internal apps over a 12 month period but eventually dumped it for ASP.NET.

一些Oracle宣传人员声称,它能够与ASP.NET/J2EE等更主流的框架相提并论地创建高度动态的内容.从技术上讲,这是正确的,但从技术上讲,您也可以乘坐一个人的独木舟穿越大西洋.如果您很想参加复杂程度适中的APEX项目,那么我建议您查看

Some Oracle evangelists claim it is capable of creating highly dynamic content on par with the more mainstream frameworks like ASP.NET/J2EE. Technically this is true, but then technically its also true that you could cross the atlantic in a one man canoe. If you are tempted to throw yourself into a APEX project of even moderate complexity then I suggest you look at the APEX sample of a simple discussion forum. Compare it to an ASP.NET MVC discussion forum sample or a RoR implementation.

说过:

好人

  • 使用基本的CRUD数据输入,简单的报告并用数据填充,可以非常容易地生成受人尊敬的Web应用程序.如果您是负责将公司的Excel/Access数据库混乱整合到中央数据库/Web环境中的IT人员,那么您应该看看APEX,它非常适合此任务.如果您希望范围扩展到某种程度的复杂性,那么我将直接转向一个更灵活的框架.

  • Incredibly easy to generate a respectable web app with basic CRUD data entry, simple reporting and populate it with data. If you're the IT guy who's been tasked with consolidating a company's mess of Excel/Access dbs into a central DB/web environment then you should take a look at APEX, it very well suited for this task. If you expect the scope to grow to something of even moderate complexity then I would move straight to a more flexible framework.

如果您是DBA/PLSQL专家,但是没有传统的Web开发经验,那么您将准备好在Web应用程序中公开现有的业务逻辑,而无需使用HTML/CSS/JavaScript.到.

If you are a DBA/PLSQL guru but have no experience with traditional web development you'll be well prepped to expose existing business logic in a web app without stuffing around with HTML/CSS/JavaScript if you dont want to.

APEX支持论坛上有大量信息,并且APEX开发人员配备了丰富的人员.

APEX support forum has a ton of info and is well staffed by APEX devs.

坏人

当应用程序超越CRUD数据输入并且需要更多动态和事件驱动的行为时,我对Apex的体验开始下降.

My experience with Apex began to go downhill when apps moved beyond CRUD data entry and required more dynamic and event driven behaviours.

  • 基于Web的GUI并不酷.调试很痛苦.

  • The web based GUI is not cool. Debugging is painful.

版本控制?谁需要版本控制?

Version Control? Who needs version control?

当(不可避免地)需要在框架的有限范围之外做任何事情时,您将不得不动手使用PL/SQL.针对数据库编写业务逻辑很好,但是从PL/SQL过程生成HTML感觉在2007年是过时的.

When you (inevitably) need to do anything outside the limited scope of the framework, you'll have to get your hands dirty with PL/SQL. Writing business logic against the database is fine, but generating HTML from PL/SQL procedures felt uncomfortably archaic in 2007.

鉴于您可以隐藏大量页面和重定向逻辑,因此程序流既难以可视化,又自然不利于模块化,可分离和可重用的代码. OOP开发人员将不会被打动.使用APEX可以拥有结构良好的可维护应用程序,但是它比应做的要难.这与MVC相距甚远.

Given the large number of sneaky places you can hide page and redirection logic, the program flow is both difficult to visualise and not naturally conducive to modular, separable and reusable code. OOP developers will be not be impressed. It's possible to have well structured maintainable applications with APEX but its harder than it should be. This is worlds away from MVC.

在我使用的版本中,出现了数量不可接受的框架错误.我希望在最近的版本中能有所改善,但是将IDE集成到APEX平台本身的范例使我感到一些人生中最最黑暗,最彻底的调试工作.例如,我试图重现一个间歇性错误,该错误将导致用户丢失其会话数据.使用会话信息弹出窗口,我看到会话数据有时会在不应该有的时候发生变化.我花了两天的时间来尝试在我的代码中查找错误,但是没有运气.我几乎发狂了,我完全有机会注意到我可以在调试窗口中重现错误的会话数据,但是应用程序本身不会进入错误状态.当我意识到可能发生的事情时,我的心沉没了. Oracle随后确认我在APEX中发现了一个错误,该错误导致会话信息窗口间歇性地向我显示来自先前会话的数据.我浪费了两天的时间来调试带有会话调试窗口的会话相关错误.那是我构建的最后一个Apex应用程序.

Unacceptable number of framework bugs in the versions I used. I'd hope this has improved with recent versions, but the paradigm of integrating the IDE into the APEX platform itself caused me some of the darkest, soul destroying debugging sessions of my life. As an example, I was trying to reproduce an intermittent bug that would cause a user to lose their session data. Using the session information popup I saw that occasionally the session data would change when it shouldnt have. I spent 2 days trying to find the error in my code with no luck. Near delirious, I noticed by pure chance that I could reproduce errorous session data in the debug window but the application itself wouldnt go into an error state. My heart sunk when I realised what might be happening. Oracle later confirmed that I'd found a bug in APEX that caused the session information window to intermittently show me data from a prior session. I'd wasted 2 days debugging a session related bug with a buggy session debug window. That was the last Apex app I built.

PL/SQL并非永远不会成为Web开发中的下一个重要事物.与APEX合作一段时间后,我意识到这并不会使我成为一个更好的Web开发人员.精通APEX实际上是关于PL/SQL.如果您打算将职业重点放在Oracle技术上,那就太好了,只要知道APEX与主流Web技术的方向是如此相切,以至于从APEX到其他Web框架的可移植技能集就很少了.

PL/SQL is not and will never be the Next Big Thing in web development. After working with APEX for a while I realised it wasnt going to make me a better web developer. Mastering APEX is really about PL/SQL. Thats fine if you plan to focus your career on Oracle technology, just be aware that APEX is so tangential to the direction of mainstream web technologies that the portable set of skills you can take from APEX to other web frameworks is minimal.

如果您正在考虑APEX提供基于Web的简单数据输入和报告,那么值得一看.如果您正在寻找动态网络内容和丰富的UI交互的.NET/JAVA/PHP替代方案,建议您将其放在其他位置.

If you are considering APEX to provide simple web based data entry and reporting, its worth a look. If you are looking for an alternative to .NET/JAVA/PHP for dynamic web content and rich UI interaction I'd advise you to look elsewhere.

这篇关于为什么将Oracle Application Express用于Web应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆