Learning Guide 1.2 CrossPlatform 2

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 33

Federal TVET Institute

Department of Information Communication Technology


Master of ICT Teachers Education

Learning Guide 1: Fundamental of


Mobile Communication Network
and Mobile Computing

Information Sheet 1.2: Mobile


Computing Platform and
Technologies
Objectives
• At the end of the chapter the students will be
able to:

• Know mobile computing platform


• Distinguish mobile, hybrid and native mobile
application
• Understand the concepts on develop,
deploying and compiling mobile web
application
1.6 Mobile Computing Platform and
Application
The original term is ubiquitous computing, an
environment that enhances the environment by
making many computers available throughout the
physical realm, while making them effectively invisible
to the user.
The aim of ubiquitous computing is to create a new
relationship between people and computers in which the
computers are kept out of the way of users as they go
about their lives.
1.7 What is a mobile app?
• A mobile app is a computer program designed
to run on smartphones, tablet computers and
other mobile devices
• Typically operated by the owner of the mobile
operating system, such as the Apple App
Store, Google Play,Windows Phone Store,
and BlackBerry App World. Some apps are
free, while others must be bought
• Mobile apps were originally offered for
general productivity and information
retrieval,
including email, calendar, contacts, stock
• market and weather information.
However, public demand and the availability
of developer tools drove rapid expansion into
other categories, such as those handled by
desktop application software packages.
1.8 Mobile Apps Development

• Developing apps for mobile devices requires


considering the constraints and features of
these devices.
• Developers also have to consider a wide array
of screen sizes, hardware specifications and
configurations because of intense competition
in mobile software and changes within each of
the platforms.
1.8 Mobile Apps Development

• Mobile user interface (UI) Design is also an


essential in the creation of mobile apps.
Mobile UI considers constraints and contexts,
screen, input and mobility as outlines for
design.
• Mobile UI design constraints include limited
attention and form factors, such as a mobile
device's screen size for a user's hand.
1.8 Mobile Apps Development

• Mobile UIs, or front-ends, rely on mobile back-


ends to support access to enterprise systems
• This functionality is supported by a mix
of middleware components including mobile
app servers, Mobile Backend as a
service (MBaaS), and Service-Oriented
Architecture (SOA) (example
REST) infrastructure.
Type of Mobile Apps: Native Apps,
Web Apps, and Hybrid Apps
There are three types of mobile app:
1. Native Apps
2. Web Apps,
3. Hybrid Apps
The native app
• It must be installed on the device; they either
arrive pre-installed on the phone – these
might include address book, calendar,
calculator, games, maps and Web browser.
• They are developed specifically for one
platform, and can take full advantage of all the
device features — they can use the camera,
the GPS, the accelerometer, the compass, the
list of contacts, and so on.
Web app
• The Web app resides on server and is
accessed via the Internet. It performs
specified tasks – potentially all the same ones
as a native application – for the mobile user,
usually by downloading part of the application
to the device for local processing each time it
is used.
• .The software is written as Web pages in
Jquery, HTML5
and CSS, with the interactive parts in Java.
Web app
• Web apps are not real applications; they are
really websites that, in many ways, look and
feel like native applications, but are
not implemented as such. They are run by a
browser and typically written in HTML5.
• Today, as more and more sites use HTML5, the
distinction between web apps and regular web
pages has become blurry. Its web app is, in many
ways, hard to distinguish from a native app
Hybrid apps
• Hybrid apps are part native apps, part web
apps
• Like web apps, they rely on HTML being
rendered in a browser, with the caveat that
the browser is embedded within the app.
• Hybrid apps are also popular because they
allow cross-platform development and thus
significantly reduce development costs
1.10 Architecture of Mobile Devices
• The architecture of a
mobile device is
similar to that of a
computer system. It
has custom built
hardware, firmware,
and operating
systems.
1.10 Architecture of Mobile Devices
• These three items are mostly proprietary and
are engineered, developed, and assembled
under one flagship organization
Most widely used mobile operating systems are:
• Android
• IOS
• BlackBerry
• Windows
Chart 1.1: Mobile Operating System
Dominance Chart
Native, Web App, or Hybrid: Which
Should You Choose?
• A. Device features. Although web apps can
take advantage of some features, native apps
(and the native components of the hybrid
apps) have access to the full paraphernalia of
device-specific features, including GPS,
camera, gestures, and notifications
Native, Web App, or Hybrid: Which
Should You Choose?
• B. Discoverability. Web apps win the prize on
discoverability. Content is a lot more
discoverable on the web than in an app: When
people have a question or an information
need, they go to a search engine, type in their
query, and choose a page from the search
results. They do not go to the app store,
search for an app, download it, and then try to
find their answer within the app
Native, Web App, or Hybrid: Which
Should You Choose?
• C. Speed. Native apps win the speed
competition. In 2012 Mark Zuckerberg
declared that Facebook’s biggest mistake had
been betting on the mobile web and not going
native. Up to that point, the Facebook app had
been a hybrid app with an HTML core; in 2012
it was replaced with a truly native app.
Native, Web App, or Hybrid: Which
Should You Choose?
• D. Installation. Installing a native or hybrid
app is a hassle for users: They need to be
really motivated to justify the effort.
“Installing” a web app involves creating a
bookmark on the home screen; this process,
while arguably simpler than downloading a
new app from an app store, is less familiar to
users, as people don’t use bookmarks that
much on mobile.
Native, Web App, or Hybrid: Which
Should You Choose?
• E. Maintenance. Maintaining a native app can be
complicated not only for users, but also for
developers (especially if they have to deal with
multiple versions of the same information on
different platforms): Changes have to be
packaged in a new version and placed in the app

