February 14, 2018

Oracle MAF 2.5.0 Released

Oracle Mobile Application Framework (MAF) released a new version 2.5.0.
This is a major release containing a number of platform upgrades and enhancements, including the following:
  • A NEW release of JDeveloper is required
  • The embedded Cordova platform engines have been updated
  • Support iOS 11, iPhone X and Xcode 9
  • Support Android 8, and the Google Pixel C phone
  • For faster performance, MAF applications now evaluate EL expressions in the Java VM layer!
  • The inputDate component has been changed such that tapping the up arrow increases the value and the down arrow decreases the value. To keep the older behavior, there is a new attribute (legacyMode) whose value can be set to true.
  • Now support JDeveloper constructs to deploy MAF applications to the Universal Windows Platform, which means that you can deploy your application from the command line
Please refer to the What's New section of the developer guide for detailed information about the changes and how they may affect you.

For additional release information, such as release notes and certification matrix, please refer to the MAF documentation on OTN

January 26, 2018

Resolving or Invoking a Method Expression from a Managed Bean in Oracle MAF

[MAF 2.3.1]

I developed a mobile app using Oracle Mobile Application Framework (MAF) in which I had a requirement to invoke a method from a managed bean method. Below is the code snippet worked for me to do this.

public static Object resloveMethodExpression(String expression,
                                             Class returnType,
                                             Class[] argTypes,
                                             Object[] argValues) {
  MethodExpression methodExpression = AdfmfJavaUtilities.getMethodExpression(expression,
  return methodExpression.invoke(AdfmfJavaUtilities.getAdfELContext(), argValues);

  •  expression:  the managed bean method EL expression
  • returnType:  Class name of the return value of the method, can be null if it is void
  • argTypes: Class names of the input parameters need to be passed to the method if any. It would be null if there are no parameters
  • argValues: Input parameter values to be passed to the method if any. It would be null if there are no parameters

December 3, 2017

Issue: Simulator is running very slow on MAC

The Simulator is responding very slow on my MAC book while running apps. The issue here I found is somehow slow animations are enabled in the simulator. The solution for this is press "Command+T" on the simulator.  It may be simple and funny, but it worked for me. Try yourself :).