As you may already know Oracle Mobile Application Framework
(MAF) 2.3 has been
released. And one of the symbolic features is support for Universal Windows
Platform (UWP). This means that starting from MAF 2.3 you can deploy your apps
to Windows 10 desktops and tablets along with Android and iOS platforms. This
is really good news and aligned with promise of single code base for multiple
So I’ve tried to deploy a couple of MAF apps to
Windows 10 and in this post I will share my experience with you along with the some
guidelines which could be useful. So let’s start.
MAF apps to Windows Platform your infrastructure must fulfill some
requirements. They are described in official doc, but I will comment each point
according to my experience:
computer with x86 architecture running the Windows 10 operating system.
Be careful here, x86 means that along with your
x86 development machine, your target
device for deployment also must have x86 architecture. What does this mean?
You cannot deploy your apps on ARM based devices running Windows 10 Mobile
platform. But you can deploy your app to the large set of x86-based laptops and
tablets running Windows 10 with Intel processor. For example this is Windows Surface Pro 3 tablet which is certified with MAF.
Please check MAF 2.3. certification matrix for additional information about
supported platforms. For development machine I’ve used Windows 10 Pro platform
and deployed my MAF apps to the same machine. If Windows 10 is not your primary
OS, do not be a shy person to use virtualization and create e.g. Virtual Box
VM and install Windows 10 OS within it. Also be careful here as you need to
create Windows 10 x64 VM, but not
x32, as JDeveloper 12.2.1 IDE supports x64 platforms. Check JDeveloper 12.2.1 certification matrix for additional info.
- Microsoft Visual Studio 2015 (Enterprise,
Professional, or Community edition)
- MSBuild 14.0 (automatically installed with
Visual Studio 2015)
- Visual Studio Tools for Universal Windows
Apps (an optional component when installing Visual Studio 2015)
Two components above are available within Visual
Studio 2015 installation. So you need to go to: https://www.visualstudio.com/products/vs-2015-product-editions, then download online installer and
lunch it to start installation process. Note that you also use free VS
Community Edition. Make sure that you select Universal Windows App Development Tools and Windows 10 SDK components. And be ready to allocate at least 20GB
on your hard drives to install all required VS components! JDeveloper seems to
be so lightweight IDE after experience with VS J.
- JDeveloper 188.8.131.52.0
You need to download Generic or Windows based JDeveloper
and then install the JDeveloper IDE. If you use Windows based installer, then
JDK 1.8 will be included within the installation package, otherwise if you use
Generic installer you need to download and install JDK 1.8 separately before
installing JDeveloper. Please check the documentation for additional info.
- Oracle JDeveloper extension for MAF
The last required component is MAF 2.3
extension for JDeveloper 12.2.1. Installation process here is rather simple and
fully described in documentation.
- Creating and installing a PFX file
Once you have installed all required components
you need to create a Personal Information Exchange (PFX) file that is needed to
sign Universal Windows Platform (UWP) based MAF applications.
This step basically consists of 2 stages:
- Creating Windows proprietary private key file
and X.509 certificate
- Converting certificate and the private key
files into a PFX file
I do not want to duplicate official documentation here as it has good explanation of
Once you’ve created a certificate, you need to
copy PFX certificate to a certificate store. Just double click on your created
PFX file and go through the steps of Certificate
Note that you need to install certificate for current user with personal store, current
user with trusted store, local machine with trusted store.
User or Local Machine option
here. Note that Local Machine option
will require additional confirmation from Windows
User Access Control to allow app to make changes on your machine. Click Next button.
Then you need to specify the location of
created PFX file. Click Next button.
On the next
step you need to enter a password, which you’ve defined when creating the PFX
file if required. Also ensure that Included
all extended properties is checked and click Next button.
Specify a store location for certificate and
click Next button.
Finally click Finish to import certificate.
Mode in Windows environment
By default Windows allows to execute apps which
come from Windows Store of trusted sources. If you are going to develop and
deploy apps you need to enable Developer Mode which allows you to deploy apps
in debug mode and install and run apps from unofficial sources (using
To activate Developer Mode, go to Start -> Settings console in Windows and select Update & Security item.
Then navigate to For developers section and select Developer mode option.
Last step which you need to do before you will
be able to deploy your apps is configuring JDeveloper IDE. So launch JDeveloper
and go Tools -> Preferences… menu
item. Then navigate to Mobile
Application Framework -> Windows Platform item. Here you need to check that Windows SDK location
is defined properly. Also you need to define location and password for PFX
certificate created earlier. You can use the same self-signed certificate for
debug and release mode if you are planning to deploy your app on your
development machine/device. If you are going to distribute your application you
need to consider a certificate issued from trusted authority.
to Windows Platform
Well, we’ve done a lot of work on environment
installation and configuration so we can move now to our final and very easy
step: MAF application deployment on Windows. For these purposes was added a new
type of deployment profile for Windows. Your app project will have default
deployment profile Windows1 which
you can use, or you can create and configure your custom profile.
Navigate to Application -> Deploy -> Windows1 in JDeveloper and then
select Deploy application to local
Once deployment process is done application
will be launched. For testing purposes you can try to deploy WorkBetter application from MAF public
Stay tuned and be happy with your MAF