0% found this document useful (0 votes)
111 views9 pages

Review of Cross-Platforms For Mobile Learning Application Development

Mobile learning management systems are very important for training purpose. But considering the present scenario, the learners are equipped with a number of mobile devices that run by different operating systems with diverse device features. Therefore, developing a mobile application for different platforms is a cumbersome task if appropriate tools and techniques are not practiced. There are three categories of mobile application namely native, web based and hybrid.

Uploaded by

Jonathen Hormen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views9 pages

Review of Cross-Platforms For Mobile Learning Application Development

Mobile learning management systems are very important for training purpose. But considering the present scenario, the learners are equipped with a number of mobile devices that run by different operating systems with diverse device features. Therefore, developing a mobile application for different platforms is a cumbersome task if appropriate tools and techniques are not practiced. There are three categories of mobile application namely native, web based and hybrid.

Uploaded by

Jonathen Hormen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

(IJACSA) International Journal of Advanced Computer Science and Applications,

Vol. 6, No. 1, 2015

Review of Cross-Platforms for Mobile Learning


Application Development
Nabil Litayem1, 2, Bhawna Dhupia1, Sadia Rubab1
1
Computer Science and Information, Salman Bin Abdulaziz University
Wadi College of Arts and Science, Kingdom of Saudi Arabia
2
LSA Laboratory, INSAT-EPT, University of Carthage, TUNISIA

Abstract—Mobile learning management systems are very according to the app categories and platforms, we have
important for training purpose. But considering the present different choices in programming languages and framework
scenario, the learners are equipped with a number of mobile for mobile application development. For running an
devices that run by different operating systems with diverse application on multiple platforms, a cross-platform framework
device features. Therefore, developing a mobile application for is required. Cross-platform frameworks for PC app are not
different platforms is a cumbersome task if appropriate tools and adaptable to mobile app, so vendors provide cross-platform
techniques are not practiced. There are three categories of framework for mobile apps (some of them are discussed in
mobile application namely native, web based and hybrid. For section V). With this advancement of technology maybe third
mobile learning system, hybrid is an appropriate choice. In order
party cross-platform emerges that supports both PC app and
to avoid re-implementation of the same hybrid application for
different platform separately, several tools are proposed for
mobile app irrespective of platform.
example: PhoneGap, Adobe Air, Sencha Touch and QT, each In our studies, we explore cross-platform strategies that
with their own strength. With proper use of the strength of would be helpful for providing solution to barriers in an app
individual framework or the combination of frameworks, more developed for mobile learning systems in a heterogeneous
compatible and more stable, cross-platform mobile learning device environment. The mobile learning is defined as “Any
application specifically for quizzes and assignments can be sort of learning that happens when the learner is not at a
developed. fixed, predetermined location, or learning that happens when
Keywords—cross-platform; mobile devices; framework;
the learner takes advantage of the learning opportunities
mobile learning; hybrid mobile app offered by mobile technologies” according to [1]. In a
university environment incorporating mobile learning for
I. INTRODUCTION quizzes and assignments requires learning system tools [1]
specifically course search, file exchange, report generation,
In the present era of proliferating computer networks, and
content creation, administration, off-line work, calendar and
electronic devices (mobiles, tablets, PCs) every individual and
indeed many others.
organization is trying to get access to information and use
these devices for their advancement and improved With the diversity in devices (like Android, iPhone,
performance. Electronic information is accessible to a huge Blackberry, Nokia Symbian, Laptops, Windows Mobile
population in the world. Mobiles have become so much Phone), in order to provide above mentioned tools of learning
common that we have started to use it in every sphere of life. system to its end user, an application suitable for the
Whether it is entertainment or education, we can see a very heterogeneous platform environment is required. We have
intense use of mobiles and we can consider them as a new discussed the different platforms in section II, categories of
personal computer. It doesn’t mean that desktop computers are mobile apps in section III, app development languages and
now useless, but the mobile devices market is growing fast. frameworks suitable for heterogeneous platform mobile apps
They are cheap, convenient because of their portability, and are discussed in section IV and section V respectively. In
due to geo location often more useful than PC. section VI we discuss cross-platform strategies suitable for
online or off-line quizzes and web based assignments and in
Desktop applications are now commonly communication
section VII we conclude the studies.
based and application developers develop a single application
in cross-platform that can easily run on different desktop II. MOBILE PLATFORMS
platforms e.g. Mac or Windows. There is an increasing
demand of mobile applications to use mobile devices, but an There are different operating systems that are used in the
application development for mobile devices is not so simple mobile market: Symbian, Blackberry, iOS, Andriod, Windows
and it’s a big challenge. These mobiles have different phone and Plam’s webOS. Application development in a few
operating system and unlike PC OS, mobile OS decides the of them discussed in detail in [14].
type of programming language required for applications A. iOS
running on it. So we need to design the mobile application
To develop for iPhone, iPod, Intel based Mac computer
according to its platform. There are various categories of app
running OS X or later is required. iPhone SDK provided by
development for mobiles broadly categorized into three,
Apple includes Xcode IDE, iPhone simulator and a suite of
namely, native apps, mobile web apps and hybrid apps and

