Top WOW Features of APEX

Matt Mulvaney Mar 16, 2020 12:50:31 PM

Your dream development framework of the future is right here in the present and you can use it free.

Here are my Oracle APEX wow features that will make your JavaScript Developer friends jealous.

APEX WOW Features

Low-Code = High Productivity

Looking for a fully functional, rapid, secure, accessible web framework for your new data-driven application that supports a tonne of visualisations, forms & reporting?

If so, then Oracle Application Express (APEX) can be an ideal fit for your organisation. APEX runs anywhere the Oracle Database runs – even on the Always Free Oracle Cloud for commercial use – which is great for start-ups and growing organisations. You can deploy APEX on a variety of cloud and on premise services including the Cloud Autonomous Database.

Being supported by Oracles’ worldwide team of experts, an enthusiastic community and Oracle Partners – you can expand your web skills as a full-stack developer without regression of your existing web skills.

APEX is a Low-Code development architecture. Meaning that everything related to accessibility, design, templates, security, session management, etc. is all thought of already, meaning you can focus immediately on functionality to meet your customer’s requirements.

The Low-Code approach is definitely not “no code”. Most of the time I am actually coding away on something specific to my application – however, the hooks, processes-points and security related to that code is configured declaratively. For example, within 10 seconds, I can use the APEX interface to drag and drop a Page Load action – and within that, I make the call to the function I have spent the last 30mins perfecting.

The mundane processes are automated too – for example: In a few wizard steps which take about 2 minutes – based on my products table, I can create a page to edit or create a Product record and have that saved within the database. Not only is the save functionality achieved, but it’s auto configured to lock records, to detect lost updates, to firm-up security against URL tampering, to prevent access for non-authenticated users… and much more… more that would be required to be written by hand in other frameworks.

So let us have a look at some of the functionality… next is up is…

Data Reporting

A data report is based on a REST end-point, a table, a view or a static/dynamic SQL query.

For example, I have an end-point of famous Cocktail recipes. I have no idea where this data resides or what kind of database engine is behind it – it does not matter, I can access the end-point.

Armed with this end-point, using APEX, I can build a simple reporting Application in 5 minutes (going slowly).

APEX Cocktails

Similarly, if I had access to a PUT end-point, I can turn this report in to an in-line editable Interactive Grid and start contributing to this Cocktail database.

APEX Cocktails (1)

All Interactive Regions in APEX including the Interactive Grid turn users in power-users. With the controls at their fingertips, they can safely (i.e. without creating undue load on the database) shape their report to exactly how they want it and then start sharing, downloading, subscribing (i.e. scheduled automatic running of reports) and publishing public reports for their team to view.

The users do not have to hassle the developers to make minor modifications; this is where the shaping comes in. Users can bend the report to

  • Include computed columns
  • Add Highlighting; both row and text
  • Advanced filtering and sorting
  • Add Control Breaks & Aggregations/Totals
  • Pagination options
  • Excel style frozen columns & copy down

 

Shaken but not stirred? Let’s look at…

Styling

Remember the Cocktails application created in just a few minutes? Yep- that came with the latest Universal Theme that arrived with 61 pre-built templates.

What’s the Universal Theme? It’s a complete modern interface optimised for desktop, mobile devices of all screen sizes and super responsive. Those 61 templates resize, respond and flex to give you the advancements in UX science that you, as functional APEX developers, do not have to put an awful lot of thought in to.

It is the latest theme as I’m using the latest version of APEX. Expect around two releases a year and a handful of PSEs (Patch Set Editions). Each release of APEX usually includes several enhancements to the theme.

These enhancements may be new templates to support new functionality or what we’ve seen lately are templates supporting flashy new login pages or something small but powerful – like the new template options for switches (e.g. input items for Yes/No, On/Off, that sort of thing)

Did I not explain templates very well? Best explained with an example.

  1. I create a Switch page item with the label of “Are you enjoying this blog article?” I default it to Yes (of course).
  2. The label appears above the switch, I am not sure I like that, so I change the template from the default ‘Optional – Floating’ to ‘Optional’, which puts the label to the left of the switch.
  3. The switch looks a little small, I would like to increase it, I change the template option to set the size to X Large

Therefore, a template is a well-designed set of HTML+CSS built for the modern web. A Template option is a modifier, so that we do not have to select between 10+ templates for every variance of the switch.

