When I did some talks last year, I got the question "When would you NOT use Oracle Application Express (APEX)?".
I created a draft message in my blog posts as I found it interesting getting this question. I never posted it, but now I decided to post something about it.
During the last days the question popped up again, more than once, so I decided to ask for new ideas ;-)
I find it a difficult question for a person who's passionate about a technology!
So what do I normally answer?
As some smart people often say, ask questions! Why would you like to do this? What's it what you would like to achieve? etc. So during the first minutes I ask questions ;-)
Most of the time they insist to give more answers. It can't be true that you can use APEX for everything! To be honest, I don't think APEX is a good fit in every situation, but to name these situations that's something else.
If I would say... I wouldn't use APEX:
- when your team exists out of JAVA and/or .NET developers
- when the requirements are a rich client application
- when you don't have a data centric approach
- when you need to program for a specific device (calculator, hospital equipment etc.)
- when you've high trough put of data (like the typical old Cobol programs)
- when you hate the Oracle database (because you want to restart another database every week and love the blue screens - job protection)
- when you're a freelancer and want a long term project to finish a job (doing it in APEX you'll get only half the money as you would spent only half the time to have the same result)
- when you want different plugins to install just to get your application running (only a browser is too easy!)
- when you want to change technology very often (java, bc4j, swing, uix, jsf, adf, ...)
- when your company has too much money to spent on an application and the infrastructure (although Apex Evangelists can offer you a FREE service to help you spend the money)
(would the above ALWAYS be correct? Of course not...)