31 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

additional tools for app developement. App Store provides and debug the project faster. Examples of native apps are
user facility to search and download app developed by iOS Angry Birds, Shazam1.
SDK.
With all these benefits of native apps, they have a few
B. Android disadvantages also. Maintenance of the Native app is
It is released by apache license and built on linux. Android complicated task both for the users and developers.
app can be built using windows, Mac, or linux and java is Developers have to program it according to different platforms
primary language of Android. Java classes recompiled in and users have to update it regularly. The development cost of
Dalvik byte code and run on Dalvik virtual machine. Android this app is more if you are making application for different
does not support J2ME, and its most commonly used editor is platforms. Sometimes it becomes very difficult for the
Eclipse. Developers may create native libraries in C or C++. developer to give maintain and offer support as users of
The Google play store is the official site and portal for different mobile may be using different versions of the apps.
Android app. B. Web Apps
C. Blackberry Web apps work with the devices that have browser
Blackberry smartphone platform support web development therefore they can work on desktop computers as well on
with HTML, CSS and javascript, java application mobiles. In responsive web application, design decided by the
development using MIDP, CLDC and RIM proprietary APIs. server and applied at client level renders according to device
32 bit windows OS support development of Blackberry app in features [3]. Whereas mobile web app that provides better
Java. usability as compare to responsive web, its content, provided
merely for mobile devices consequently there is a need to
D. Windows Mobile maintain different sites for each device [3]. Users need not to
It provides more desktop like user experience. In addition go to mobile app store to update or download the application.
to C++ and C#, Silverlight and XNA are used for application Whenever the users will log in, they will get the updated
and game development. For windows mobile development version. Developers also need not to bother about the mobile
visual studio. Net framework, windows mobile SDK and platform. There will be the single universal version which can
developer toolkit are required. be used by any mobile platform. Hence, the maintenance cost
of the web app is low. Eaxmple of Safari and Chrome web
Symbian apps giben in mobiloud webiste.
Symbian OS is used by Nokia, Sony Ericsson, Siemens On the other hand, web app has some shortcomings also.
and Samsung [1]. Language supported by Symbian OS is Internet connection is a must in web apps. Web apps are not
python makes use of Symbian C++ APIs. Python can also run compatible with smartphone features like camera, GPs, phone
on Mac, Windows and Linux [13]. dialing, etc. Web apps are not even listed in play store. Users
have to search it on the web to use. Performance of web apps
III. CATEGORIES OF MOBILE APPLICATIONS is slower as compared to native apps. They are also more
Irrespective of the type of mobile platform there are three difficult to build a regular user-base, unless they save it as a
main categories of mobile apps as in which normally we bookmark. Users won’t have the app’s icon on their devices as
designed the applications. Depending upon the application it is a web link which can be open as required. As a developer
requirement, we decide the category suitable to our or publisher you can’t send them notifications to bring them
requirements. First of all, let us discuss about all of them back to your content.
briefly.
C. Hybrid apps
A. Native apps Hybrid apps combine technologies from native and mobile
These applications are specific to the mobile operating Web apps to gain the benefits of each. They behave like a
system environment, take full advantage of its particular native app because they are installed from a web store and
features and can be developed with the cross platform have access to device specific features as in native app but
approach with a single code base for all devices [3]. Native developed using web app tools [3]. The tools for hybrid app
apps get a performance gain by using the generated native can modify pre-packaged HTML pages, can change user
code [2]. As one project maintained for each OS this leads to interface according to device platform and allow both offline
an increment in the development team, costs, and time and and online usage [2]. Hybrid mobile apps can be released on
challenge for developers are the new ones that continually multiple platforms when using certain web technologies like
appear in market [3]. Native apps works without the HTML5, CSS3 and JavaScript. It will save the overhead time
connectivity of the internet. If you are working in an and cost used to prepare softwares for each platform. The
environment where there is no connectivity, native app is the Netflix app is one example of a hybrid app which runs the
way to go. Since native apps work with the device’s built-in same code base on all platforms. Facebook, TuneIn Radio,
features, they are easier to work with and also perform faster LinkedIn are some of the examples of hybrid apps.
on the device. Application build in this category are platform
dependent. So whatever language you will use, you will have There are a few disadvantages of using hybrid app
the full access to IDEs which provide better tools to develop development. Hybrid apps are not executed natively; the

