Oracle Application Express教程 IDE概述

最近,令我惊讶的是,事实证明,实际上没有关于Oracle Application Express(又名APEX,apex,但不要与Salesforce中使用的apex语言相混淆)的明智教程。


当然,这不是最常见的技术,但是仍然非常有需求。 关于apex的博客很多(大多是英文),关于Stackoveflow的数千个问题,在Oracle官方论坛上有关apex的特殊部分,apex本身已经存在了15年,并且一直在发展。 我确信这里有很多很好的教程。 但是不!


我立即想到了一个绝妙的主意,以填补这一空白。


目录


为什么现有教程不好
介绍性信息
IDE概述
应用程式制作工具
申请页面
应用属性
共享组件
页面设计师
SQL研讨会
对象浏览器
SQL命令


为什么现有教程不好


我将解释为什么我认为现有的教程不好。 Apex不是一种编程语言,它是一种非常高级的开发工具,我将其称为与MS Access最接近的意识形态类似物。 因此,顶点处的大多数开发工作都包括使用该环境的Web界面:单击按钮,跟随链接,使用组件名称填充字段,从列表中选择值等等。 典型教程有什么作用? 它显示了这些相同屏幕的屏幕截图,并带有标题“单击此处”。 同时,IDE本身非常方便易懂,几乎所有元素都提供了参考说明,并提供内置帮助。 结果,如果您需要向用户说明如何创建应用程序,则教程中将有一个大屏幕截图,说明如何单击“创建新应用程序”按钮。 在这里,您自己看一下官方的oracle教程:


示例apex教程的屏幕截图


他们还将用屏幕截图说明,“单击”是单击鼠标型操纵器的左键。
当然,在这些教程中也有有用的信息,但是其中很少。 80%的教程都包含这样的屏幕截图,根据我自己的经验,我可以说一个完全不阅读任何教程的人将独立地找到如何创建应用程序,添加页面,在其中添加报告等。 然后,他将需要组织或多或少地对顶点的几个元素进行简单的交互,结果证明该问题几乎没有涵盖在本教程中。 让我给你一个类比:您只是在学习编程,已经研究了变量,数组,循环,条件,并得到了一个任务,您需要在该框架内对数组进行排序。 以某种方式对数组进行排序非常简单,但是一旦通过“ 快速排序大型数组”使任务变得复杂,事实证明您的知识还不够。 在Google搜索,挖掘Stackoverflow和论坛时,您会发现一种快速排序算法。 当然,某人本人迟早会重新发明该算法,但是更有效的方法是立即阅读一本具有典型算法分析的书。 而且通常找不到这样的一套用于顶点的“典型算法”,并且采用相同的科学方法,搜索引擎,论坛和Stackoverflow(并且,我希望本教程)也可以解决。


介绍性信息


假定读者至少从11,SQL,PL / SQL熟悉Oracle数据库版本,尤其是EXECUTE IMMEDIATE什么以及它如何工作。


从版本4.2到5.0的过渡期间,apex IDE发生了显着变化(该版本是4年前的2015年3月)。 从那时起,IDE的变化很小,但是有时会添加新功能。 我将在apex.oracle.com上截屏,该屏幕现在安装了19.1版,但是如果某个地方有较早的版本(5.x,18.x),则可以轻松找到所需的元素,除非它出现在比您更高的版本中。


我将从回顾IDE的最常用部分开始。 我还将显示一些屏幕截图。 没有它们的地方,因为这里的一切都是由视觉组件组成的。 但是它们的数量将不及糟糕的教程中的数量,基本上它们将出现在最初的章节中,然后我将简单地指出IDE部分的名称,其中包含必要的内容。 我将立即引起您的注意,因为这仅仅是对IDE的第一次了解。 有关何时单击哪个按钮以及在何处查看更详细的信息,稍后我将继续讨论特定主题。


走吧


IDE概述


进入IDE后,您将立即看到“开始”屏幕:


IDE主页


