Android and iOS App Development Explained - E

advertisement
Android and iOS App Development Explained
A Guide for Teachers and Trainers
E-standards for Training
V 1.0 June 2013
flexiblelearning.net.au
Android and iOS App Development Explained
Acknowledgements
On behalf of the National VET E-learning Strategy, the New Generation Technologies for
Learning business activity wishes to acknowledge and thank the author of this guide Axel
Bocciarelli together with participants from across the Australian vocational education and
training (VET) sector, including the E-standards Expert Group key contributors David
Appleby, Vijendra Lal, Lee Webster, and the business activity’s Bronwyn Lapham.
Grateful acknowledgement is also extended to those who provided feedback and comment
through their jurisdictional representatives, and to those who responded to the survey.
With the exception of the Commonwealth Coat of Arms, the Department’s logo, any material protected
by a trade mark and where otherwise noted all material presented in this document is provided under
a Creative Commons Attribution 3.0 Australia (http://creativecommons.org/licenses/by/3.0/au/)
licence.
New Generation Technologies for Learning
incorporating E-standards for Training
National VET E-learning Strategy
Android and iOS App Development Explained
Table of Contents
1 Background ....................................................................................................... 1
1.1 National VET E-learning Strategy ............................................................................ 1
1.2 New Generation Technologies for Learning Business Activity ................................ 1
2 Introduction ....................................................................................................... 2
3 What is an ‘App’? .............................................................................................. 2
3.1 Native apps .............................................................................................................. 2
3.2 Mobile web apps ...................................................................................................... 3
3.3 Hybrid apps .............................................................................................................. 4
3.4 Summary .................................................................................................................. 4
4 Developing an App ............................................................................................ 5
4.1 Standard native app development ........................................................................... 5
4.2 Mobile web app development .................................................................................. 8
4.3 From web to hybrid ................................................................................................ 11
4.4 No coding required ................................................................................................. 14
4.5 Exploring alternatives… ......................................................................................... 17
5 Deploying an App ............................................................................................ 19
5.1 iOS ......................................................................................................................... 19
5.2 Android ................................................................................................................... 21
5.3 Web Apps............................................................................................................... 22
6 Survey results ................................................................................................. 23
6.1 Teacher/Trainer responses .................................................................................... 23
6.2 Other Stakeholders’ responses ............................................................................. 23
More Information ................................................................................................ 25
New Generation Technologies for Learning
incorporating E-standards for Training
National VET E-learning Strategy
Android and iOS App Development Explained
1 Background
1.1 National VET E-learning Strategy
The National VET1 E-learning Strategy (Strategy) aims to strengthen the Australian
training sector’s use of new learning technologies and leverage opportunities
provided by such projects as the National Broadband Network (NBN) to make major
advances in the achievement of government training objectives.
The Strategy seeks to build the capability of registered training organisations (RTOs),
industry and community stakeholders to create more accessible training options and
facilitate new ways of learning through technology. It also aims to stimulate elearning ventures to support individual participation in training and employment, and
the alignment of workforce skill levels with economic needs.
The Strategy is driven by the vision:
A globally competitive Australian training system underpinned by
world class e-learning infrastructure and capability.
and has the following three goals:
1. Develop and utilise e-learning strategies to maximise the benefits of
the national investment in broadband.
2. Support workforce development in industry through innovative
training solutions.
3. Expand participation and access for individuals through targeted
e-learning approaches.
1.2 New Generation Technologies for Learning Business
Activity
The New Generation Technologies for Learning Business Activity incorporates the
existing E-standards for Training activity and primarily contributes to Goal 1 of the
National VET E-learning Strategy. It has the following objective:
Support the capacity of the VET system to use broadband and emerging
technologies for learning, through research, standards development and advice.
1
Vocational Education and Training
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 1
Android and iOS App Development Explained
2 Introduction
This guide has been written with the aim of clarifying some of the options and
considerations involved in developing apps for the two (currently) most widely used
mobile device operating systems in Australia. Its intended audience is teachers and
trainers in the Australian VET sector.
The guide was developed in May-June 2013. The mobile device environment is
evolving extremely rapidly, and that should be taken into consideration when
considering the information provided.
In the same way that WYSIWYG and drag and drop authoring environments have
been developed for web pages and blogs etc., it is reasonable to expect that in future
the same will occur for mobile platforms. In this researcher’s opinion, however, at this
time there are no authoring tools for native apps that are readily useable by nontechnical people. Please review sections 4.4 and 4.5 for simpler mobile web app
environments or alternatives.
3 What is an ‘App’?
‘App’ is an abbreviation of application. In a traditional sense, it designates a piece of
software, but nowadays the term tends to include mobile web apps (a specific type of
website that can be used via a mobile browser).
The word is often also used (incorrectly) to describe widgets, interactive eBooks, and
other items such as shortcuts to normal websites, perhaps because these items may
appear on the device’s home screen next to real apps. We will mention them again
later in this document.
From a technical point of view, the three main types of app on mobile are native, web
and hybrid. Each has its strengths and weaknesses, described in the sections below.
Further reading:

Native App vs. Mobile Web App: A Quick Comparison
http://sixrevisions.com/mobile/native-app-vs-mobile-web-app-comparison/

Native Apps vs. Mobile Web: Breaking Down the Mobile Ecosystem
http://www.wired.com/insights/2012/11/native-apps-vs-mobile-web/

Developing Mobile Applications: Web, Native, or Hybrid?
https://blogs.oracle.com/fusionmiddleware/entry/developer_s_corner_develop
ing_mobile
3.1 Native apps
Users download and install native apps via their platform’s online store (e.g. Apple’s
App Store, Google Play, etc.).
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 2
Android and iOS App Development Explained
A native app is developed to work on a specific platform (iOS, Android, etc.) It is
written in an advanced programming language such as Objective-C for iOS, Java for
Android and C++ for Windows Phone, which is one reason they are usually relatively
difficult and expensive to create.
Native apps have the advantage of offering fast performance and direct access to the
device’s software and hardware. For instance, they can efficiently launch and interact
with other apps (calendar, gallery, etc.), and collect data from the various available
device-specific sensors (device orientation, camera, geolocation, gyroscope, etc.)
3.2 Mobile web apps
Web apps are written in the same languages as websites (HTML, CSS, JavaScript,
etc.) and are therefore interoperable across devices (i.e. the same app can be used
on an iPhone as well as on Android).This often makes them easier and cheaper to
produce than native apps, which only work on their specific platforms.
Mobile web apps are usually more dynamic and interactive than traditional websites.
They are also optimised for mobile devices and their touch screens. For instance,
they may:

mimic the look and feel of the device’s user interface (its buttons, standard
icons and controls)

provide large buttons and controls that can be triggered easily with fingers (as
opposed to a mouse)

use animations and screen transitions

interact with some of the device’s software and hardware.
Mobile web apps can usually be accessed via a normal URL in any browser. Modern
mobile browsers also provide ways to create home screen icons for web apps, to
make them more easily accessed. If it has been developed appropriately, once a web
app is available from the home screen it becomes stand-alone. That is, the next time
it runs, the web browser’s interface (address bar, toolbar, etc.) disappears to let the
app take up the entire screen. The main issue with web apps is that they are not
generally distributed on the Apple App Store and Google Play, and therefore are
unlikely to reach the wide audience these platforms provide. This is mostly only a
problem for commercial apps though, since web apps can still be distributed through
other channels (cf. section 5.3.)
Thanks to HTML5, the popularity of mobile web apps is increasing rapidly. The
technology allows them to behave more and more like native apps. For instance, if
they are built appropriately, web apps can run offline – when the device is not
connected to the Internet. HTML5 also allows easier access to the device’s software
and hardware, like its camera, geolocation and orientation.
Unfortunately, because they run inside browsers and are written in non-native
languages, mobile web apps do not perform as well as native apps. For example,
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 3
Android and iOS App Development Explained
animations in native apps have been developed in the native code of their platform
and with complete understanding of the way their platform handles graphic
operations. As a result, these animations are guaranteed to run smoothly and to have
a very limited impact on the performance of the apps themselves. By contrast,
animations in web apps are written in JavaScript, which is not a native language.
This creates an additional layer of processing, which can result in non-smooth
animations and a performance hit for the apps. This difference in performance is not
limited to animations, even though it is where it is the most significant.
Finally, even though HTML5 is slowly filling the gap, mobile web apps have limited
access to devices’ software and hardware, which limits their range of applications.
3.3 Hybrid apps
Hybrid apps sit between native and web apps. They solve some of the limitations of
mobile web apps, while avoiding the constraints of native apps. Specifically, they can
be distributed on their platform’s app store like native apps, and do not run inside a
web browser like mobile web apps.
Moreover, hybrid apps are written in web languages and can therefore be deployed
across multiple platforms. This makes them relatively cheap and quick to produce
and allows them to reach broader audiences than native apps. They also have
slightly better performance than mobile web apps, especially when it comes to
communicating with the device’s software and hardware.
3.4 Summary
Native
Mobile Web
Hybrid
No
Yes
Yes
Platformspecific
Web
Web
Official app stores deployment
Yes
No
Yes
Icon on home screen
Yes
Yes
Yes
Stand-alone
Both
Stand-alone
Performance
High
Low
Average
Access to device’s
software/hardware
Yes
Limited but
increasing with
HTML5
Yes
Interoperable (cross-platform)
Programming language
Stand-alone or browser-based?
Table: Comparison of attributes of various types of mobile apps
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 4
Android and iOS App Development Explained
4 Developing an App
Many options are available for producing mobile apps. Most of them require a
moderate to advanced skill level in programming, but new tools are starting to appear
that bring app development – at least mobile web apps - within reach of a nontechnical public.
This section describes a number of app development processes as well as their
corresponding tools, and provides links to external resources and tutorials.
4.1 Standard native app development
This process consists of developing an app from scratch that will work on a single
platform, using the programming language of that platform. This is the longest and
most difficult process. It requires advanced programming skills, and is very limited in
the sense that if the app has to work on both iOS and Android, it has to be developed
twice (once in each language).
4.1.1 iOS
iOS apps are developed in the Objective-C programming language using Apple’s
integrated development environment (IDE) called Xcode. This IDE contains
everything required to develop and debug an iOS app, including emulators of Apple
devices so the app can be tested directly on a computer without having to transfer it
to a physical device. Note that Xcode is currently only supported on Macintosh OSX.
Testing an app in development on a real iOS device requires the device to be
provisioned – it must be identified and authorised as a testing device by linking it to
an Apple Developer account ($99/year).

Download Xcode on the Mac App Store
https://itunes.apple.com/us/app/xcode/id497799835

iOS Developer Library
Official resources (guides, tutorials, Application Programming Interfaces
(API), etc.) for iOS development
http://developer.apple.com/library/ios/

Start Developing iOS Apps Today
Official roadmap for developing and publishing iOS app – this is a great
starting point
http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadM
apiOS/chapters/Introduction.html

Your First iOS App
Official tutorial for creating a simple iOS app with Xcode
http://developer.apple.com/library/ios/#documentation/iphone/conceptual/ipho
ne101/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 5
Android and iOS App Development Explained

Hello World! Build Your First iPhone App
Tutorial for creating a Hello World! iOS app
http://www.appcoda.com/hello-world-build-your-first-iphone-app/

Programming with Objective-C
Official introduction to Objective-C programming
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Pr
ogrammingWithObjectiveC/

Ry’s Objective-C Tutorial
Complete and comprehensive introduction to Objective-C
http://rypress.com/tutorials/objective-c/
Apple has put a great deal of effort into accessibility for people with differing physical
requirements on iOS. In fact, an iOS app is mostly accessible by design, assuming it
makes use of standard interface elements. In this case, complete accessibility can be
achieved by applying a small set of rules and guidelines. For more advanced apps,
Apple supplies a very powerful and easy-to-use accessibility Application
Programming Interface (API).

Accessibility Programming Guide for iOS
Complete, official guide to accessibility on iOS
http://developer.apple.com/library/ios/#documentation/UserExperience/Conce
ptual/iPhoneAccessibility/

A great tutorial on making accessible iOS apps
http://useyourloaf.com/blog/2012/04/23/voiceover-accessibility.html
4.1.2 Android
Android apps are developed in Java and XML using the Android Software
Development Kit (SDK), which includes a debugger, a device emulator and the
required code libraries. Android apps can be developed with nothing but the SDK and
a simple code editor; however, it is much simpler to use an Integrated Development
Environment (IDE). The three main IDEs that support Android development are
Eclipse, NetBeans and IntelliJ IDEA. Note that Eclipse and NetBeans both require
the installation of a separate plugin. (The Eclipse plugin is called Android
Development Tools, or ADT.)

Android Developers
Official resources for Android developers
http://developer.android.com/

Building your first app
Official tutorial for creating a simple Android app in Eclipse
http://developer.android.com/training/basics/firstapp/

Download a bundle that includes Eclipse, the ADT plugin and the Android
SDK
http://developer.android.com/sdk/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 6
Android and iOS App Development Explained

Download NetBeans
http://netbeans.org/downloads/

How to setup NetBeans for Android development
Tutorial on installing the Android plugin in NetBeans
http://gerry.ws/2009/01/1074/how-to-setup-netbeans-for-androiddevelopment.html

Download IntelliJ IDEA
http://www.jetbrains.com/idea/download/index.html

Android Development Tutorial
Complete and comprehensive introduction to Android development
http://www.vogella.com/articles/Android/article.html
Similarly to Apple, the Android platform has great accessibility support. Android apps
are also mostly accessible by design, provided that developers follow a simple set of
rules and best practices. A dedicated Application Program Interface (API) is also
available for complex cases.

Making Applications Accessible
http://developer.android.com/guide/topics/ui/accessibility/apps.html

Accessibility Developer Checklist
http://developer.android.com/guide/topics/ui/accessibility/checklist.html
4.1.3 Development environments review
Publisher
Operating System
Output platform
Xcode
Eclipse + ADT
plugin
NetBeans
IntelliJ IDEA
Apple
The Eclipse
Foundation
Oracle
Corporation
JetBrains
Mac OS X
Cross-platform
Cross-platform
Cross-platform
iOS
Android
Android
Android
Free
Pricing
Ease of use2
(1-5, 1: easy, 5:
hard)
Must be part of
iOS Developer
Program
($99/year)
Free
(open source)
Free
(open source)
3
3
3
Community
Edition: free
Ultimate Edition:
free for education
2
Table: Attributes of major native app integrated development environments
2
These “Ease of use” ratings are the opinion of technical developers
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 7
Android and iOS App Development Explained
4.2 Mobile web app development
As explained previously, web apps can be described as highly interactive websites
optimised for mobile devices. The most common techniques for creating mobileoptimised websites are:

server-side adaptation,

Responsive Web Design (RWD),

client-side adaptation, and

progressive enhancement.
We’ll describe the first two in this section then introduce mobile web frameworks –
tools that are designed to make the process of creating web apps faster and easier.
Any web development application like Adobe Dreamweaver, Aptana Studio or even
Eclipse can be used to develop mobile web apps. For small projects, a simple text
editor like Notepad++ might be sufficient for an experienced web developer.

Download Aptana Studio
http://www.aptana.com/products/studio3/download

Download Notepad++
http://notepad-plus-plus.org/download/v6.3.html

W3Schools
One of the best websites for learning web development; covers most
languages and technologies; great resource for web developers of all levels
http://www.w3schools.com/

Sitepoint
This site is rich with tutorials in web languages and forums for discussion with
other developers
http://www.sitepoint.com/
The World Wide Web Consortium (W3C) develops and maintains the open standards
that underpin the Internet. Their recommendations for building standards-compliant,
accessible websites also apply to building web apps. In addition to these
recommendations, the W3C also provides a set of very useful best practices for
mobile web app developers.

All Standards and Drafts
http://www.w3.org/TR/

Web Content Accessibility Guidelines (WCAG) 2.0
http://www.w3.org/TR/2008/REC-WCAG20-20081211/

Mobile Web Application Best Practices
http://www.w3.org/TR/mwabp/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 8
Android and iOS App Development Explained

Relationship between Mobile Web Best Practices (MWBP) and Web Content
Accessibility Guidelines (WCAG)
http://www.w3.org/TR/mwbp-wcag/
4.2.1 Server-side adaptation
The idea behind this technique is to build a distinct mobile version of a desktop
website and display it instead of the latter in mobile browsers. This is achieved using
a process called device detection: when a request is received by the web server (for
example the request that is sent when following a link on a web page), it is analysed
to determine from which kind of device it was sent; the server then returns the
version of the website that is the most appropriate for that device. Because of its cost
and complexity, this technique is mostly used by large companies such as Facebook
or Twitter, for which it is critical to provide highly customised experience to every
single user. For less critical applications, the technique is quickly being replaced by
more recent and more easily implemented techniques such as Responsive Web
Design.

Server-Side Device Detection: History, Benefits And How-To
Deep article on server-side adaptation and other adaptation techniques
http://mobile.smashingmagazine.com/2012/09/24/server-side-devicedetection-history-benefits-how-to/
4.2.2 Responsive Web Design (RWD)
A website developed using this technique can be viewed on both mobile devices and
desktop computers. Instead of having separate versions of the site, only one version
is produced that can adapt to any screen size. RWD is a growing topic in the world of
web design and development, and the Web abounds with resources and tutorials on
the subject.
The main tools behind responsive web design are media queries. They are part of
the W3C’s CSS3 specification, which is not yet final. Media queries give the
developer the ability to choose which way content is displayed, depending on the
user’s device specifications. A sub-technique of RWD, called mobile-first RWD, is
becoming very popular and is based on the argument that it is easier to design a
website for mobile first and then adapt it to bigger screens (i.e. go from a simple to a
complex layout), than to do the opposite.
Note that RWD is only suitable for relatively simple web apps because the complexity
of the development and maintenance process increases exponentially with the
number of features and interactions being implemented. The amount of code can
quickly get out of hand, for example because of cross-browser issues (each web
browser on each platform displays web pages differently), or because some widget
or interaction has to be specifically designed to work at particular dimensions.
A main benefit of responsive web design is also a limitation; because the same
HTML content is provided to both mobile and desktop users, some components of
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 9
Android and iOS App Development Explained
the interface often have to be tweaked or even completely rebuilt with JavaScript
after the page has loaded. This in turn can quickly affect performance and therefore
reduce the quality of the user experience.

Responsive Web Design – A List Apart
http://alistapart.com/article/responsive-web-design

Responsive Web Design: What It Is and How To Use It
Includes a showcase of responsive websites
http://coding.smashingmagazine.com/2011/01/12/guidelines-for-responsiveweb-design/

RESS: Responsive Design + Server Side Components
Introduces the technique of using both RWD and server-side adaptation
http://www.lukew.com/ff/entry.asp?1392
4.2.3 Mobile web frameworks
Mobile web frameworks, also called mobile UI (user interface) frameworks, provide
authoring environments for creating complex web apps quickly. They come with reusable building blocks, for example interface components (buttons, drop down
menus), animations, media integration, etc. that can easily be arranged and
customised, in order to considerably simplify the coding process. Some critical
aspects of web app development, such as interoperability across browsers and
devices, become entirely transparent. This means that developers can focus on other
important aspects such as content, user experience and accessibility.
It is difficult to choose between one framework and another as they all produce
similar results (i.e. cross-platform mobile web apps with the same functionalities).
However, some are more advanced than others.
For instance, Kendo UI uses client-side adaptation to adapt the look and feel of the
app depending on the platform (contrary to server-side adaptation, the detection of
the device is done on the client side, with JavaScript). Other frameworks, like jQuery
Mobile and iUI, provide pre-made themes for each platform, but they cannot switch
from one to the other dynamically like Kendo UI does. This means that if you choose
an iOS theme for your app, it will look like an iOS app even when viewed on an
Android device. This might be very confusing for the user. Fortunately, it is possible
to build or use neutral themes that do not imitate the look and feel of any particular
platform.
Note also that both jQuery Mobile and Kendo UI provide a powerful online
WYSIWYG tool for creating customised themes without having to write any CSS.

Download JQuery Mobile
http://jquerymobile.com/download/

jQuery Mobile documentation
http://view.jquerymobile.com/demos/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 10
Android and iOS App Development Explained

ThemeRoller
jQuery Mobile’s online theme builder tool
http://jquerymobile.com/themeroller/

Beginner guide to a mobile app using the jQuery Mobile JavaScript
Framework
A-Z tutorial on creating a simple app with jQuery Mobile
http://iviewsource.com/codingtutorials/5-minute-guide-to-a-mobile-app-withjquery-mobile/

jQuery Mobile: What Can It Do for You?
Advanced guide of jQuery Mobile’s features
http://www.elated.com/articles/jquery-mobile-what-can-it-do-for-you/

Purchase Kendo UI Mobile
http://www.kendoui.com/purchase.aspx

Tutorial: Intro to Building Apps With Kendo UI Mobile
http://docs.kendoui.com/tutorials/build-apps-with-kendo-ui-mobile

Download iUI
http://www.iui-js.org/download

Download jQT
http://jqtjs.com/

Download LungoJS
http://lungo.tapquo.com/
jQuery
Mobile
Kendo UI
Mobile
iUI
jQT
LungoJS
jQuery
Foundation
Telerik
iUI
Sencha Labs
Tapquo
Free
(open source)
$199
Theme builder
Yes
Yes
No
No
No
Pre-made
themes for
each platform
Non-official
only
Yes
Yes
No
No
Device
detection for
dynamic
theme
selection
No
Yes
No
No
No
Publisher
Pricing
Free
Free
Free
(open source) (open source) (open source)
Table: Attributes of some mobile web frameworks
4.3 From web to hybrid
As discussed previously, web apps lack device integration: they are only accessible
online via a web browser and cannot communicate with most of the device’s software
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 11
Android and iOS App Development Explained
and sensors. Some tools, however, have managed to solve these issues by
supporting the development of hybrid apps. They also made the development
process much easier, as instead of having to use complex languages like ObjectiveC or Java, only common web development skills (HTML, CSS and JavaScript) are
required in order to build powerful, cross-platform apps that look and behave like real
native applications.
4.3.1 Packaging tools
The original process for creating a hybrid app involves packaging tools: you develop
your app using a mobile web framework like jQuery Mobile, and then package it
inside a native app shell (or template).
PhoneGap is a very popular packaging tool and provides plugins to work with a lot of
different mobile web frameworks. Its main drawback, however, is that you have to
install and use the IDE of each platform on which you want to deploy your app. For
instance, if you want to deploy it on both iOS and Android, you’ll have to install,
configure and use both Xcode and Eclipse (or one of the other Android alternatives)
separately. It makes the process of maintaining and updating an app quite laborious.
A recent trend is for packaging tools to come as part of bundles that allow the
development of cross-platform hybrid apps from start to end, without using any
external web development frameworks. These tools, (unfortunately) called mobile
app frameworks (and not to be confused with mobile web frameworks), are
described in the next section.

Download PhoneGap
http://phonegap.com/download/

PhoneGap Developer Portal
http://phonegap.com/developer/

Getting started with PhoneGap
Tutorial on building a PhoneGap application, including setting up the
development environments for iOS, Android and BlackBerry
http://www.netmagazine.com/tutorials/getting-started-phonegap

Develop Mobile Applications Using PhoneGap and Kendo UI
http://www.c-sharpcorner.com/UploadFile/dhananjaycoder/develop-mobileapplications-using-phonegap-and-kendo-ui-par/
4.3.2 Mobile app frameworks
Mobile app frameworks, such as MoSync, Sencha and Icenium, provide all-in-one
solutions for building cross-platform hybrid apps in web languages. They combine
development framework and packaging tool technologies, and usually provide a
number of additional features such as native user interface API (Application
Programming Interface), dedicated IDE (Integrated Development Environment),
cloud-based development, plugins (SQL database, barcode scanner, etc.), and app
store publishing assistance.
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 12
Android and iOS App Development Explained
If you are comfortable with writing JavaScript, you may want to consider Titanium.
With this framework, everything has to be developed in JavaScript (instead of HTML
and CSS), including the app’s user interface. This specificity allows for the creation of
apps with much better performance, which is particularly interesting for mobile game
development.
Another very powerful framework is Corona SDK (Software Development Kit). Based
on a language called Lua, which is growing in popularity, Corona can build native and
hybrid apps that perform very well. It is especially favoured by game developers
because of its performance and of the simplicity of its language compared to the
platforms’ native languages. Corona is also free to download and use, although some
advanced features – like in-app purchase – require purchasing the Pro version.

MoSync
http://www.mosync.com/

MoSync tutorial on getting an app up and running on iOS and Android
http://www.mosync.com/documentation/manualpages/getting-started-html5and-javascript

Sencha
http://www.sencha.com/

Icenium
http://www.icenium.com/

Icenium: A cloud-based development platform for hybrid iOS and Android
apps
Concise overview of Icenium, its features and its innovations
http://www.itgeekgurl.com/2013/01/04/icenium-a-cloud-based-developmentplatform-for-hybrid-ios-and-android-apps/

Titanium
http://www.appcelerator.com/platform/titanium-platform/

Seven days with Titanium (tutorial)
http://cssgallery.info/seven-days-with-titanium-day-0-introduction/

Corona
http://www.coronalabs.com/products/corona-sdk/

Corona SDK Technical Tutorials
http://www.coronalabs.com/resources/tutorials/

Corona Code Samples
http://developer.coronalabs.com/sample-code/

Corona Geeks vodcast webpage
http://coronageek.com/

Corona Geeks YouTube Channel
http://www.youtube.com/user/CoronaGeek
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 13
Android and iOS App Development Explained
Publisher
MoSync
Sencha
Icenium
Titanium
Corona
MoSync
Sencha
Telerik
Appcelerator
Corona Labs
Sencha
Touch: free
(open source)
SDK: free
$19/month
(open source)
Free
Free
(includes
Sencha
(open source)
Kendo UI web
Architect: $400
Titanium
Pro: $600/year
framework)
Studio: free
Bundle with
support: $700
Pricing
Specialised
IDE
Required web
programming
skills (1-5, 1:
low, 5: high)
Yes (MoSync
Reload)
Yes (Sencha
Architect)
3
3
Yes (Icenium Yes (Titanium
Graphite)
Studio)
4
4
No
3
Table: Attributes of some mobile app frameworks
4.4 No coding required
The solutions presented in the following sections all provide WYSIWYG, drag-anddrop editors, and can therefore be used without any programming skills.
4.4.1 E-learning content creation software
Mobile publishing features have been added to Adobe Captivate, Articulate Storyline
and Trivantis Lectora, which are professional solutions for e-learning content
creation.
Their strengths lie in the fact that they provide many specialised e-learning
components and features like quizzes, scoring, and SCORM compliance. They also
qualify as rapid development tools, and are therefore one of the fastest solutions for
creating custom, highly-interactive apps.
Unfortunately, they are limited to HTML5 publishing – i.e. they can only produce
mobile web applications (as opposed to native and hybrid apps), which cannot be
distributed on the app stores. They are also very expensive solutions..
Note that Storyline comes with its own iPad app, called Articulate Mobile Player, to
ensure an optimal user experience on that device when viewing HTML5 content
produced with Storyline.

Article highlighting the drawbacks of using software like Captivate or Storyline
for creating mobile e-learning content
http://rjacquez.com/articulate-storyline-vs-adobe-captivate-6-for-ipadpublishing-faq/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 14
Android and iOS App Development Explained

Adobe Captivate
http://www.adobe.com/au/products/captivate.html

Articulate Storyline
http://www.articulate.com/products/storyline-overview.php

Articulate Mobile Player for iPad
https://itunes.apple.com/us/app/articulate-mobile-player/id505546381?mt=8

Lectora
http://lectora.com/
Publisher
Captivate
Storyline
Lectora
Adobe
Articulate
Trivantis
Lectora Publisher:
$1,595
Pricing
$1,369
$1,398
Student and Teacher
Edition: $374
Academic discount
available
Lectora Inspire
(bundle): $2,495
Lectora Online:
$1,290
Output platform/s
All platforms
(HTML5 web app)
iPad (via Articulate
Mobile Player)
Other platforms
(HTML5 web app)
All platforms
(HTML5 web app)
4.4.2 App creation software and plugins
MobiOne is a Windows-based WYSIWYG editor for building simple mobile apps
without coding. It works like the e-learning authoring software mentioned in the
previous section, except that it specialises in building hybrid mobile apps and is not
limited to e-learning applications.
MobiOne supports both iOS and Android app design and testing, and includes
emulators for iPhone, iPad and Android. It is also very flexible, as it is possible to
include custom JavaScript code if the need arises to implement complex behaviours
in your app.
One of the biggest strengths of MobiOne is its publishing feature. Once your app is
complete, the step-by-step process of publishing it to the app stores is done entirely
within the software. You also have the option of publishing your app on the web, as a
web app.
Finally, it is much cheaper than many other solutions, as the license only costs $100.
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 15
Android and iOS App Development Explained
Kwik 2 is a plugin for Photoshop, which lets you add interactivity to your Photoshop
files and publish them to Corona SDK. You don’t have to touch any code (you can if
you want to), but still get all the advantages of Corona as described in section 4.3.2.
App Inventor for Android is a free WYSIWYG tool for creating Android apps quickly
and easily. It allows you to build your app’s behaviour by combining simple building
blocks on the screen. When a phone is connected to the computer, App Inventor is
able to run the app then apply any changes you make to it in real-time. On the down
side, the tool is not powerful enough to build games and complex applications.
Tumult Hype is a tool for Mac OS for creating HTML5 web content that works on
mobile and tablet devices. The system is very focused on animations and interactivity
as it is based on key frames and implements a timeline interface, similarly to Adobe
Flash.

MobiOne
http://www.genuitec.com/mobile/

Kwik 2
http://www.kwiksher.com/

App Inventor
http://appinventor.mit.edu/

Tumult Hype
http://tumult.com/hype/purchasing/
4.4.3 Online app creation services
A lot of websites offer online tools for creating simple apps without any coding. You
simply select the components you need, like menus, lists, maps or galleries, then
plug in your content, and finally publish your app.
The downside of these services is that they are often quite expensive and/or produce
apps that are full of ads or are poor in features. (A recommendation would be to
choose a service that charges per app rather than per month or year.) Also, some of
these online services are limited to iOS app creation.
Appsify.me for instance, lets you build native iOS apps for $300 per app. You don’t
write any code, but you still need to use Xcode at the end of the project in order to
compile and publish your app on the App Store.
Other services, like AppFlight are focused on building cross-platform hybrid apps and
take care of the publishing process for you. The price depends on the number of
platforms you choose to build your app for: $400 for a single platform (iPhone, iPad
or Android), or $500 for all three platforms.
If you’re looking to build an app for a band, a restaurant or a conference for instance
– i.e. a typical app that provides the same features as many other apps, – you may
want to search the Web for specialised app creation services. For instance, Attendify
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 16
Android and iOS App Development Explained
lets you build a cross-platform app to hold the program of a conference or event.
These services are usually cheaper but a lot more restrictive.
Finally, services like Weever Apps are specialised in building mobile web apps.
Again, these services are quite limited in terms of features and complexity.

Appsify.me
https://appsify.me/

AppFlight
http://www.appflight.com/

Attendify (formerly KitApps)
http://attendify.com/

Weever Apps
weeverapps.com
Attendify
appsify.me
AppFlight
No
No
Yes
(conferences,
events)
No
Target
platform/s
iPhone, iPad
iPhone, iPad,
Android
iPhone, Android
All platforms (web
app)
Publishing
included?
No
Yes
Yes
No
Specialised?
(formerly KitApps)
Weever Apps
All 3 platforms:
$499
Pricing
$300 per app
1 platform
only: $399
From $10 per month
$249 per event per
per app (or $100 per
year
year per app)
+ hosting after
1st year: $15 or
$10 per month
Table: Comparison of some online app creation services
4.5 Exploring alternatives…
4.5.1 E-books
E-books are not apps, but they can still be useful for delivering interactive content to
mobile and tablet users.
The two most popular cross-platform e-book formats are EPUB and PDF, but EPUB
is more powerful when creating e-books that look and work well on devices of any
size (i.e. reflowable content and adaptive layout). PDF e-books can be converted to
EPUB very easily with free software like Calibre (EPUBs created with this technique
may need to be edited to ensure they meet accessibility standards). There are many
other e-book formats, some of which provide greater interactivity than EPUB. A good
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 17
Android and iOS App Development Explained
example is Apple’s proprietary iBook format (IBA), generated with the free iBooks
Author tool for Mac OS X, and viewed with the free iBooks iOS app, or in iTunes on
Windows or Macintosh.
Many solutions are available for creating e-books. You can either use an authoring
tool that can export directly to an e-book format (cf. comparative table below), or
simply create a document in a standard format (Word, Pages, PDF, HTML, etc.) and
convert it to e-book using one of the many tools available (Calibre, Sigil, iBooks, etc.)
E-books can be relatively cheap to create and publish, since each step can be
performed without any direct cost apart from time. A plethora of free creation and
conversion tools, publishing options and e-book reader apps are readily available for
both Windows and Mac OS.

How To Make An eBook
http://www.smashingmagazine.com/2011/09/29/how-to-make-an-ebook/

Creating ebooks for the iPad, Kindle, nook, and...
http://simoncann.com/writing-down-words/creating-ebooks

What is the Difference Between EPUB, MOBI, AZW and PDF eBook
Formats?
http://www.guidingtech.com/9661/difference-between-epub-mobi-azw-pdfebook-formats/

The Best eBook Apps for Your Devices
http://www.gsmnation.com/blog/2012/11/02/ebook-readers-for-all-your-iosandroid-and-windows-devices/

How to Use Microsoft Word to Create an Ebook
http://www.pcworld.com/article/253618/how_to_use_microsoft_word_to_creat
e_an_ebook.html

Creating ePub files with Pages
http://support.apple.com/kb/HT4168

Download Calibre for converting many standard formats to EPUB
http://calibre-ebook.com/

Sigil, free EPUB editor
http://code.google.com/p/sigil/

Creating an eBook with InDesign (video tutorial)
http://tv.adobe.com/watch/instant-indesign/creating-an-ebook-with-indesignpart-1/

PDF version of the video tutorial Creating an eBook with InDesign (4.1MB)
http://www.creativepro.com/files/downloads/InDesignMag_32_ebooks_part1.p
df

EPUB 3 Accessibility Guidelines
http://www.idpf.org/accessibility/guidelines/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 18
Android and iOS App Development Explained
Sigil
iBooks Author
InDesign
Publisher
Sigil
Apple
Adobe
Platform
Windows, Mac, Linux
Mac
Windows, Mac
Free (open source)
Free
$1,062
EPUB
iBooks (IBA), PDF
EPUB, PDF
Pricing
Export formats
4.5.2 Interactive screencasts
Camtasia, by TechSmith, is a tool for creating interactive video screencasts with
interactive “hotspots” and quizzes. The produced videos are exported to play inside
TechSmith’s Smart Player, an HTML5 video player that works in most modern mobile
web browsers. Some advanced features require iOS device users to install the
TechSmith Smart Player app; iPad users of the app can use doubling to view full
screen.
Note that it is recommended to export the screencast separately for each of the
target devices for optimisation (ratio, frame rate, video format etc.)

Camtasia ($300)
http://www.techsmith.com/camtasia.html
5 Deploying an App
5.1 iOS
5.1.1 Publishing to the App Store
The traditional path to publishing a native or hybrid app to the Apple App Store is
complex and hazardous. It is paramount that you familiarise yourself with this
process before you start developing.

App Distribution Guide
The definitive guide for distributing an iOS app
http://developer.apple.com/library/ios/#documentation/IDEs/Conceptual/App
DistributionGuide

App Store Submission Tutorial
A straight-to-the-point tutorial on the submission process
http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conc
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 19
Android and iOS App Development Explained
eptual/YourFirstAppStoreSubmission/AboutYourFirstAppStoreSubmission/Ab
outYourFirstAppStoreSubmission.html
Here are the three most important things to know about Apple’s publishing process:
1. You need to enrol in Apple’s iOS Developer Program ($99/year).
2. You need to use Xcode (available for Mac OS only) at some point during the
process. This may be an issue if you plan on using an app framework,
authoring tool or online service, in which case you may have to import your
project in Xcode and complete the required publishing preparation steps.
3. Every app submitted for publishing goes through a very thorough review
process. It is manually tested by Apple’s personnel and must conform to the
App Review Guidelines. This review process is known to be stringent and
many developers get stuck in lengthy disputes with Apple’s review team.
For more information, refer to the following resources:

iOS Developer Program
https://developer.apple.com/programs/ios/

App Review Guidelines (an Apple ID is required to access the resource)
https://developer.apple.com/appstore/resources/approval/guidelines.html

iOS Human Interface Guidelines
Apps submitted for publishing should also respect the fundamental human
interface design principles outlined in this resource
https://developer.apple.com/library/ios/#documentation/userexperience/conc
eptual/mobilehig/Introduction/Introduction.html

Publish apps on App Store: tips & common rejection reasons
http://albertogasparin.it/articles/2011/03/publish-app-store-tips/

Xcode User Guide
http://developer.apple.com/library/mac/#documentation/ToolsLanguages/Con
ceptual/Xcode_User_Guide/
5.1.2 Publishing tools and services
Most mobile app frameworks come with services and tools to help you perform some
of the publishing steps. PhoneGap provides a service called PhoneGap Build, and
the integrated development environments of some of the major app frameworks
(MoSync, Sencha and Titanium) have built-in publishing wizards. None of them,
however, can bypass the use of a machine running Mac OS for setting up a
distribution certificate and provisioning profile.

Building for iOS with Adobe PhoneGap Build
https://build.phonegap.com/docs/ios-builds
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 20
Android and iOS App Development Explained
One exception is Icenium. The framework provides an app called Icenium Ion, which,
once installed, can run your app without having to publish it to the App Store or
provision your device. The main advantage is for testing: Apple normally requires you
to provision (register and identify) any device that you want to use for testing. By
bypassing this step, the service allows for extremely fast testing and prevents you
from having to use Xcode and Mac OS. It also saves you from paying for a developer
account while the app is still in development. Of course, this solution is not suited for
global distribution since your app basically runs inside another app (Icenium Ion),
which must be installed by every one of your users. Also, Icenium is not free; it costs
at least $16/month.

Publish Your App to Google Play or Apple App Store With Icenium
http://docs.icenium.com/publishing-your-app/publish-wizard
If you want your app in the App Store but don’t want to take care of the publishing
process at all, your only option is to subscribe to an online service like AppFlight and
Attendify, and accept the limitations of this type of services (limited features, price,
etc.)
5.2 Android
The official app store for Android apps is Google Play.
Publishing an Android app on Google Play is less restrictive and expensive than
publishing an iOS app on the App Store. Here are the most significant differences:

The one-time registration fee is $25.

You are not restricted in the operating system and IDE that you use.

Apps submitted to Google Play do not undergo a manual review process.
For more information, refer to the following resources:

Publishing Overview
http://developer.android.com/tools/publishing/publishing_overview.html

Publishing Checklist for Google Play
http://developer.android.com/distribute/googleplay/publish/preparing.html
The Android platform has a strategy of open distribution, which means that apps can
be distributed freely outside of the official marketplace, Google Play. Basically, once
your app is complete, it is packaged into a single file that you can share and
distribute. For instance, you can:

distribute your app through unofficial marketplaces like Amazon Appstore for
Android, GetJar or Slide ME

share it on your own website

send it by email.
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 21
Android and iOS App Development Explained
Users then need to open your app’s package on their device and it will be installed
automatically.

Open Distribution
http://developer.android.com/distribute/open.html

Alternative marketplaces for Android apps
http://www.digitaltrends.com/mobile/android-app-stores/
5.3 Web Apps
Distributing a mobile web app simply means sharing its URL. This, in turn, means
that the app must be hosted on a web server, like a normal website. There are many
web hosting services available, with various ranges of features and prices.
Many of these services will provide you with a default URL for your app that usually
includes their own domain name. If you care about the aesthetic of your URL
(because you want to advertise, for instance), you will need to purchase your own
domain name.
If your app includes server-side components (database, web services, etc.), you
need to make sure that the hosting service you choose supports them.
Once your app is available online, you can start sharing its URL. If you wish to keep
the app private, share the URL with your contacts by email or through your social
networks. Or, if you want to distribute your app globally, you can submit its URL to
the various independent app stores specialising in mobile web apps. The most wellknown are probably OpenAppMkt, GetJar and AppsFuel. The Apple App Store
also has a section for web apps.
Another growing store for mobile web apps is the Mozilla Apps Marketplace. It
allows developers to publish their apps by simply uploading their ZIP packages.
Unfortunately the marketplace only works with the Firefox Aurora browser on Android
(as at June 2013).

OpenAppMkt
http://www.openappmkt.com/

GetJar
http://www.getjar.com/

AppsFuel
http://appsfuel.com/

Submitting a New App – OpenAppMkt
http://openappmkt.pbworks.com/w/page/28182996/Submitting%20a%20New
%20App

Apple – Web apps
http://www.apple.com/webapps/
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 22
Android and iOS App Development Explained

Firefox Marketplace
http://www.mozilla.org/en-US/apps/
6 Survey results
A survey was run in late March 2013, seeking information from teachers and trainers
about which tools may be in use by them for the development of apps for mobile
devices, and asking respondents to identify their level of expertise in IT.
There were 48 responses to the survey. Of those, 30 identified as teacher/trainers,
who are the intended audience for this guide.
6.1 Teacher/Trainer responses
All of these respondents felt they had at least some expertise in using IT:

I can usually work out what to do:
8

I am confident in my IT ability:
20
Only two authoring tools apart from the native SDKs were identified: App Inventor
and Weever. App Inventor was given one “quite good” review and one “worst”
review; Weever was not rated by the respondent that mentioned it.
Aurasma (an augmented reality platform) and KitApps (renamed Attendify) were also
volunteered as authoring environments, but they have very specific outputs –
augmented reality and conference/event apps respectively.
6.2 Other Stakeholders’ responses
These 18 respondents included Content Services Advisors and E-learning Coordinators, along with technical developers, graphic designers and educational
designers. Not all respondents provided details of their roles.
Fifteen of these respondents identified as “confident in my IT ability”, the remaining
two as having “some” expertise.
Development environments volunteered as “good” by this group. Environments for
outputs that are not technically apps are included.
Environment
Respondents
Comments
AppInventor
1
 It was a course I attended over three days and
was able to develop some cool simple apps.
Hype
1
 Great for HTML5 animated contents for any
platform and device.
iBooks Author
1
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 23
Android and iOS App Development Explained
Environment
Respondents
Comments
InDesign
1
 Good tool for iOS development but a huge cost
for Android development, as much as $7000.00
just to get your foot into the Android door.
PhoneGap
3
 I don't need to learn many different languages
to produce an app using PhoneGap.
 I don't particularly like the performance of the
apps that are created, but it does mean I can
create an app leveraging my existing skills as a
web developer.
 Allows you to use device specific functions
from javascript
xCode
1
Table: Comments from other stakeholders about development environments they
consider to be good.
Neither group listed any environment as poor, but comments (both by technical
developers) provided outside the survey included the following:
“I did the survey. I think that another question that may have been
asked was ‘Have you found other/better ways to develop resources
for a mobile device’.
To that I would have answered “build a website using responsive
design to display resources appropriately on all devices and
computers”. It’s a lot quicker and it really doesn’t need a lot of up
skilling - unlike actual app development.
If monetizing apps/resources/information is not important I would
website-e-tize it. 
Some of our negative experiences creating an app had nothing to do
with the actual development but getting access to the store:


Apple took a long long time to process our request because they
couldn’t decide if we were creating an account for education or
for business purposes even though we were quite clear on our
application form and in our phone conversations with them. We
kept getting shuffled from desk to desk.
During that prolonged time our manager changed and we needed
to start the process again.
In our experience it can take months to get access to the store let
alone an app in to the store. If teachers or education facilities need
something up quickly they likely won’t be able to and will need to plan
at least six months ahead (minimum).
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 24
Android and iOS App Development Explained
Build a website. ”
“Personally I have tried a fair chunk of the app development
methodologies listed in your guide and found Corona to be the
quickest, easiest and most wide reaching way to develop apps.”
More Information
National VET E-learning Strategy
Email: flag_enquiries@natese.gov.au
Website: flexiblelearning.net.au
New Generation Technologies for Learning
incorporating E-standards for Training
Email: e-standards@flexiblelearning.net.au
Website: e-standards.flexiblelearning.net.au
National VET E-learning Strategy
New Generation Technologies for Learning
incorporating E-standards for Training
Page 25
Download