1
[Link]

32 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

HTML5 and JavaScript portion of the app is rendered and Considered as a major app development language in [14]
executed by the platform’s Web engine, which adds another along with HTML and CSS is important for Mobile Web
layer between the user and the app. This can make the Application and almost all framework support JavaScript.
execution of the application slower. This is a new technique as JavaScript supported by all platforms, Android and iPhone
compared to other two, so there are less tools available for the have full featured browser while the browser on Blackberry
development of hybrid apps. Sometime, performance issues support JavaScript 1.0, 1.1, 1.2, and 1.3. Therefore HTML and
for certain types of apps are there in hybrid apps like on CSS code based on platform specific browser features of one
complex native functionality or heavy transitions, such as 3D device cannot be used on another device with different
games. browser features.
IV. APPLICATION DEVELOPMENT LANGUAGES D. HTML 5
Choosing the right development tool is very crucial and It is considered by many developers and companies as a
important decision. A new technology's successful adoption standard for web development and even hybrid can be used
often depends on its development tools. Good tools help new with HTML 5 framework [3]. Due to HTML 5 difference in
developers more easily get started and make experienced native and hybrid has reduced significantly, moreover an app
developers more productive. For instance, the success of in HTML and JavaScript deployed on local system can
Microsoft's programming environment is closely associated provide a similar structure as native apps [5]. It provides
with the success of its Visual Studio tools. This topic information regarding error handling and also support offline
summarizes the major app development languages available storage, network connectivity, multimedia, sockets and
for different platform that we discussed in section II with their threads, drawing animation and advanced form controls[12].
relevance to cross platform mobile apps. A very prominent feature of HTML 5 is client side storage
and up to 5 MB data can be stored by the user of the web
A. Objective-C application [12]. iPhone and Android support web application
Objective-C with Xcode IDE, primary programing developed using HTML 5.
language offered by Apple only for iOS [4] provides object E. C#
oriented capabilities, requires dynamic runtime and runs
merely on MAC operating system2. It is used to build native It is used for Microsoft mobile and a web or desktop
apps that run directly on iOS [1]. Xcode suits include interface application implemented in Java can be translated to C# for
builder and instrument. In the MVC design pattern for iPhone windows mobile platform [5]. It targets the .Net CLI and take
application development Objective-C class required for view advantage of .Net framework. In C# developer can take
controller and web view can also be included in native iPhone advantage of web libraries, database connectivity, and socket
application [14]. programming [13].

