Overview on Mobile Application Learning

11 downloads 0 Views 163KB Size Report
Development is the development of mobile based applications so ... development with HTML, CSS and javascript, java ... usability as compare to responsive web, its content, provided ... use and many online tutorials are available to get the.
ISSN 2278 – 1447

Volume – 5, Issue-1, International Journal of Mathematical Sciences and Engineering (IJMSE), March 2016

Overview on Mobile Application Learning Management System B.Venkatesan1, M.Abubackkar Shithik2 1

Assistant Professor, 2UG Student, Department of Information Technology,

Paavai Engineering College, Namakkal. E-mail: [email protected]

Abstract:

Application

sphere of life. Whether it is entertainment or

Development is the development of mobile based

Cross

education, we can see a very intense use of mobiles

applications so that the development of these types of

and we can consider them as a new personal

applications can be made platform-independent. A

computer. It doesn’t mean that desktop computers are

review has

Platform

Mobile

been made in this field while considering

now useless, but the mobile devices market is

Integrated Development Environment is being proposed

growing fast. They are cheap, convenient because of

which will help a software developer to code an application in a single code base and deploy that single

their portability, and due to geo location often more

code base to multiple operating systems meaning if a

useful than PC. Desktop applications are now

developer codes in Java for Android, the developer can

commonly communication based and application

deploy the same Java code to Ios subsystem. First the

developers develop a single application in cross-

development of a operating system compatibility

platform that can easily run on

architecture which helped to run unmodified iOS

platforms e.g. Mac or Windows. There is an

binaries on Android operating system and second phase

different desktop

increasing demand of mobile applications to use

of proposed solution helped to understands the cross-

mobile devices, but an application development for

platform application development tools which are

mobile devices is not so simple and it’s a big

currently available in the market. The third step is to understand such cross-platform development tools in

challenge. These mobiles have different operating

more detail and finally a mathematical model based

system and unlike PC OS, mobile OS decides the

application.

type

Keywords: Development,

Cross-Platform IDE,

Android

Mobile

Application

Development,

of

programming

language

required

for

applications running on it. So we need to design the

iOS

mobile application according to its platform.

Development, Cross-Platform.

There are various categories of app development 1. INTRODUCTION

for mobiles broadly categorized into three, namely,

In the present era of proliferating computer

native apps, mobile web apps and hybrid apps and

networks, and electronic devices (mobiles, tablets,

according to the app categories and platforms, we

PCs) every individual and organization is trying to

have different choices in programming languages and

get access to information and use these devices for

framework for mobile application development. For

their advancement and improved performance.

running an application on multiple platforms, a cross-

Electronic information is accessible to a huge

platform framework is required. Cross-platform

population in the world. Mobiles have become so

frameworks for PC app are not adaptable to mobile

much common that we have started to use it in every

app, so vendors provide cross-platform framework 111

ISSN 2278 – 1447

Volume – 5, Issue-1, International Journal of Mathematical Sciences and Engineering (IJMSE), March 2016

for mobile apps (some of them are discussed in

C. Blackberry

section V). With this advancement of technology

Blackberry smartphone platform support web

maybe third party cross-platform emerges that

development with HTML, CSS and javascript, java

supports both PC app and mobile app irrespective of

application development using MIDP, CLDC and

platform. In our studies, we explore cross-platform

RIM proprietary APIs. 32 bit windows OS support

strategies that would be helpful for providing solution

development of Blackberry app in Java.

to barriers in an app developed for mobile learning systems in a heterogeneous device environment. The

D. Windows Mobile

mobile learning is defined as “Any sort of learning

It provides more desktop like user experience. In

that happens when the learner is not at a fixed,

addition to C++ and C#, Silverlight and XNA are

predetermined location, or learning that happens

used for application and game development.

when the learner takes advantage of the learning

windows mobile development visual studio. Net

opportunities offered by mobile technologies”

framework, windows mobile SDK and developer

For

toolkit are required. Symbian OS is used by Nokia, Sony Ericsson, Siemens and Samsung. Language

II.MOBILE PLATFORMS: There are different operating systems that are used

