本文是鋼哥的Oracle APEX系列文章中的其中一篇,完整 Oracle APEX 系列文章如下:
- Oracle APEX 系列文章1:Oracle APEX, 讓你秒變?nèi)珬i_發(fā)的黑科技
- Oracle APEX 系列文章2:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (準(zhǔn)備工作)
- Oracle APEX 系列文章3:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (安裝CentOS, Tomcat, Nginx)
- Oracle APEX 系列文章4:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (安裝XE, ORDS, APEX)
- Oracle APEX 系列文章5:在阿里云上打造屬于你自己的APEX完整開發(fā)環(huán)境 (進(jìn)一步優(yōu)化)
- Oracle APEX 系列文章6:Oracle APEX 到底適不適合企業(yè)環(huán)境?
引言
不知不覺在Oracle ERP這個領(lǐng)域已經(jīng)13個年頭了,從剛畢業(yè)學(xué)習(xí)最基本的SQL、PL/SQL、Linux Shell腳本、Oracle Form、Oracle Report、Workflow、Discovery、Middleware (BPEL)、OBIEE、BI (XML) Publisher、OAF、ADF,到后來的環(huán)境搭建、克隆等應(yīng)用DBA的工作,可以說要想成為一名合格的Oracle ERP技術(shù)顧問,要掌握的東西太多了,遠(yuǎn)不是一個普通互聯(lián)網(wǎng)開發(fā)人員的技能可比的。
但隨著互聯(lián)網(wǎng)技術(shù)的崛起,新的開發(fā)框架和技術(shù)層出不窮。成熟的互聯(lián)網(wǎng)架構(gòu)的出現(xiàn)、前后端技術(shù)的分離、緩存的大量使用、微服務(wù)的興起,動輒就提全棧開發(fā)等等,都使得今天的Oracle技術(shù)從業(yè)者無論從技術(shù)方面還是待遇方面,都受到了不小的打擊(想想10年前一名Oracle ERP技術(shù)顧問的待遇,絕對比相同經(jīng)驗的Java開發(fā)人員的薪資高一倍不止)。很多以前的從事Oracle ERP開發(fā)的同事現(xiàn)在不是另謀高就,就是在維護(hù)一些古董級的項目,偶爾聊起前途也是一片唉聲嘆氣,感嘆生不逢時。
是否從事Oracle開發(fā)出路就一定越來越窄呢?答案肯定是否定的。Oracle的數(shù)據(jù)庫至今為止還是市場占有率最大的數(shù)據(jù)庫,而Oracle ERP領(lǐng)域也不是互聯(lián)網(wǎng)技術(shù)可以簡單比擬的,其復(fù)雜的業(yè)務(wù)邏輯和行業(yè)經(jīng)驗才是你最寶貴的資本。如何合理利用自己已有的知識和技能,在當(dāng)今互聯(lián)網(wǎng)當(dāng)?shù)赖臅r代重新闖出一片天地,恐怕是大部分Oracle技術(shù)人員目前面臨的困惑。
不可否認(rèn),Oracle的產(chǎn)品線非常豐富,但帶來的問題是技術(shù)棧也非常雜。另外在其主打的Oracle ERP產(chǎn)品:Oracle Fusion Application技術(shù)選型和設(shè)計上有硬傷。當(dāng)年(2009年)我第一次了解Oracle Fusion Application時,就已經(jīng)預(yù)判到Oracle ERP要走下坡路了。雖然Java很好,但Oracle打開的方式不對,它選擇了ADF作為開發(fā)框架,性能和擴(kuò)展性大打折扣,非常差的用戶體驗使得Oracle在堅持了多年、投入了巨大的資源后不得不放棄繼續(xù)開發(fā)Oracle Fusion Application,轉(zhuǎn)而收購了云ERP廠商(NetSuite)作為現(xiàn)在主推的ERP產(chǎn)品,浪費(fèi)了大量的時間和人力物力,令人惋惜。
不過Oracle眾多的產(chǎn)品,有一個是非常好的。(其實(shí)叫產(chǎn)品也不太貼切,因為它既是產(chǎn)品、又是開發(fā)工具、同時又可以作為框架來理解)自從我10年前使用,到最近兩年Oracle加速發(fā)展,使得這一產(chǎn)品迎來了新的春天,它就是今天的主角:Oracle Application Express(簡稱Oracle APEX)。
本文目的
本系列文章力求把我這些年使用 Oracle APEX 的經(jīng)驗積累沉淀下來,方便自己查詢。同時也希望能為廣大 Oracle 技術(shù)從業(yè)者帶來一點(diǎn)兒靈感和思路,跟大家共同學(xué)習(xí)、共同進(jìn)步??!
如果你滿足以下任意一項:
Oracle DeveloperOracle DBAOracle ERP技術(shù)開發(fā)顧問
并且想要秒變?nèi)珬i_發(fā),一人把前端后端全搞定,just follow me!
Oracle APEX 簡史
Oracle APEX 是Oracle公司出品的基于Oracle數(shù)據(jù)庫的一款Web應(yīng)用快速開發(fā)工具,旨在方便Oracle數(shù)據(jù)庫開發(fā)人員快速搭建Web應(yīng)用系統(tǒng)。其歷史最早可以追述到2004年,之前叫HTML DB,2009年更名為Oracle APEX。