B. Java F. PHP
Java3 is a very popular programming language when it In mobile web apps server side applications can be built
comes to mobile application programming. Many developers using PHP, [Link] and [Link] [6]. PHP IDE provides a
are using this language as it easy to use and many online framework to create robust mobile PHP applications4. With
tutorials are available to get the help while development PHP [15] we can access the user agent string for detecting
process. One of the popular development tools of Java is device, attain information about browser, check device
Android SDK. It includes many standard Java libraries like capabilities and image rendering with PHP WURFL API.
data structure libraries, math libraries, graphics libraries, Open source PHP is required for Android.
networking libraries as well as special Android libraries that G. C\C++
will help programmers to develop best Android applications.
Moreover, Java can be used to program native apps, mobile For Microsoft windows phone C++ use within XAML app
web apps and hybrid apps. It is an object oriented and in games. Windows phone runtime native API are built in
programming environment that is used for platform C++ and can be projected in C# or [Link] [1]. Android
independent application. The application running on battery native libraries written in C\C++ [16]. Symbian C++ [13]
driven devices built by J2ME java family, it provides provides full access to device features and improved speed,
networking support and has API JSRO82 for Bluetooth that is an edge for symbian C++ over python and java and
technology [13]. Java with Eclipse IDE provided app running eclipse based carbide C++ is preferred IDE for Symbian and
on Android and support web view [14]. For blackberry app Nokia. Open C [13] provides cross-platform development, a
both J2ME and Eclipse IDE are suitable. Java CLDC set of middleware libraries for the smartphone platform and
Emulation required for windows phone and J2ME for TCP /IP socket programming.
Symbian [17]. H. Python
C. JavaScript

2
[Link]/library/mac/documentation/Cocoa/Conceptual/Program
mingWithObjectiveC/
3 4
[Link]/article/2074670/mobile-java/ [Link]

33 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

Python with a rich and standard library of modules is The native development languages of different smartphone
defined in [13]. It provides a scripting solution using Symbian operating system are mentioned in [14]. Table 1 summerizes
C++API. Used for Symbian particularly Nokia’s platform. It mobile platform support for the set of app development
can run on Windows, MAC OS, Linux and Symbian OS. It languages with IDE according to what it is stated in section II
supports a rich set of smartphone features such as sending and and IV.
receiving SMS / MMS, camera, bluetoooth, network access,
sound recording and playing, text to speech and 2D / 3D To conclude this discussion we have come up with that
graphics. It supports different dialogs e.g. pop-up notes, query, there are various languages used for cross-platform
pop-up menu, select list. By combining with the web services application development. According to report of developer-
through JSON, REST new type of applications and services economics-q3-2014 research only 15% of mobile developers
can be created. Bluetooth protocol use for Bluetooth are targeting browser while 42 % are using HTML, CSS, and
connectivity between devices and gsm_ module for location Java Script. Whereas Java, C / C++, Objective C and C# are
awareness. also very popular among developers. According to statistics
mentioned in that research we provide the percentage of
primary languages share in mobile app development in fig 1.

TABLE I. MOBILE PLATFORM SUPPORT FOR DEVELOPMENT LANGUAGES

Mobile Development Languages


Platform Java Java PHP HTML 5 Phyton C\C++ C# Obj-C
Script

iOS Duke Full browser Server side Full Webkit - Xcode IDE - Native
support app based browser
Scripts 5 Xcode IDE

Android Native Full browser Open Full Webkit - Native - -


support source based browser APIs
Eclipse IDE PHP

Blackberry Sun JDK Partial Server side Browser - Eclipse - -


J2ME app dependent
platform support IDE

Eclipse IDE

Windows Phone Java CLDC Depend on Server side Depend on - Native Native -
EMU browser and app hardware UI APIs
webkit .Net
IE Browser framework

Symbian J2ME Depend on Server side Full Webkit Scripting with Eclipse - -
APIs app based browser Symbian C++ based
API Carbide
C++, Open
C

5
[Link]/category/java-ios-developer/

34 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

Fig. 1. Primary Languages share in Mobile App Development

V. FRAMEWORKS FOR CROSS PLATFORM MOBILE without a framework, but with the framework we get a cross
APPPLICATIONS platform app with an easy development and deployment
process [3]. The given table 2 summarizes some of the
In the previous section we have discussed different
frameworks used for mobile apps. Information of XMLVM,
programming languages used for development of mobile
PhoneGap, DragonRad and Rhodes based on [4], Appecelator
applications. Percentage of usage of these languages depends
Titanium, QT, Adobe AIR, mobile voice agent, Sencha
upon the mobile app category and device platform supported
Touch, aCME, Processign on [2][7][8][9][10][11][16]
by the target language. Although an application can be built
respectively and the rest on [14].
TABLE II. FRAMEWORK OF MOBILE APP DEVELOPMENT ENVIRONMENT