supported by Symbian OS is python makes use of

in the mobile market: Symbian, Blackberry, iOS,

Symbian C++ APIs. Python can also run on Mac,

Andriod,

Windows and Linux.

Windows

phone

and

Plam’swebOS.

Application development in a few of them discussed in detail

III.CATEGORIES OF MOBILE APPLICATIONS Irrespective of the type of mobile platform there

A.IoS To develop for iPhone, iPod, Intel based Mac

are three main categories of mobile apps as in which

computer running OS X or later is required. iPhone

normally we designed the applications. Depending

SDK provided by Apple includes Xcode IDE, iPhone

upon the application requirement, we decide the

simulator and a suite of additional tools for app

category suitable to our requirements. First of all, let

developement. App Store provides user facility to

us discuss about all of them briefly.

search and download app developed by iOS SDK. A. Native apps These applications are specific to the mobile

B. Android It is released by apache license and built on linux.

operating system environment, take full advantage of

Android app can be built using windows, Mac, or

its particular features and can be developed with the

linux and java is primary language of Android. Java

cross platform approach with a single code base for

classes recompiled in Dalvik byte code and run on

all devices . Native apps get a performance gain by

Dalvik virtual machine. Android does not support

using the generated native code.

J2ME, and its most commonly used editor is Eclipse.

maintained for each OS this leads to an increment in

Developers may create native libraries in C or C++.

the development team, costs, and time and challenge

The Google play store is the official site and portal

for developers are the new ones that continually

for Android app.

appear in market. Native apps works without the

As one project

connectivity of the internet. If you are working in an 112

ISSN 2278 – 1447

Volume – 5, Issue-1, International Journal of Mathematical Sciences and Engineering (IJMSE), March 2016

environment where there is no connectivity, native

some shortcomings also. Internet connection is a

app is the way to go. Since native apps work with the

must in web apps. Web apps are not compatible with

device’s built-in features, they are easier to work with

smartphone features like camera, GPs, phone dialing,

and also perform faster on the device. Application

etc. Web apps are not even listed in play store. Users

build in this category are platform dependent. So

have to search it on the web to use. Performance of

whatever language you will use, you will have the

web apps is slower as compared to native apps. They

full access to IDEs which provide better tools to

are also more difficult to build a regular user-base,

develop and debug the project faster. Examples of

unless they save it as a bookmark. Users won’t have

native apps are Angry Birds, Shazam1. With all these

the app’s icon on their devices as it is a web link

benefits

few

which can be open as required. As a developer or

disadvantages also. Maintenance of the Native app is

publisher you can’t send them notifications to bring

complicated task both for the users and developers.

them back to your content.

of

native

apps,

they

have

a

Developers have to program it according to different platforms and users have to update it regularly. The

C. Hybrid apps

development cost of this app is more if you are making

application

for

different

Hybrid apps combine technologies from native and

platforms.

mobile Web apps to gain the benefits of each. They

Sometimes it becomes very difficult for the developer

behave like a native app because they are installed

to give maintain and offer support as users of

from a web store and have access to device specific

different mobile may be using different versions of

features as in native app but developed using web app

the apps.

tools [3]. The tools for hybrid app can modify prepackaged HTML pages, can change user interface according to device platform and allow both offline

B. Web Apps Web apps work with the devices that have

and online usage [2]. Hybrid mobile apps can be

browser therefore they can work on desktop

released on multiple platforms when using certain

computers as well on mobiles. In responsive web

web technologies like HTML5, CSS3 and JavaScript.

application, design decided by the server and applied

It will

at client level renders according to device features .

prepare softwares for each platform. The Netflix app

Whereas mobile web app that provides better

is one example of a hybrid app which runs the same

usability as compare to responsive web, its content,

code base on all platforms. Facebook, TuneIn Radio,

provided merely for mobile devices consequently

LinkedIn are some of the examples of hybrid apps.

there is a need to maintain different sites for each

There are a few disadvantages of using hybrid app

device [3]. Users need not to go to mobile app store

development. Hybrid apps are not executed natively;

to update or download the application. Whenever the

the HTML5 and JavaScript portion of the app is