但 Oracle APEX 真正被人們關(guān)注,要從 APEX 4.0 這個版本算起了。從這個版本開始,Oracle大大加強(qiáng)了APEX的開發(fā)效率,同時增強(qiáng)了很多新功能,使Web開發(fā)變得更加簡單。


而 APEX 5.0 可以說是 Oracle APEX 的一個里程碑。從5.0版本起,Oracle APEX增加了一系列新組件和新特性(特別是Dynamic Actions動態(tài)行為,允許用戶嵌入自定義的javascript代碼,也使得Ajax更加容易被應(yīng)用到開發(fā)中),括開發(fā)工具的增強(qiáng),可視化效果的提升,把 Oracle 開發(fā)Web應(yīng)用的速度和質(zhì)量推向了一個新高度,可以說是非常重要的一個版本。

而 APEX 5.1 增加了Interactive Grid控件,可以零代碼實(shí)現(xiàn)對數(shù)據(jù)庫表的增刪改查,并且有很多非常易用的功能,極大地提高了開發(fā)效率。同時整合了Oracle最新的Javascript圖標(biāo)庫Oracle Jet,使數(shù)據(jù)可視化更加方便高效。


Oracle APEX 適合做什么
現(xiàn)在互聯(lián)網(wǎng)概念已經(jīng)深入人心了,往往出來一門新技術(shù)或者工具,大家都喜歡放在互聯(lián)網(wǎng)的范疇內(nèi)進(jìn)行比較。誠然,互聯(lián)網(wǎng)技術(shù)有很多好東西值得借鑒,包括很多思想都可以運(yùn)用到傳統(tǒng)ERP領(lǐng)域。然而,很多時候我們做事還是要看性價比,不能為了“互聯(lián)網(wǎng)”而“互聯(lián)網(wǎng)”。對于個人而言,要考慮自身現(xiàn)有技能情況,最大化的利用已有技能,同時要保留技術(shù)敏感度,認(rèn)識到自己現(xiàn)有技能有哪些缺失,有意識的學(xué)習(xí)。對于企業(yè)而言,要綜合考慮今后一段時間的發(fā)展,目前的技術(shù)棧和人員技術(shù)水平,不能什么新上什么,而是什么適合自己上什么。做到“適合”也最不容易,這里就不展開討論了。
鋼哥感悟:Oracle APEX適合做
to B類的企業(yè)應(yīng)用(Enterprise Application),即 ERP、CRM 類應(yīng)用產(chǎn)品。這類產(chǎn)品的特點(diǎn)是對UI和并發(fā)要求不像 to C 類互聯(lián)網(wǎng)產(chǎn)品那么高,但同時業(yè)務(wù)邏輯相對更復(fù)雜,更適合企業(yè)內(nèi)部使用。優(yōu)勢也是相當(dāng)明顯的,往往一個有 Oracle 開發(fā)經(jīng)驗的初級程序員,通過 Oracle APEX 可以完成前端 + 后端的所有工作,而且基本屬于零代碼開發(fā),無論從開發(fā)效率,還是開發(fā)質(zhì)量方面,都不是傳統(tǒng)企業(yè)開發(fā)工具或者技術(shù)能夠比擬的,這一點(diǎn)在后面使用過程中大家就會深刻體會到。
放幾張圖大家直觀感受下APEX:
開發(fā)者門戶:整體 APEX 開發(fā)門戶入口,包括:應(yīng)用程序構(gòu)建器、SQL工作室、小組開發(fā)以及打包的應(yīng)用程序幾大模塊。