Platform Category of Type of Programming Cross Platform Deployment


Mobile App Environment Language
PhoneGap Hybrid Web view framework HTML, CSS, JavaScript iPhone, Android, Windows Phone,
Blackberry, Symbion

JQTouch Web, Native Desktop, Browser JQuery Plug-in, Desktop PC, Windows Mobile
environment JavaScript, CSS

Appecelator Native Rich APIs and low JavaScript Android, iPhone, Blackberry
Titanium level TCP sockets

iWebKit Web based Desktop, Browser HTML5, CSS3 Desktop PC, iOS mobiles
environment

Adobe Air Hybrid Rich Internet Action Script, HTML, iOS(iPhone, iPad, iPod Touch), Android,
application platform CSS, JavaScript, MXML Blackberry

Sencha Touch Hybrid, Web Access to subset of HTML, CSS, JavaScript iOS, Android, Blackberry, Windows Phone
based phone native API

iUI Web based Browser Environment JavaScript, CSS iOS based devices
for iOS

QT Hybrid Deployable UI and C++, QML Symbian, Maemo


applications

Mobile Voice agent Hybrid Client server app with HTML, JavaScript, speex iPhone, Android
proprietary speech audio format
engine

xUI Web based Browser Environment JavaScript iPhone, Blackberry

Rhodes Native MVC support Real Ruby, HTML, JavaScript, iPhone, Android, Blackberry, Windows
business logic CSS Phone, Symbian
Web

35 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

environment

Dashcode Web based Desktop, Browser HTML, CSS, JavaScript iOS based devices
environment

XMLVM Web based Cross compilation with Java Byte Code Android, iOS
API mapping

CiUI Web based Browser Environment CSS iPhone

DragonRAD Web, Native Database driven drag Visual Drag & Drop Tiles Android, Blackberry, Windows Mobile
and drop environment

aCME Web based Database driven Rich Java Desktop PC, Smartphone, tablets
Internet App

QuickConnect Native Database access HTML, CSS, JavaScript iPhone, Android, Blackberry, Web OS
Family Web

Safire Web based Browser Environment HTML, JavaScript, CSS iOS based device

iPhones-universal Web based Browser Environment HTML, CSS iPhone

Bedrock Native J2ME to native C++ Java, C++ Android, iPhone, Windows Mobile

Corono Native Scripting environment Lua scripting lang Android, iPhone. IPad

MoSync SDK Native IDE with Single Code C \ C++, HTML \ Symbian, Windows Mobile, Android
base JavaScript

Adobe Flash Lite Native Video and dynamic ActionScript Symbian, Android, Blackberry, Windows
web content Mobile

[Link] Web based Browser Environment JavaScript iOS, Android, WebOS

Unity Native Game development JavaScript, C#, Python Android, iPad, PS3

Processing Native Electronics Arts, Java, JavaScript, HTML Android, iOS


Visual Design

Jo Web based, Browser Environment JavaScript, HTML5, CSS3 iOS, Android, Windows 8, BlackBerry 10
Native

RhoSync Native Middle tier Data store Ruby Connection with Rhodes based smart app

