Microsoft Power Apps and Oracle APEX
The use of low code tools to create an application is increasing every day and we see new tools and frameworks being released to the market regularly, now more than before is necessary to know the weakness and strengths of each tool to be confident we are choosing the tool that matches the best our technology stack and developers’ skill set.
Before starting, if you have questions about the low code approach, please take a look at this blog where we talk about what is low code and common question people have about it.
In this blog, we are going to explore what Microsoft and Oracle have to offer us in this fascinating growing market of low code platforms.
Main focus and target audience
The usual target audience for low code frameworks are citizens (non-professional) and professional developers. The target audience and main focus affect directly the features the low-code framework has to offer, for example, some frameworks are more inclined to help professional developers, they put attention to features such as source control, maintainability and customizability. On the other hand, other frameworks are more inclined to help citizen developers offering more visual and drag and drop features with little or no manual control at all.
Power apps and Oracle APEX are built different, in my opinion, these are their product focus and core features.
APEX resides in the database where the data is, so we can take advantage of all the Oracle Database capabilities, if your data is not in the Oracle Database that is not a problem, you can get the data calling a web service, using a Database link or any other way to import or share data in Oracle Database.
APEX offers declarative features for the citizen developers, for example, it has wizards to guide you through creating master-details and other fantastic features, in spite the learning curve is not stiff and you probably can train non-professional developers to create great applications, I would not consider APEX main target audience to be citizen-developers.
Few software vendors have the position Oracle has, which permits them to create a low-code platform where the front-end and server side are well merged for executing a stored procedure with business rules or retrieving data from query to show it in a report to the users is effortless. Oracle took advantage of their reliable and well-known database to deliver a killer feature such as APEX. It should be considered a strong option when choosing a platform to create a data-centric web application in a cost-effective way.
Microsoft Power Apps is aimed to help citizen developers to create internal applications taking advantage of the whole Microsoft Power platform which includes Power BI, Power Automate and Power Virtual Agents. Microsoft presents a solution for the users to get more value from their data, gather information, automate processes, and even create chat bots. Since the first day I tried Power apps, I was amazed at how well they have kept the same user experience when creating an app than when I am using any of their office suite apps e.g. Word and Outlook.
The language that Power apps use is called PowerApps script and is similar to Excel formulas, so if a user is familiar with Excel formulas, they will feel more at home with Power Apps than with other low-code platforms. You use this language to drive client-side behaviour e.g. handle the size of a component and even execute server-side calculations or filtering if the data source supports delegation. e.g. it delegates the filtering to SQL Server to improve performance instead of bringing the whole data set to Power apps and applying the filters there. This language is another layer of abstraction that Microsoft uses to hide complexity and decrease the learning curve needed to start to generate value, from a citizen developer point of view it is great, but from a developer point of view, I have mixed feelings about it.
Non-professional developers, business and office people have been using excel for years to keep track of things like purchasing orders and inventories. I am sure that more than one time when we are gathering requirements for a software project the customer has sent a bunch of Excel files with macros and calculations saying this is how we keep track of our data, even sometimes when the company is already using a software to do that, the user always likes to download the data and make data transformations with Excel.
Power apps give us access to a vast range of data sources through something called connectors, you can show and modify data in an Excel spreadsheet stored in One Drive or directly from a table connecting to a SQL Server database.
Power apps offer customization options for professional developers and has great integration with Azure to extend the framework capabilities, but I would not consider that to be its core feature, for example calling a SQL Server stored procedure is cumbersome and creating a menu for a canvas app is not out of the box, I will talk about this and other limitations in the second part of my blog series.
Microsoft has a great position to provide a low-code framework where non-professional developers feel familiar with and can take advantage of, we have been using their office tools for decades and they nailed it with Power Apps. I read in the Power platform this quote “Give everyone the ability to create solutions that accelerate business” and in my opinion, they are fulfilling it. If you are looking for a low-code framework to allow your internal users to create apps, Microsoft Power Platform should be in your top list.
Both Microsoft and Oracle offer great tools, some of their functionalities overlap each other but their main focus is different, there is no an overall winner if comparing each framework against all the possible use-cases because each of them perform better in some and worse in others. To choose the tool that fits our organisation the best, we need to define the problem that has to be solved and compare how that tool performs solving that problem.
Alexis is an Development Consultant at Explorer. Alexis has developed plenty of mission critical applications for the financial sector.
He is passionate about Web technologies and Oracle APEX, and utilises them to provide to the customers a high quality software solution.