Professional Documents
Culture Documents
CHAPTER TWO
• Understand the concepts on develop, deploying and compiling mobile web application
• In 1991, Mark Weiser envisioned the next-generation computer technologies that "weave themselves
into the fabric of everyday life until they are indistinguishable from it."
• He described a ubiquitous computing 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.
• 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.
• 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.
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
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 HTML and CSS, with the interactive parts in Java.
• 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
• Android
• IOS • BlackBerry
• Windows
• 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
• 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 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
• 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.
• 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.
• 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
• F. Platform independence. While different browsers may support different versions of HTML5, if
platform independence is important, you definitely have a better chance of achie ving 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.
• 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 fo r all.
• 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. NN/g clients often find that going fully 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.
• 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.
• Below are some tools and technologies for developing cross-platform mobile web application (native,
web and hybrid)
• 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
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.
Cost
Cloud computing eliminates the capital expense of buying hardware and software and setting
up and running on-site datacenters—the racks of servers, the round-the-clock electricity for
power and cooling, and the IT experts for managing the infrastructure. It adds up fast.
Speed
Most cloud computing services are provided self service and on demand, so even vast amounts
of computing resources can be provisioned in minutes, typically with just a few mouse clicks,
giving businesses a lot of flexibility and taking the pressure off capacity planning.
Global scale
The benefits of cloud computing services include the ability to scale elastically. In cloud speak,
that means delivering the right amount of IT resources —for example, more or less computing
power, storage, bandwidth—right when they’re needed, and from the right geographic
location.
Productivity
On-site datacenters typically require a lot of “racking and stacking”—hardware setup, software
patching, and other time-consuming IT management chores. Cloud computing removes the
need for many of these tasks, so IT teams can spend time on achieving more important
business goals.
The biggest cloud computing services run on a worldwide network of secure datacenters, which
are regularly upgraded to the latest generation of fast and efficient computing hardware. This
offers several benefits over a single corporate datacenter, including reduced network latency
for applications and greater economies of scale.
Reliability
Cloud computing makes data backup, disaster recovery, and business continuity easier and less
expensive because data can be mirrored at multiple redundant sites on the cloud provider’s
network.
Security
Many cloud providers offer a broad set of policies, technologies, and controls that strengthen
your security posture overall, helping protect your data, apps, and infrastructure from potential
threats.
First, you need to determine the type of cloud deployment, or cloud computing architecture,
that your cloud services will be implemented on. There are three different ways to deploy cloud
services: on a public cloud, private cloud, or hybrid cloud. Learn more about public, private, and
hybrid clouds.
Public cloud
Public clouds are owned and operated by a third-party cloud service providers, which deliver
their computing resources, like servers and storage, over the Internet. Microsoft Azure is an
example of a public cloud. With a public cloud, all hardware, software, and other supporting
infrastructure is owned and managed by the cloud provider. You access these services and
manage your account using a web browser. Learn more about the public cloud.
Private cloud
A private cloud refers to cloud computing resources used exclusively by a single business or
organization. A private cloud can be physically located on the company’s on-site datacenter.
Some companies also pay third-party service providers to host their private cloud. A private
Hybrid cloud
Hybrid clouds combine public and private clouds, bound together by technology that allows
data and applications to be shared between them. By allowing data and applications to move
between private and public clouds, a hybrid cloud gives your business greater flexibility, more
deployment options, and helps optimize your existing infrastructure, security, and compliance.
Learn more about the hybrid cloud.
Most cloud computing services fall into four broad categories: infrastructure as a service (IaaS),
platform as a service (PaaS), serverless, and software as a service (SaaS). These are sometimes
called the cloud computing "stack" because they build on top of one another. Knowing what
they are and how they’re different makes it easier to accomplish your business goals.
The most basic category of cloud computing services. With IaaS, you rent IT infrastructure—
servers and virtual machines (VMs), storage, networks, operating systems —from a cloud
provider on a pay-as-you-go basis.
Serverless computing
Overlapping with PaaS, serverless computing focuses on building app functionality without
spending time continually managing the servers and infrastructure required to do so. The cloud
provider handles the setup, capacity planning, and server management for you. Serverless
architectures are highly scalable and event-driven, only using resources when a specific
function or trigger occurs.
Software as a service is a method for delivering software applications over the Internet, on
demand and typically on a subscription basis. With SaaS, cloud providers host and manage the
software application and underlying infrastructure, and handle any maintenance, like software
upgrades and security patching. Users connect to the application over the Internet, usua lly with
a web browser on their phone, tablet, or PC.
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.
• *4+ Ghatol R. and Patel Y. (2012). Beginning PhoneGap: Mobile Web Framework for JavaScript and
HTML5. Apress