last modified: 2018-03-16

EMLyon logo corp

 

1. Explaining the workflow

We are developing an app on NetBeans, with a plugin with installed, called "Codename One".

But how do we go from there to an app available on the Play Store (for Android phones and tablets) or Appe’s App Store (for iPhones and iPads)?

The workflow has several steps:

  • we design our app in NetBeans until we are satisfied with it and ready to test it on a phone

  • then, we choose in NetBeans if we want to create an Android or an iPhone version of our app.

  • we send our app to www.codenameone.com which is the website of the company providing the plugin we use.

  • Codename One transforms our app into an Android app or iPhone app (depending on what we selected). In practice, it is a single file which is created.

  • we can download this file on our own phone if we want to test the app.

  • or we download this file and place it on the website of the App Store or the Play Store if we want to release the app publicly.

These steps can be illustrated simply:

testing or releasing an app for Android or iPhones
Figure 1. testing or releasing an app for Android or iPhones

 

So we see that there is a few interconnected parts: NetBeans, the website of Codename One, the app platforms by Google and Apple…​

We present you now the setup you need to test and release your app, common to Android and iPhone app releases.

You will need some additional steps specific either to Google or Apple’s app platforms, but we leave these for separate lessons.

2. General setup

a. Create a free account on Codename One

Codename One is the company providing the open source plugin we use in NetBeans.

Codename One will convert our app into an Android app. So we need to create an account with them.

They have several pricing plans:

  • the free plan. It gives you access to everything but puts a size limit on your app.

  • the basic, pro and entreprise plans, which give extra capabilities.

In the CODAPPS course we use the free plan.

To create your account, go on www.codenameone.com and just sign up for an account:

The codename one website
Figure 2. The codename one website

 

Make sure you remember the email and password you used to sign up as we will need them later.

b. Connect NetBeans to your Codename One account

In NetBeans, right click on the name of your project and select Properties:

Accessing the properties of your project
Figure 3. Accessing the properties of your project

 

Codename One properties
Figure 4. Codename One properties

 

A login window opens. You should enter the email and password of the account you created on the Codename One website (see above in the lesson).

This is how NetBeans will be able to send the app you created to the Codename One website!

testing android 3
Figure 5. Entering your Codename One credentials

 

Then close all the windows we opened by clicking on OK.

c. Set up your phone to accept apps from unknown sources

This step is necessary only for testing the app on your phone. For security reasons, your phone accepts to install only apps coming from official app stores.

You must unlock this feature so that you can test your own app.

The latest versions of your phones might invite you to unlock when you are installing your app, but on older phones you need to do it beforehand:

  • go to the parameters of your phone

  • in the security settings, switch on the "install from unknown sources".

This website provides an illustration for Android phones:

(Depending on your phone and version of Android, your screens will look slightly different)

Make sure to switch off this parameter after you installed your app.

d. Install a QR code reader on your phone

QR codes are very common and you surely have seen them before, they look like:

qrcode
Figure 6. An example of QR code

 

We need an app on our phone to read QR codes, because this is how we will transfer our app onto our phone (fancy!).

Just go on the App Store, search "QR code", and install a free app doing QR code reader.

3. Anticipating the differences between Google Play and Apple’s App Store

Apple and Google have two different business strategies for their app stores:

Table 1. Comparing Apple and Google’s strategy for their app store
Google’s Play Store Apple’s App Store

Developer program membership (price to pay)

one time payment of 25$

90$ every year

Testing the app on a phone is possible without a membership

yes

no / very difficult

Google’s Play Store Apple’s App Store

Tools needed for the release

PC, Mac or Linux

Mac only

Policy to accept apps on the Store

all apps are welcome

Apple rejects the app if it does not provide a "valuable" service

Time to get the app on the Store

3 hours

several days

We see a pattern here:

  • Google has an approach where apps are like websites: everyone has the right to publish one, as long as they are legal / not offensive etc. This makes for a very large app store, with apps which are of varying quality.

  • Apple has a qualitative, closed approach. They decide who has the right to enter their ecosystem, and they reject what they consider to be "low quality" apps.

These different strategies have consequences for operational and financial figures:

  • Google Play includes a large volume of apps, with low revenues per app (because many apps are simple and non pro)

  • Apple’s App Store includes fewer apps, but these apps are carefully selected and often made by companies which make revenues from them

Google and Apple have different strategies for their app stores
Figure 7. Google and Apple have different strategies for their app stores

 

And there are consequences for developers like you as well:

  • it is relatively easy and cheap to release an app for Android phones and tablets

  • it is much trickier to release for Apple’s App Store, or even to test your app on your own iPhone!

The next lessons will guide you through the process of testing and releasing your app in both cases, but be prepared for a longer process in the case of Apple.

The end

Questions? Want to open a discussion on this lesson? Visit the forum here (need a free Github account).

Find references for this lesson, and other lessons, here.

Licence: Creative Commons, Attribution 4.0 International (CC BY 4.0). You are free to:

  • copy and redistribute the material in any medium or format

  • Adapt — remix, transform, and build upon the material

⇒ for any purpose, even commercially.

round portrait mini 150 This course is designed by Clement Levallois.

Discover my other courses in data / tech for business: http://www.clementlevallois.net

Or get in touch via Twitter: @seinecle

site
    stats