store.
On the other hand, maintaining a web app or a
hybrid app is as simple as maintaining a web
page, and it can be done as often or as frequently
as needed.
Native, Web App, or Hybrid: Which
Should You Choose?
• F. Platform independence. While different
browsers may support different versions of
HTML5, if platform independence is
important, you definitely have a better chance
of achieving it with web apps and hybrid apps
than with native apps.
Native, Web App, or Hybrid: Which
Should You Choose?
• F. Platform independence. While different
browsers may support different versions of
HTML5, if platform independence is
important, you definitely have a better chance
of achieving it with web apps and hybrid apps
than with native apps. As discussed before, at
least parts of the code can be reused when
creating hybrid or web apps.
Native, Web App, or Hybrid: Which
Should You Choose?
• G. Content restrictions, approval process,
and fees. Dealing with a third party that
imposes rules on your content and design can
be taxing both in terms of time and money.
Native and hybrid apps must pass approval
processes and content restrictions imposed by
app stores, whereas the web is free for all.
Native, Web App, or Hybrid: Which
Should You Choose?
• H. Development cost. It’s arguably cheaper to
develop hybrid and web apps, as these require
skills that build up on previous experience with
the web.
native is a lot more expensive, as it requires
more specialized talent. But, on the other hand,
HTML5 is fairly new, and good knowledge of it,
as well as a good understanding of developing
for the mobile web and hybrid apps are also fairly
advanced skills.
Native, Web App, or Hybrid: Which
Should You Choose?
• I. User Interface. Last but not least, if one of your
priorities is providing a user experience that is
consistent with the operating system and with
the majority of the other apps available on that
platform, then native apps are the way to go.
That doesn’t mean that you cannot provide a
good user experience with a web app or a hybrid
app–it just means that the graphics and the
visuals will not be exactly the same as those
with which users may be already accustomed.
1.12 Cross-Platform Mobile Web
Development Tools
• Below are some tools and technologies for
developing cross-platform mobile web
application (native, web and hybrid)
1. HTML5, CSS, java script and Jquery
Mobile
• If you’re no stranger to HTML5, CSS3
and JavaScript, then Sencha Touch 2 and Adobe
Dreamweaer may be a great choice for creating
mobile apps on iPhone, Android and Blackberry.
• Now, with the PhoneGap plugin and basic
knowledge of HTML, CSS, and JavaScript, you can
create apps for iOS and Android devices. Both
Platform support: iOS, Android, Windows Phone
2. Cloud Based: Appery.io
• The platfrom is described as a “cloud-based
HTML5, jQuery Mobile and Hybrid Mobile App
Builder.” It’s very easy to use and builds real cross
platform HTML5 applications using jQuery
Mobile. You can add standard buttons, menus,
video, maps and other elements to your mobile
app and then bind events and corresponding
actions to them. It is a DIY app-creation platform
for building robust, native apps for iOS and
Android — no coding required.
3. PhoneGap
• It is a free, open source software that serves
as a bridge between individual mobile OS
SDKs, which have their own programming
languages and standard development
practices.Using PhoneGap, you can support
multiple mobile device operating systems
easier. You can create a mobile app using
HTML5, CSS3 and JavaScript, and then use
PhoneGap to package your work for specific
mobile operating systems.
4. Java
• Java is a popular programming for embedded
devices, web systems and mobile apps. It is
the primary programming languages for
android mobile apps development. Common
IDE are Eclipse and Android Studio in
conjunction with android SDK.
5. Objective-C (XCODE)
• –This is primary programming language in
developing an ios mobile apps. It only runs
and implements on apple computer and mac
os x.
References:
• [1] Valentino Lee, Heather Schneider, and Robbie
Schell, Mobile Applications: Architecture, Design, and
Development, Prentice Hall, 2004.
• [2] Bill Phillips, Chris Stewart, Brian Hardy, and Kristin
Marsicano, Android Programming: The Big Nerd Ranch
Guide, Big Nerd Ranch LLC, 3rd edition, 2017.
• [3] Murphy, Mark (2013). Android Programming Tutorials.
Commonware Books
• [4] Ghatol R. and Patel Y. (2012). Beginning PhoneGap:
Mobile Web Framework for JavaScript and HTML5. Apress

[5] Cerna, Patrick (2017). Teachers Training Learning
Materials: Mobile Communication Network and
Technology.

You might also like