Our previous wow-feature, the Interactive Grid, well, that also shared a template with the interactive Report and is designed specifically for that region. Each editable column in that grid, guess what, also has a template. Heck. The whole page has a template. All this hard work is abstracted away from the APEX developer.

Let’s recap. How much code have we written so far?

Zero. Not one line of HTML, JavaScript, CSS or PL/SQL

It’s not just another framework – It’ll out-compete your existing framework

Q. Give me an eBay style categorised faceted search page on Products for sale

A. Start the clock!

eBay Cocktails

Total time < 10 mins

I have created a report based on a SQL that includes two facets; one is mapped to category, another is a range selector that is mapped to list price. I also have a search filter to narrow the results down further. You can also base a faceted search on a REST endpoint. Do I feel super-powered? – Of course I do.

It’s Skill Enhancing – APEX Developers are in demand

A skill in demand is sometimes a niche skill. Not in this case – the demand for rapid APEX applications is surpassing the supply of APEX developers… and growing.

Q. I’m a Vue, React, Angular, insert-JS-Framework-here developer will my front end skills dilute?

A great APEX team is a collaboration of specialities. A great font-end developer complements an APEX team.

Some things, in fact many things, require the developer to leap out of the APEX framework and manipulate the DOM. what is the answer? JQuery (which, by the way is shipped with APEX). Hey, just like what you used to do with your existing JS framework.

Sometimes you want to call something outside of APEX, a chatbot, a virtual assistant a funky new visualisation, a payment engine – no problem – APEX is 100% web centric. You can reuse your existing front-end web skills.

Q. Oracle hmm? Don’t they make Databases. Yes indeed – the world’s best, most robust, scalable, self-driving, autonomous, etc. etc. So as you guessed, the Web-to-DB connectively is… seamlessly perfect.

Can I run APEX against other data sources? Yes, certainly, see REST section above. Explorer have created APEX applications which entirely exist on REST calls to a web service layer on other tech – e.g. NODE, NOSQL, SQL Server, etc. You still need a lightweight Oracle Database for APEX to function, but as I say, the data source can be external to the Oracle Database.

Rather than development being based around your IDE, APEX’s interface is based around Page Designer – a web IDE. In fact, other Oracle Tools are moving to web applications in this way too.

Oracle App Builder

What was that skill-enhancing thing? Being an APEX developer gives you instant full-stack experience. Here are some division examples:

Requirement Solution
Changing a background colour to Blue CSS
Dynamically changing the Browser Tab title to ‘Matts Cocktails’ JavaScript
Checking if the Switch Field exists JQuery
Showing the ‘Please Provide more details” textbox if you give my new Cocktail zero stars APEX Dynamic Actions
Partially updating parts of the screen APEX Dynamic Actions
Page Load or Page Processing APEX Declarative or Custom processes which may call server side PL/SQL Code
Sending an automatic email asking if you could realistically make a better cocktail than this one? APEX framework supports automatic emails and automatically manages a mail queue
A routine deleting all reviews of zero star cocktails after a month or so PL/SQL on the Oracle DB

So proof that being an APEX developer exposes you to all of the developer stack

One more things before we conclude…

One Solution fits all

No hunting around for that obscure charting framework that specialises in Polar Charts, or I’d really like something that can display tasks in a Gantt, or I’d like to popup a list of values and have to user pick something out of a report.

It really is a complete solution – all the above is featured in APEX of course and practically anything else can be achieved in APEX too with the use of community driven plugins that extend the features of APEX – abstracting away any complexities.

In terms of multilingual applications. Ten spoken languages are supported out of the box, dozens more through community projects and if you language is not readily available – e.g. Welsh. Then it just means you have a little bit more to translate and give back to the community.

Summary

If you are considering redeveloping, modernizing or extending an existing data driven application then check out APEX. You can contact Explorer for a demonstration (we do several of these every month).

If you are developing a bespoke data-driven application and are considering APEX, then great choice. Do also check out Explorer’s development services too.

Explorer can set you out on the right track, following patterns established over many successfully delivered APEX projects.

Many thanks for reading

 


 

Author: Matt Mulvaney

Job Title: Senior Oracle APEX Development Consultant

Bio: Matt is an experienced APEX solution designer having designed numerous complex systems using a broad range of Oracle Technologies. Building on his previous experience of Oracle Forms & PL/SQL, he is entirely focused on providing functionally rich APEX solutions. Matt promotes APEX as a software platform and openly shares best practises, techniques & approaches. Matt has a passion for excellence and enjoys producing high quality software solutions which provide a real business benefit.