With this outline about different frameworks mentioned in development plug-in for the Eclipse. ADT extends the
table 2, we can make a comparison of their usage across capabilities of Eclipse to let you build Android projects and
operating systems (mobile platforms) and can provide a layout APKs in order to distribute applications. Development for
of the development process according to app category. Since Blackberry device needs Eclipse 3.4 or 3.4.1. Along with this
with cross-platform mobile frameworks it is inevitable that developer has to install BlackBerry JDE Plug-in for Eclipse,
developers select software that provide a common and the Eclipse Software Update for the BlackBerry JDE
development approach across different platforms. In this topic v4.6.1Component Pack.
we discuss briefly on some of the popular cross-platform
frameworks selected from table 2, focusing on app B. Sencha Touch
development process. Sencha touch is the best environment for cross-platform
development based on HTML5 and CSS3. It enables
A. PhoneGap developers to build powerful applications that work on iOS,
PhoneGap is a free and open source framework that allows Android, BlackBerry, Windows Phone, and more. The Sencha
you to create mobile apps using standardized web APIs for the Touch API is pure JavaScript. Developers need to be fairly
platforms. To develop for iPhone, we need a Mac OS X experienced at JavaScript to take advantage of the Sencha
computer. PhoneGapLib is a static library that enables users to Touch framework. Sencha Touch apps can not only be
include PhoneGap in their iPhone application projects. We can accessed via browsers, but can also be deployed as hybrid
also create new PhoneGap-based iPhone application projects apps using native wrappers. Sencha Touch is not dependent on
through an Xcode project template. Xcode is Apple’s jQuery, so is compatible with both the iPhone and Android. It
development environment for Mac OS X and iPhone that uses XML and HTML to create interface design and
includes the iPhone SDK capabilities of the framework. In procedural code for creating a UI object. The latest version of
case of Android, a developer needs to install the Android SDK it supports Apache Cordova APIs for camera, capture,
and Eclipse plus the Android Development Tools connection, events, geolocation, media, notification, splash

36 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

screen and storage. These are few features available to native G. JQTouch
apps that are essential to app developers. It supports HTML pages that look like a native iPhone app
C. IWebKit animated transition, swipe detection and themes for HTML
based web app are aided by jQTouch. It can influence cross-
The iWebKit is a framework focused on being fast, platform such as PhoneGap and Rhodes. It is a source code lib
lightweight, and specifically for developing web applications that includes JavaScript and CSS. Creating a new app is
and websites for Apple’s devices. It can easily be integrated jQTouch is being simple, but the modification is difficult.
into iPhone application developed in Objective-C and
applications developed using Rhodes and PhoneGap H. Adobe Air
frameworks. Developers familiar with HTML and CSS It uses the same technology to build web application for
framework can easily use iWebKit. The iWebKit framework different platforms but this framework is not suitable for an
includes a comprehensive set of style sheets, icons, JavaScript, app that requires high computation resources. Irrespective of
and a test index page that serves as a basic template for any operating and browser get access to the services of the same
views you may need to add to your application. site, app portability, and rich user interaction. JSON used for
D. Titanium data transfer between web server and mobile app. It provides a
rich internet application with desktop software and network
Titanium is mainly used for native application capabilities and complete control over app by the user. It is a
development for mobile environment. It consists of an SDK runtime program with no specific language and heavyweight
that provides the necessary tools, compilers, and APIs for solution. It supports flash, flex, JavaScript, AJAX and HTML.
building for the target platform, and a visual environment for
managing development. It utilizes web technologies that are I. Processing
both trendy and powerful, including AJAX, HTML5, CSS3, It is popular for artist, designers and from the edge of
and jQuery. Titanium is available for Mac, Linux and productivity, supporting different platforms. It is Java based.
Windows. Developing for the Android requires the Android Ketai provides Android hardware features in processing. It
SDK and can be done using Mac, Windows, or Linux. The provides a simple, straight forward, wide range of libraries
Titanium framework comes with a platform-independent API and tools for highly interactive app. It is available for
that can make applications feature-rich because it can access Windows, Mac, Linux, and support Open GL. It does not
advanced features such as touchscreens, cameras, GPS, support some of the advance features of Eclipse IDE.
navigation, contacts, storage, and much more. Titanium also
supports augmented reality features like Screenshot, Shake VI. DISCUSSION
and Record Video.
Well-known operating system and rich set of software
E. Rhodes development tools are used to drive mobile devices such as
It supports cross-platform web application development in cell phones, smartphones and tablet. Each operating system
HTML, CSS, JavaScript and Ruby. Its tool can be used across and applications running on that OS works in a different way,
Mac, Windows, and Linux. The user interface of app is e.g. Android applications developed by using Java and run in
created using HTML and CSS. It requires Apple SDK for its own process, while iOS application built by using
iPhone or iPad with Mac OS for development of app. For Objective-C run directly on iOS. Since there is proliferating
android Mac, Windows or Linux can be used. The Android diversity in devices used by the students, therefore
native development environment is required, but no need of development language and framework should meet the
Eclipse IDE. Blackberry is java based with windows to run its requirements of the heterogeneous device environment. In
tools and no need for eclipse. Rhodes support windows mobile this section we discuss possible solution for implementation of
6 but not 7. MS Visual studio not used with Rhodes. Device on-line \ off-line quizzes and web based assignments in
capabilities supported by Rhodes in different platform are mobile learning system to enhance traditional learning
geoloaction, contacts, camera, date\time picker, audio\video practices under a given scenario.
capture, Bluetooth, SMS, Landscape orientation, and native There is a need of framework that is platform independent
maps. and creates an app that not depends on particular device
F. RhoSync requirements. With the discussion in section III and conferring
to requirements of learning tools, we consider hybrid app
Mobile user can access information even in offline mode category is suitable for on-line \ off-line quizzes and for web
on device due to synchronization servers. It is a sync server based assignments in the mobile learning system specifically
framework that provides web services to Rhodes based app for the one we proposed in [18]. Because they provide web
running on smartphones. It is data stores that stores based interface with offline working capacities and access to
information as an object, attributes values and works as a some of the device features. Hybrid app support highest
middle tier between web services and mobile app. In RhoSync number of cross-platform [9]. PhoneGap [6] for mobile
ruby support query based information retrieval, data learning system development support forum, assignment, chat,
submission, creation, deletion, updating and user resources, file upload and download.
authentication.