这里的主要元素是4张可点击的大图片:


  1. “ App Builder”:实际上,这是您可以创建应用程序的地方,您将在其中花费多达99%的时间。
  2. “ SQL Workshop”:与Oracle DBMS一起使用的常规IDE的替代品。 在这里,您可以看到数据库对象(表,索引,包等)并执行SQL查询。 如果您有机会通过“常规” IDE(例如Oracle SQL Developer或PL / SQL Developer)执行所有这些操作,请通过它们进行操作。 但是,本节可能也很有用,我还将对此进行讨论。
  3. “团队开发”:团队开发工具。 老实说,我从未见过有人在实践中使用它们(包括我在内)。 出于好奇,我也查看了该部分,尽管我确实想这么做,但我不会称此部分完全无用。
  4. “应用程序库”:包含演示应用程序的部分。 到他出现时,我已经很好地了解了顶点,几乎看不到顶点,但是对于初学者来说,我认为它将很有用。 有许多不同的朴实应用程序,通过它们的示例,您可以学习如何使用某些功能。

在页面顶部的菜单中,重复了相同的4点。


此外,还有其他一些无益的事情:下面是一些统计信息(例如,最频繁编辑的应用程序或最活跃的开发人员)。 右侧有一列,其中还有一些统计信息和其他链接。


让我们更详细地了解App Builder和SQL Workshop。


应用程式制作工具


该页面如下所示:



此页面的主要元素:与上一页相同的四个大按钮,一个现有应用程序列表,一个带有最近修改的应用程序列表和其他操作的右列。 四个按钮是:


  1. “创建”:创建一个新的应用程序。 相同的功能稍稍重复一点(带有应用程序列表的报告上方的蓝色“创建”按钮)。 该按钮将启动应用程序创建向导。
  2. “导入”:导入应用程序。 Apex允许您以文本文件的形式将应用程序从一台服务器转移到另一台服务器(本质上,这是长的PL / SQL脚本,具有对用于创建所有应用程序元素的函数的调用)。
  3. “仪表盘”:一些有用的应用程序开发统计信息集合。 谁,何时,何地,进行了多少更改。 我认为,即使您的老板也不会对在那里感兴趣。
  4. “工作区实用程序”:一组用于管理应用程序的其他工具。 老实说,我几乎也从来没有看过那里。

我还想提醒您注意报告面板中的一个小按钮:


报告查看开关


她将报告的视图从上面的屏幕快照(带有应用程序的“图片”)切换为表格形式的报告:


Oracle APEX中的应用构建器


在IDE的其他部分中可以找到类似的报告。 我更喜欢表格视图,因此所有屏幕截图都将包含在表格视图中。


申请页面

创建应用程序或打开现有应用程序后,您将看到以下页面(与上一个结构非常相似):


申请页面


您会经常访问此页面,这里有很多有用的功能。 带有图片的大按钮:


  1. “运行应用程序”:此按钮启动您的应用程序。 它将在单独的窗口中打开。 默认情况下,它在窗口中,而不在浏览器选项卡中,但是已配置了此行为(稍后将对此进行详细介绍)。
  2. “支持对象”:本节解决与安装,更新和卸载应用程序有关的问题。 通常很少使用它们。
  3. “共享组件”:我想说这是IDE的第一或第二重要部分(另一个是页面编辑器)。 如果您在顶端发展很多,您很快就会注意到,您已经将本节的结构称为“我们的父亲”。
  4. “实用程序”:另一组(很少)有用的帮助程序功能。
  5. “导出/导入”:允许您导出或导入应用程序或应用程序的一部分。

还有两个其他按钮,在屏幕快照中被橙色框包围:


  1. 按钮“编辑应用程序属性”。 通过单击它,您将转到应用程序属性设置页面。 您可能不会经常访问此部分,但是它非常重要,因为它存储了许多内容所依赖的应用程序设置。 此外,如果我在某处提到“应用程序属性”,请在本节中查找它们。
  2. 一次,右窗格中的一个有用功能是“删除此应用程序”。 虽然顶点中的许多功能在不同的地方重复,但此功能仅在此处,很难毫无习惯地第一次找到它。

应用属性

首先,组织对大量设置的访问很有趣。


应用属性


