From marketing perspective this workshop gave a pretty good overview for what Oracle is doing in regards to concurring mobile platforms with Java. From technical perspective, the exercises we've done there were rather simple and could've been better ones - it would be more fun to build something with database connections and more sophisticated browsing.
Anyway, this is what was discussed about Oracle JDeveloper and its ADF Mobile Extension (ADF stands for Application Development Framework):
SOME MARKETING STUFF:
1. ADF Mobile components have sufficient number of widgets to build a decent application for iOS and Android from single code base.
2. Oracle implementation of mobile security seems to be the most shining component in the whole stack. Sorry, I can't say more than that because presentation of security features didn't really happen due to some technical issues.
3. Those who have experience working with Oracle ADF objects, could start doing things with Mobile ADF in no time at all.
4. Currently, Mobile ADF components can be used for generating application deployment packages only for iOS and Android. Windows 8 is not in the list. Not yet. Few years ago Oracle got ready for Windows 6 that had never come out! Now they want to wait and see if Windows 8 spills out of marketing campaigns and acquire some real popularity. If Windows 8 gets its market share, it would be relatively easy for Oracle, as they say, to accommodate it within their Mobile ADF.
5. GUI is done in Javascript, HTML5 and CSS3, so it's compatible with any current browser and mobile device. This is so called Hybrid Application when this kind of GUI works on top of a Java container that nicely communicates with whatever hardware is below. Platform-specific JVM is an old Java trick and in this case it's coupled with a widely used GUI technology.
SOME TECHNICAL STUFF:
1. Size of a final application ready to be deployed on a mobile OS would be around 10Mb+ because it includes headless Java Virtual Machine. JVM was cut off all GUI classes hence 'headless'. Basically, it's based on JavaME/JDK1.4 and has no Java5 features like collections and annotations.
2. Oracle mobile application would communicate with native OS and hardware resources (like email, camera, GPRS) via PhoneGap layer. Well, now it's PhoneGap but Oracle will switch it to Cordova because PhoneGap is owned by Adobe and there are some license related issues with that.
3. Mobile ADF Components are free only for developing prototypes. Any plans for using them within commercial products have to be discussed with Oracle sales people.
CONCERNS:
1. Every single mobile app built with Mobile ADF would come with its own JVM... Is that good? Or it doesn't matter? I'm not quite sure... Mobile operating systems are multi-threaded now. Some apps may run in the background tracking your location, popping up messages, making alerts. In a year time, an average phone might have, say, 25 apps constantly running in the background. Would it be good (size-wise, efficiency-wise) if some of them contain their own run-time environments? It's like to run few Eclipse IDEs at once on a desktop, isn't it?
2. Price is always the issue. Small businesses may not like it. Big businesses may stick to their existing development platforms, whatever they currently use.
ADVANTAGES:
Well, there are four actually:
1. Generation of hybrid-native deployment packages from a single code base. It does sound a bit scary, especially for those companies that already have separate iOS and Android development teams. Will that 'single code base' really work? Hmm... it's hard so say... but there is always an alternative - just start hiring Windows 8 team now.
2. Maybe it's true and Oracle mobile security solutions really stand out on the market (this needs to be confirmed...).
3. Millions of Java developers can apply their skills in mobile sector, and
4. The whole thing is backed by Oracle and it's not about to disappear from this market. What does that mean? Well, Cordova is open source - its future is not quite certain. PhoneGap belongs to a bit unpredictable Adobe - people still remember what they have done with Flex.
Probably it's time to check what ApplicationCraft is...