37 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

Likewise an open platform LMS [1] with middleware


based architecture and rich client application using PhoneGap,
HTML5 and JavaScript for user interface also support many
different student role functionalities on heterogeneous client
devices. Mobile voice agent [9] integrated IBM Worklight
and PhoneGap with speech platform for audio query and audio
summary of query results. Application development with
Adobe Air [8] is browser based rich internet application that
can be accessed at any location on any device. Sencha Touch
use to develop presentation layer and reasonable graphical
user interface for mobile app [10], is hardware independent
and can run on different devices.
From the literature review given in the last paragraph and
online information6 and many others, we conclude our
discussion on the effectiveness of hybrid app cross platforms
for online \offline quizzes and web based assignments. The
choice of platform depends upon requirements, for example, if
the requirement is a simple hybrid mobile app with web Fig. 2. Basic Tasks in Quiz and Assignment Tool
interface Phone Gap is a better choice but for rich application
with animation, videos, etc. Adobe AIR gives better VII. CONCLUSION
performance and application support. PhoneGap is suitable for
In this paper, we discussed cross-platform mobile learning
a complete app rather than just user interface of a browser
development with special focus on quizzes and assignments.
based app as in Sencha touch, jQTouch and iWebKit. Rhodes
Through the comparison and contrast we have proposed that
suitable for cross-platform, but provide a single code base that
adopting a hybrid app technique is most suitable for such
has compiled in target platform language and load app in the
mobile app developers. From this study, we have learned that
simulator. Most of the primary app development languages are
there are several frameworks that are feasible for hybrid cross-
not supported by Rhodes. Processing is also suitable for rich
platform mobile app with each of them having some pros and
sensor based app; it is lightweight and easily installable but it
cons. In order to avoid re-implementation of the same
is defined for Android in detail. How it will actually work in a
applications for different platform separately, it is vital to
cross-platform environment that is not explicitly defined.
compare and make use of the strength of individual
Quiz and Assignment Tool framework or the combination of frameworks, so that a better,
more compatible and more stable cross-platform application
Since quizzes and assignments include many features such can be developed. Studies also show that there are many
as creation of quiz \ assignment content, sending assignment existing learning systems that are not being explored fully and
to students on due date, assignment submission within the due will probably have a bright future if some more functionalities
date, conducting quiz online or offline in class, result are considered and proper implementation is carried out.
generation, display of result and answer key etc. as mentioned Therefore, in our future work we will still continue the
in fig 2. Therefore a client server based mobile app for these studying of the latest cross-platform framework, device
tasks could be differentiated as web based assignment tool and features accessible by these frameworks, and implement a
offline\ online mode quiz tool supporting different end users learning system incorporating new features. Hence, this study
on their heterogeneous devices. One of the most important is important for a cross-platform mobile learning application
features that are data transfer between devices in offline mode development.
with Bluetooth technology is not discussed in mobile learning
systems [1][6][7]. During the development, in order to fulfill REFERENCES
requirements of our system we will explore cross-platform [1] D. V. Sanchez, E. H. Rubio, E. F. Ruiz, and A. M. Viveros, “Student
Role Functionalities Towards Learning Management Systems As Open
frameworks specifically PhoneGap, Adobe Air, Sencha Platforms Through Mobile Devices”, IEEE 2014
Touch, Processing and aCME (for web based assignment)
[2] I. Dalmasso, S. K. Datta, C. Bonnet, and N. Nikaein, “Survey,
further as most of them are Java based, Java is compatible Comparison and Evaluation of Cross Platform Mobile Application
development language to almost all mobile platforms as Development Tools”.
shown in table 1 and has API for Bluetooth technology. Other [3] N. Serrano, J. Hernantes, and G. Gallardo, “Mobile Web Apps”, IEEE
than that, except for Processing all other frameworks support Software 2013
many varied mobile platforms. Either we will use them [4] N. M. Hui, L. B.. Chienget, W. Y. Ting, H. H. Mohamed, and M. Rafie,
individually or use a combination of frameworks for “Cross-Platform Mobile Applications for Android and iOS”, IFIP
implementation of the application in a heterogeneous device WMNC, IEEE 2013
environment. [5] P. Gokhale, and S. Singh, “Multi-platform Strategies, Approaches and
Challenges for developing Mobile applications”, CSCITA 2014
[6] D. H. Setiabudi, L. J. Tjahyana, and Winsen, “Mobile Learning
Application Based On Hybrid Mobile Application Technology Running
6
[Link] On Android Smartphone and Blackberry”.

