{"id":147,"date":"2011-03-14T13:53:30","date_gmt":"2011-03-14T13:53:30","guid":{"rendered":"http:\/\/degenio.com\/blog\/?p=147"},"modified":"2011-03-21T19:44:52","modified_gmt":"2011-03-21T19:44:52","slug":"switching-to-oracle-apex-or-not","status":"publish","type":"post","link":"https:\/\/degenio.com\/blog\/2011\/03\/switching-to-oracle-apex-or-not\/","title":{"rendered":"Switching to Oracle Apex or &#8230; not ?"},"content":{"rendered":"<p>I have been following Oracle Apex since 2004 and while I was no big fan at the beginning, I am more and more inclined to say that there is a case for adopting this tool in a number of cases, especially in situations where budget and time are severe constraints. I will try to summarize my current experience with Oracle Apex.<\/p>\n<p>Please bear in mind that I wrote this post as a way to explain to a friend whether it makes sense to switch to Oracle Apex or Oracle JDeveloper coming from an Oracle Forms perspective.<\/p>\n<p><strong>Good points<\/strong><\/p>\n<ul>\n<li><strong>Shared components<\/strong>: excellent repository approach that will boost the productivity of any team. Important stuff that I have been using are: LOV, templates, Lists, application items and globalization.<!--more--><\/li>\n<\/ul>\n<ul>\n<li><strong>Themes and templates<\/strong>: Graphic look for your APEX application. While web purists may look the other way at how Apex provides support for putting together the user interface, I find it very simple and intelligent at the same time. There are a large number of templates for any theme but it is important to realize you do not need to use all of them in any given applications. As such, if it is required to develop a new theme, only a limited number of templates could be designed. There are a couple of articles that have been written on how to put together a new theme for an Oracle Apex application. The best I have seen is from SUMNEVA. Best proof is their website which uses a custom theme. There is another one which got me started and explains the details behind an Oracle Apex theme (see sie-solutions.com)<\/li>\n<\/ul>\n<ul>\n<li><strong>Javascript and JQuery<\/strong>: while I was really not very happy in seeing Javascript as a pre-requisite when developing under Apex, it was more because of a lack of understanding of its role in the overall production pipeline. Since we are on a web platform, there are cases where you do need to perform validations or calculations on the client side and in these cases, it is important to understand Javascript and the way to use it properly. An added plus is the JQuery library, included with Apex, is outstanding and provides almost limitless opportunities.<\/li>\n<\/ul>\n<ul>\n<li><strong>Dynamic actions<\/strong>: For those that are still not inclined to use Javascript, dynamic actions are another way to provide excellent support for writing client-side behavior.<\/li>\n<\/ul>\n<ul>\n<li><strong>Plugins<\/strong>: without them, Apex would be severely hampered, well not entirely true but very useful for integrating external functionnalities. The community does provide a number of outstanding extensions and there are more and more plugins being developed. However, I am still wanting to see Apex plugins developed with Java. That could open an entirely new avenue for Apex. But given that so many DBAs are reluctant to give Java support on the DB side, I believe PL\/SQL for now is the only language for Apex plugins.<\/li>\n<\/ul>\n<p><strong>Bad points<\/strong><\/p>\n<ul>\n<li><strong>Application development<\/strong>: while we can regroup pages as a group, the visual layout of the application pages in the Apex IDE is a bit overwhelming. I think a treeview display of the pages with a folder and pages arrangement will tremendously help.<\/li>\n<\/ul>\n<ul>\n<li><strong>Application prototyping and branching<\/strong>: since we are talking about a web application, it might be very useful to layout the page navigation beforehand and from there generate just the application skeleton. Something similar to what we have in Oracle JDeveloper.<\/li>\n<\/ul>\n<ul>\n<li><strong>Form icons<\/strong>: very confusing icons for the forms and reports. While there is a rich palette of forms and reports under Apex, it is hard for those starting with the tool to differentiate between for example a tabular form and a form on a table with report.<\/li>\n<\/ul>\n<p><strong>Summary<\/strong><\/p>\n<p>Well, there are other good and bad points but I tried to summarize the points I have seen lately. Overall, I do appreciate the design behind Oracle Apex and I strongly believe that now is the time to switch to Oracle Apex, at least for those that do not know whether to go to Oracle JDeveloper or Oracle Apex. You will not be disappointed !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been following Oracle Apex since 2004 and while I was no big fan at the beginning, I am more and more inclined to say that there is a case for adopting this tool in a number of cases, especially in situations where budget and time are severe constraints. I will try to summarize [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[6,1],"tags":[13,79,80],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/phEMW-2n","_links":{"self":[{"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts\/147"}],"collection":[{"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/comments?post=147"}],"version-history":[{"count":8,"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":153,"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/posts\/147\/revisions\/153"}],"wp:attachment":[{"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/media?parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/categories?post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/degenio.com\/blog\/wp-json\/wp\/v2\/tags?post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}