设置分为4个组(请参见上框),每个组又有几个子组(请参见下框),每个组都有自己的名称。 同样,设置在顶点的很多地方都有组织。 将来,我将像这样简单地指示所需设置的路径:“应用程序属性”→“定义”→“名称”→“版本”。


另外,如果您看一下页面顶部的面包屑,尽管看起来似乎会进入“应用程序属性”,但您会看到它显示“编辑应用程序定义”。 只是忽略它。


共享组件

共享组件是我们的一切。 本节是通往特定应用程序组件的中间点。 我将在此处显示一个总体视图,以便您可以想象什么在哪里:


共享组件


这里几乎没有废话。 您可能需要以一种或另一种方式使用每个部分。 这些部分的名称说明一切,几乎没有什么可添加的:


  1. “应用程序逻辑”:应用程序逻辑控件。
  2. “安全性”:整个应用程序以及各个组件的安全性和访问控制问题,具体取决于用户角色。
  3. “其他组件”:这些是“所有其他组件”。 从好的方面来说,本节应该是最后一部分,但是出于某种原因它就在这里。 我通常将“值列表”子项转移到应用逻辑。
  4. “导航”:用于导航的应用程序组件。
  5. “用户界面”:自定义应用程序的外观,样式等
  6. “文件”:文件部分(例如css或js)。 如果您无法访问操作系统,则必不可少,即使有访问权限,它仍然很方便。
  7. “数据源”:使用数据源(用于加载和卸载)。
  8. “报告”:显然是报告。
  9. “全球化”:用于将应用程序翻译成其他语言的部分。

哭泣的雅罗斯拉夫纳有关顶点中的应用程序的翻译

顶点中的应用程序翻译太糟糕了(老实说,我试图弄清楚如何使它变得更糟-我不能),并且没有证据表明将来会变得更好。
糟糕的架构和翻译的简易性。 我只能对开发人员说:“至少谢谢您不要有bug”(但是这里是这样的样子:翻译经过整理,因此它们的某些功能与bug没有太大区别)。
我们必须忍受它。


页面设计师

页面设计器-页面编辑器。 这可能是IDE中的主要位置。 在这里,您将创建用户直接与之交互的内容-应用程序的页面。 它只是一堆功能,几乎就像在驾驶舱中一样。 要进入页面设计器,您需要在应用程序页面上单击页面名称的链接(对不起重言式)。 在屏幕截图中,编辑器的主要组件以彩色框架突出显示:


页面设计师


顶部的按钮栏(在红色框中):


  • 用于输入页码,向上和向下箭头以及“开始”按钮的字段:浏览应用程序的页面。 每个页面都有一个编号,您可以在此处输入所需页面的编号,或者使用箭头转到下一页/上一页,或者单击最左侧的按钮,然后从出现的模式窗口的列表中选择一个页面。
  • 带锁按钮:允许您阻止页面被其他开发人员更改。
  • 撤消/重做按钮
  • 两个按钮可访问辅助功能。
  • 按钮链接到共享组件。 有用,因为您必须一直来回走动。 (不过,我本人更喜欢将共享组件保留在单独的选项卡中-这甚至更快)。
  • 保存按钮:将更改保存到页面。
  • 按钮“运行”:“启动”页面,即您以用户以后看到它的方式来查看它。

左侧(在橙色框中)是带有页面组件的面板。 此面板中有4个书签:


  • “渲染”:显示页面包含哪些组件,在渲染过程中执行哪些过程;
  • “动态动作”:在客户端执行的动作(例如javascript事件处理程序);
  • “正在处理”:与页面关联的服务器进程;
  • “页面共享组件”:用于直接转换到页面上使用的公共组件(相同的共享组件)。

在中间(绿色框内)-包含许多异构信息的面板。 在面板顶部,您可以找到5个标签:


  • “布局”:显示页面上组件的大概排列;
  • “组件视图”:总的来说,这是过去的记录(页面编辑器在apex的版本4中看起来相似,在版本5.0或5.1中,此旧“视图”的状态已弃用,尽管它与新视图并用,但现在仍然保留)只有他淡淡的阴影);
  • “消息”:将出现错误消息(例如,一条消息,指出某些必填字段未填写);
  • “页面搜索”:在页面上搜索。 在可以输入内容的所有位置(代码,消息文本,组件名称等)中搜索所需的字符串;
  • “帮助”:帮助。 非常明智,尽管并非总是如此。 您可以在左侧面板中选择组件属性,然后查看其描述。