38 | P a g e
[Link]
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 6, No. 1, 2015

[7] B. A. Babatunde, L. Chia-Feng,. and Y. Shyan-Ming, “A Cross-Platform [13] H. P. Frank, and F. Reichert, “Mobile Phone Programming and its
Mobile Learning System Using QT SDK Framework”, Fifth application to wireless networking”, Springer 2007
International Conference on Genetic and Evolutionary Computing 2011 [14] S. Allen, V. Graupera, and L. Lundrigan, “Pro Smartphone Cross-
[8] J. F. Lu, and Y. Zhang, “Mobile Application Development Based on Platform Development”, Springer 2010
Adobe AIR”, IEEE 2013 [15] P. MacIntyre, B. Danchilla, and M. Gogala, “Mobile PHP”, Pro PHP
[9] D. Jaramillo, V. Ugave, R. Smart, and S. Pasricha, “Secure Cross- Programming, pp 31-35, 2011
Platform Hybrid Mobile Enterprise Voice Agent”, IEEE 2014 [16] D. Sauter, “Rapid Android Development Build Rich, Sensor-Based
[10] Z. Ji, X. Zhang, I. Ganchev, and M. O’Droma, “Development of a Applications with Processing”, The Pragmatic Bookshelf, 2012
Sencha-Touch mTest Mobile App for a mLearning System”, IEEE 13th [17] S. Wachenfeld, M. Madeja, and X. Jiang, “Developing Mobile
International Conference on Advanced Learning Technologies 2013 Multimedia Applications on Symbian OS Devices”, Mobile Multimedia
[11] D. Malandrino, I. Manno, et al “A Tailorable Infrastructure to enhance Processing Lecture Notes in Computer Science Volume 5960, pp 238-
Mobile Seamless Learning”, IEEE Transactions on Learning 263, 2010
Technologies, 2014 [18] N. Litayem, B. Dhupia, and S. Rubab, “Automatic Attendance and
[12] A. Kosmaczewski, “Mobile javascript application development”, Mobile Learning System in Sensor Enabled Heterogeneous and
O'Reilly Media, Inc., 2012 Dynamic University Environment”, International Journal of Emerging
Technology and Advanced Engineering Vol 4 Issue 12 Dec 2014

39 | P a g e
[Link]

You might also like