users will log in, they will get the updated version.

rendered and executed by the platform’s Web engine,

Developers also need not to bother about the mobile

which adds another layer between the user and the

platform. There will be the single universal version

app. This can make the execution of the application

which can be used by any mobile platform. Hence,

slower. This is a new technique as compared to other

the maintenance cost of the web app is low. Example

two, so there are less tools available for the

of

development of hybrid apps. Sometime, performance

Safari

and

Chrome

web apps

giben

in

mobiloudwebsite. On the other hand, web app has

save the overhead time and cost used to

issues for certain types of apps are there in hybrid 113

ISSN 2278 – 1447

Volume – 5, Issue-1, International Journal of Mathematical Sciences and Engineering (IJMSE), March 2016

apps like on complex native functionality or heavy

libraries that will help programmers to develop best

transitions, such as 3D games.

Android applications. Moreover, Java can be used to program native apps, mobile web apps and hybrid apps.

IV. APPLICATION DEVELOPMENT

It

is an

object

oriented

programming

environment that is used for platform independent

LANGUAGES Choosing the right development tool is very

application. The application running on battery

crucial and important decision. A new technology's

driven devices built by J2ME java family, it provides

successful adoption often depends on its development

networking support and has API JSRO82 for

tools. Good tools help new developers more easily

Bluetooth technology . Java with Eclipse IDE

get started and make experienced developers more

provided app running on Android and support web

productive. For instance, the success of Microsoft's

view. For blackberry app both J2ME and Eclipse IDE

programming environment is closely associated with

are suitable. Java CLDC Emulation required for

the success of its Visual Studio tools. This topic

windows phone and J2ME for Symbian.

summarizes the major app development languages available for different platform that we discussed in

C. JavaScript

section II with their relevance to cross platform

JavaScript supported by all platforms, Android and

mobile apps.

iPhone have full featured browser while the browser on Blackberry support JavaScript 1.0, 1.1, 1.2, and 1.3. Therefore HTML and CSS code based on

A.Objective-C Objective-C with Xcode IDE, primary programing

platform specific

browser features of one device

language offered by Apple only for iOS [4] provides

cannot be used on another device with different

object oriented capabilities, requires dynamic runtime

browser features.

and runs merely on MAC operating system2. It is used to build native apps that run directly on iOS

D. HTML 5

Xcode suits include interface builder and instrument.

It is considered by many developers and

In the MVC design pattern for iPhone application

companies as a standard for web development and

development Objective-C class

required for view

even hybrid can be used with HTML 5 framework .

controller and web view can also be included in

Due to HTML 5 difference in native and hybrid has

native iPhone application.

reduced significantly, moreover an app in HTML and JavaScript deployed on local system can provide a similar structure as native apps. It provides

B. Java Java7 is a very popular programming language

information regarding error handling and also support

when it comes to mobile application programming.

offline storage, network connectivity, multimedia,

Many developers are using this language as it easy to

sockets and threads, drawing animation and advanced

use and many online tutorials are available to get the

form controls. A very prominent feature of HTML 5

help while development process. One of the popular

is client side storage and up to 5 MB data can be

development tools of Java is Android SDK.

It

stored by the user of the web application. iPhone and

includes many standard Java libraries like data

Android support web application developed using

structure libraries, math libraries, graphics libraries,

HTML 5.

networking libraries as well as special Android 114

ISSN 2278 – 1447

Volume – 5, Issue-1, International Journal of Mathematical Sciences and Engineering (IJMSE), March 2016

with the web services through JSON, REST new type

E. C# It is used for Microsoft mobile and a web or

of applications and services can be created. Bluetooth

desktop application implemented in Java can be

protocol use for Bluetooth connectivity between

translated to C# for windows mobile platform. It

devices and gsm_ module for location awareness.

targets the .Net CLI and take advantage of .Net

The native development languages of different

framework. In C# developer can take advantage of

smartphone operating system are mentioned in .

web libraries, database connectivity, and socket

Table 1 summerizes mobile platform support for the

programming . F. PHP In mobile web apps server

set of app development languages with IDE

side applications can be built using PHP, Node.js and