中央面板下面还有另一个附加面板,可用于快速向页面添加组件。


右侧(在蓝色框中)是属性面板。 这里的一切都很简单-它显示了当前选定组件的属性。 组件的某些属性很简单:文本,数字,列表中的值。 但是,组件的更复杂属性具有附加的界面功能,极大地方便了使用它们时的使用寿命。
是大文本的属性。 例如,PL / SQL或JavaScript中的代码。 看起来像这样:


备注属性屏幕截图


您可以直接在此字段中编写代码,也可以单击页面顶部的按钮,然后使用代码编辑器打开一个模式窗口,其中提供了语法高亮显示(用于SQL,JavaScript,CSS,HTML),文本搜索和其他编辑器功能。


属性-共享组件。 如果该属性是应用程序组件(共享组件)之一,则可以从列表中选择特定组件,然后单击列表右侧的按钮。


转到共享组件按钮


您可以将“共享组件”部分直接移至所选组件的属性(例如,对其进行更改)。


如果从列表中选择了您的属性值,有时在右侧您可以看到另一个附加按钮:


快速选择


它称为“快速选择”,在有很多选项时使用。 通过“快速选择”,可以更快地访问一小部分选项-通常,有最常用的选项。 这里的“常用选项”不是您使用的,而是“一般”。 这是一个固定的列表,不会随时间变化。


SQL研讨会


就像我已经说过的那样,SQL Workshop可以代替常规的IDE(如果由于某种原因您没有机会使用它)。


SQL研讨会


它包括5个部分:


  1. “对象浏览器”:数据库对象(表,包,函数和过程,索引,序列等)的浏览器;
  2. “ SQL命令”:您可以在其中执行任何SQL查询或PL / SQL代码的部分;
  3. “ SQL脚本”:在这里,您可以下载带有脚本的文本文件并执行;
  4. “实用程序”:与数据库相关的各种附加功能:例如,有一个图形查询生成器(但不仅限于此);
  5. “ RESTful服务”:创建REST服务。 Apex还具有REST(很长一段时间,它们已经在4.2版中使用)!

对象浏览器

对象浏览器


使用数据库对象需要进行所有操作:创建,更改,删除,查看对象的属性,向表中输入数据-为此,本节具有图形界面。 在下拉列表的左上方,您可以选择对象的类型(屏幕截图中显示了表格),在右上方,您可以选择可以看到其对象的方案。 在可用方案列表中,您不会一次看到所有方案-这是正常现象。 如何使方案在顶点可见,我将在上任时告诉您。
此外,在更详细地描述此部分时,我没有多大意义:如果您知道“在表中添加一列”是什么意思,则可以轻松地猜测何时需要单击“添加列”按钮以及接下来可以等待什么。


SQL命令

在本部分中,您可以执行SQL查询和PL / SQL代码。


SQL命令


在功能方面,此部分几乎与成熟的开发环境一样好。 唯一缺少的是代码完成和语法突出显示(顺便说一句,对象浏览器中还有语法突出显示)。 可用功能:


  • SQL执行,包括参数(将显示一个单独的窗口,用于输入参数值);
  • PL / SQL执行,可以通过dbms_output输出文本(输出将显示在下面的窗口中);
  • 仅执行代码的选定部分(用鼠标选择文本,然后单击“运行”);
  • 查看请求计划;
  • 保存请求。

***

如您所知,这与APEX IDE中的所有功能都相去甚远,但是在现阶段,进一步发展没有意义。 顶点界面的各个元素将在与其直接相关的主题中进行详细讨论。


PS:我还不能说我已经明确考虑了本教程的结构,也许将来我会在本文中添加更多屏幕截图和说明,或者在其他文章中介绍其他功能。 还需要弄清楚如何通知感兴趣的人有关旧文章的重大修改。

Source: https://habr.com/ru/post/zh-CN445128/


All Articles