應(yīng)用開發(fā)界面:大部分時間都是在這里完成的。

SQL工作室:又是熟悉的場景,可以替代SQL工具。

小組開發(fā):Oracle APEX天然支持云端開發(fā)部署,遠(yuǎn)程協(xié)作當(dāng)然已經(jīng)考慮到了。

打包的應(yīng)用程序:自帶的Web應(yīng)用是學(xué)習(xí)APEX最佳途徑。

Interactive Grid 控件:是我見過的最NB的控件,零代碼實(shí)現(xiàn)數(shù)據(jù)增刪改查 + 搜索排序 + 級聯(lián)等功能,也是APEX 5.1 以后新推出的功能,強(qiáng)烈推薦。

更多圖示:



值得一提的是,Oracle APEX 開發(fā)工具本身就是用 APEX 開發(fā)的,是真正意義上的“
APEX on APEX”,也是我們學(xué)習(xí)參考的重要規(guī)范。
Oracle APEX 的優(yōu)勢
- 僅僅使用本機(jī)瀏覽器即可完成Web應(yīng)用的設(shè)計和開發(fā);
- 可以方便地對標(biāo)準(zhǔn)組件、UI等進(jìn)行擴(kuò)展、自定義開發(fā);
- 開發(fā)完成及部署完成,天然適應(yīng)云端部署;
- 零代碼也可以快速開發(fā)出復(fù)雜的業(yè)務(wù)系統(tǒng);
- 高效便捷的IDE令開發(fā)Web應(yīng)用從未如此簡單;
- 自帶豐富的控件和可視化圖庫,讓你不愁輪子和素材;
- 自適應(yīng)UI皮膚,讓你一次搞定PC端和移動端;
- 自帶多種場景演示實(shí)例,讓你快速起步;
- Oracle官方支持,可以放心開發(fā)企業(yè)級應(yīng)用,而無需擔(dān)心額外成本;
Oracle APEX 現(xiàn)狀
目前 Oracle APEX 在全球擁有超過40萬的開發(fā)者,但在中國真正使用 Oracle APEX 的公司或開發(fā)者卻很少,鑒于目前國內(nèi)對于 Oracle APEX 最新的技術(shù)資料有限,我有必要把自己的所學(xué)心得整理出來,以便更多的人了解學(xué)習(xí)。
Oracle APEX 下載地址
截止到目前,最新版本2017年12月17日發(fā)布的 Oracle APEX 5.1.4.00.08
總結(jié)
使用Oracle APEX 的唯一要求,就是要有一個Oracle數(shù)據(jù)庫(因為Oracle APEX必須依賴Oracle Database)。在下一篇文章里,我會帶領(lǐng)大家一步一步的安裝部署一個Oracle APEX開發(fā)環(huán)境,讓大家更近一步了解Oracle APEX的強(qiáng)大所在。
跟著鋼哥的步伐走,包你迅速掌握全棧開發(fā),為了讓腳下的路更寬,我們一起努力?。?/p>
附錄:精選Oracle APEX博客網(wǎng)站
親測可用,部分網(wǎng)站需要翻墻。
- http://vmorneau.me
- http://rimblas.com/blog
- http://apexbyg.blogspot.sg
- http://lschilde.blogspot.sg
- https://dickdral.blogspot.jp
- http://max-tremblay.blogspot.jp
- https://blogs.oracle.com/apex
- https://thtechnology.com
- http://dgielis.blogspot.sg
- https://emoracle.wordpress.com
- http://www.grassroots-oracle.com
- http://hardlikesoftware.com/weblog
- http://www.explorer.uk.com/blog
- https://ruepprich.wordpress.com
- http://davidsgale.com
- http://joelkallman.blogspot.hk
- https://www.talkapex.com
- http://nuijten.blogspot.nl
- https://www.odtug.com/apex
- https://ora-00001.blogspot.sg
- https://apextips.blogspot.sg
- https://oracle-base.com
- http://spendolini.blogspot.sg