according to what it is stated in section II and IV. To

ASP.Net. PHP IDE provides a framework to create

conclude this discussion we have come up with that

robust mobile PHP applications4. With PHP we can

there are various languages used for cross-platform

access the user agent string for detecting device,

application development. According to report of

attain information about browser, check device

developereconomics-q3-2014 research only 15% of

capabilities and image rendering with PHP WURFL

mobile developers are targeting browser while 42 %

API. Open source PHP is required for Android.

are using HTML, CSS, and Java Script. Whereas Java, C / C++, Objective C and C# are also very popular among developers. According to statistics

G. C\C++ Microsoft windows phone C++ use within XAML

mentioned in that research we provide the percentage

app and in games. Windows phone runtime native

of

primary

languages

API are built in C++ and can be projected in C# or

development in fig .1

share

in

mobile

app

VB.Net . Android native libraries written in C\C++ [16]. Symbian C++ provides full access to device

V.CONCLUSION

features and improved speed, that is an edge for In this paper, we discussed cross-platform mobile

Symbian C++ over python and java and eclipse based

learning development. Through the comparison and

carbide C++ is preferred IDE for Symbian and Nokia.

contrast we have proposed that adopting a hybrid app

Open C provides cross-platform development, a set

technique is most suitable for such mobile app

of middleware libraries for the smartphone platform

developers. From this study, we have learned that

and TCP /IP socket programming.

there are several frameworks that are feasible for hybrid crossplatform mobile app with each of them.

H. Python

In order to avoid re-implementation of the same

Python with a rich and standard library of modules

applications for different platform separately. Studies

is defined. It provides a scripting solution using

also show that there are many existing learning

Symbian C++API. Used for Symbian particularly

systems that are not being explored fully and will

Nokia’s platform. It can run on Windows, MAC OS,

probably have a bright future if some more

Linux and Symbian OS. It supports a rich set of

functionality

smartphone features such as sending and receiving

is

considered

and

proper

implementation is carried out. Therefore, in our

SMS / MMS, camera, bluetoooth, network access,

future work we will still continue the studying of the

sound recording and playing, text to speech and 2D /

latest cross-platform framework, device features

3D graphics. It supports different dialogs e.g. pop-up

accessible by these frameworks, and implement a

notes, query, pop-up menu, select list. By combining 115

ISSN 2278 – 1447

Volume – 5, Issue-1, International Journal of Mathematical Sciences and Engineering (IJMSE), March 2016

[4] N. M. Hui, L. B.. Chienget, W. Y. Ting, H. H. Mohamed, and

Learning system incorporating new features. Hence,

M. Rafie, “Cross-Platform Mobile Applications for Android

this study is important for a cross-platform mobile

and iOS”, IFIP WMNC, IEEE 2013.

learning application development.

[5] P. Gokhale, and S. Singh, “Multi-platform Strategies, Approaches

and

Challenges

for

developing

Mobile

applications”, CSCITA 2014.

REFERENCES

[6] D. H. Setiabudi, L. J. Tjahyana, and Winsen, “Mobile Learning Application Based On Hybrid Mobile Application Technology

[1] D. V. Sanchez, E. H. Rubio, E. F. Ruiz, and A. M. Viveros,

Running On Android Smartphone and Blackberry”.

“Student Role Functionalities Towards Learning Management

[7] B. A. Babatunde, L. Chia-Feng, and Y. Shyan-Ming, “A Cross-

Systems As Open Platforms Through Mobile Devices”, IEEE

Platform

2014.

Mobile

Learning

System

Using

QT

SDK

Framework”, Fifth International Conference on Genetic and

[2] I.Dalmasso, S. K. Datta, C. Bonnet, and N. Nikaein, “Survey,

Evolutionary Computing 2011.

Comparison and Evaluation of Cross Platform Mobile

[8] J. F. Lu, and Y. Zhang, “Mobile Application Development

Application Development Tools”.

Based on Adobe AIR”, IEEE 2013.

[3] N. Serrano, J. Hernantes, and G. Gallardo, “Mobile Web Apps”, IEEE Software 2013.

116