Mobile Applications Development Unit - 1
Mobile Applications Development Unit - 1
UNIT -1
INTRODUCTION TO MOBILE APPLICATION DEVELOPMENT
Mobile Computing
Mobile Computing is a technology that allows transmission of data, voice and video via a
computer or any other wireless enabled device without having to be connected to a fixed
physical link. The main concept involves −
Mobile communication
Mobile hardware
Mobile software
Mobile communication
The mobile communication in this case, refers to the infrastructure put in place to ensure that
seamless and reliable communication goes on. These would include devices such as protocols,
services, bandwidth, and portals necessary to facilitate and support the stated services. The data
format is also defined at this stage. This ensures that there is no collision with other existing
systems which offer the same service.
Since the media is unguided/unbounded, the overlaying infrastructure is basically radio wave-
oriented. That is, the signals are carried over the air to intended devices that are capable of
receiving and sending similar kinds of signals.
Mobile Hardware
Mobile hardware includes mobile devices or device components that receive or access the
service of mobility. They would range from portable laptops, smartphones, tablet Pc's, Personal
Digital Assistants.
These devices will have a receptor medium that is capable of sensing and receiving signals.
These devices are configured to operate in full- duplex, whereby they are capable of sending
and receiving signals at the same time. They don't have to wait until one device has finished
communicating for the other device to initiate communications.
Above mentioned devices use an existing and established network to operate on. In most cases,
it would be a wireless network.
Mobile software
Mobile software is the actual program that runs on the mobile hardware. It deals with the
characteristics and requirements of mobile applications. This is the engine of the mobile device.
In other terms, it is the operating system of the appliance. It's the essential component that
operates the mobile device.
Since portability is the main factor, this type of computing ensures that users are not tied or
pinned to a single physical location, but are able to operate from anywhere. It incorporates all
aspects of wireless communications.
TYPES OF MOBILE COMPUTING DEVICES:
Mobile computing is not only limited to mobile phones, but there are various gadgets available in the
market that are built on a platform to support mobile computing. They are usually classified in the
following categories −
With PDA devices, a user can browse the internet, listen to audio clips, watch video clips, edit and
modify office documents, and many more services. The device has a stylus and a touch sensitive screen
for input and output purposes.
Smartphones
This kind of phone combines the features of a PDA with that of a mobile phone or camera phone. It has
a superior edge over other kinds of mobile phones.
Smartphones have the capability to run multiple programs concurrently. These phones include high-
resolution touch screens, web browsers that can access and properly display standard web pages rather
than just mobile-optimized sites, and high-speed data access via Wi-Fi and high speed cellular
broadband.
The most common mobile Operating Systems (OS) used by modern smartphones include Google's
Android, Apple's iOS, Nokia's Symbian, RIM's BlackBerry OS, Samsung's Bada, Microsoft's Windows
Phone, and embedded Linux distributions such as Maemo and MeeGo. Such operating systems can be
installed on different phone models, and typically each device can receive multiple OS software updates
over its lifetime.
Tablet PC and iPads
This mobile device is larger than a mobile phone or a PDA and integrates into a touch screen and is
operated using touch sensitive motions on the screen. They are often controlled by a pen or by the touch
of a finger. They are usually in slate form and are light in weight. Examples would include ipads, Galaxy
Tabs, Blackberry Playbooks etc.
They offer the same functionality as portable computers. They support mobile computing in a far
superior way and have enormous processing horsepower. Users can edit and modify document files,
access high speed internet, stream video and audio data, receive and send e-mails, attend/give lectures
and presentations among its very many other functions. They have excellent screen resolution and
clarity.
Web Apps
The web app has the fortune of being used on various devices with the only
requirement being a web browser and an internet connection. As long as the web
app is written for cross-browser compatibility then you’re a go. The dilemma is
that in contrast to the native app, it requires internet access and its operation
speeds are dependent on the quality of cell signal or the speed of the wi-fi
broadband you are connected to. This also alludes to the fact that you have to be
in the range of either connection. You might not be able to use the web app inside
of buildings or in lower level facilities. One other issue is you won’t have access
to internal hardware such as GPS and other connectivity.
Native Apps
A native mobile app is one that is installed directly on the smartphone and can
work, in most cases, with no internet connectivity depending on the nature of the
app. A web app works via a web browser on the smartphone but requires either a
cell signal or wi-fi to function.
The benefits of the native app are that it can work independently of the web, but
most are pulling information or function from the web. There is an aspect of
“behind the scenes” in the native app that is presenting web content within the
app itself sans browser. The native app can work much faster by harnessing the
power of the processor. and can access specific hardware like GPS. In some
smartphones, the app can control devices and act as a controller itself.
Native Apps
Work with a specific mobile device.
The app is downloaded to a mobile device.
Functionality is integrated with the device features.
Often perform faster than web apps.
The app store approval process guarantees security and compatibility.
SDKs and other tools used by developers provide ease of development.
Can be more expensive to create and maintain.
The app store approval process can be daunting.
Web Apps
The app is internet-enabled.
Users access the app from the mobile device's web browser.
Easy to maintain due to a common code base across multiple mobile platforms.
Can be made compatible with any older mobile device.
Released at the developer's discretion since there's no app store approval process.
Limited in what device features it can access.
Safety and security aren't guaranteed.
More opportunities to monetize.
Alan Kay, a researcher at the now famous Xerox PARC (Palo Alto Research Center) has a vision
for a portable computer. He called it the Dynabook, but it never got past sketches and a
cardboard model. At the time, Xerox was unwilling to commission funding for his idea and it
remained undeveloped until the late 1970’s.
1981:
The Osborne Computer Corporation releases the world’s first consumer laptop: The Osborne 1.
While revolutionary, its main limitation was a small 5” screen (only displaying 52 characters per
line of text). It sold for $1,795; it also came with about $1,500 of free software:
CP/M System, CP/M Utility, SuperCalc spreadsheet application, WordStar word processing
application with MailMerge, Microsoft MBASIC programming language and Digital Research
CBASIC programming language.
Manufacturers make the switch from Plasma screens to LCD to save battery. This is considered
one of the most important evolutions for the laptop.
1982:
Epson starts selling its HX-20, a portable computer with a small 120 x 32 resolution
monochrome LCD screen. This was powered by rechargeable batteries, had a full-sized keyboard
and a built-in dot matrix printer. Some consider this the true first laptop because the Osborne 1
ran out of battery too quickly to be considered useful for mobile computing.
1983: The Kyocera Kyotronic appears on the scene, and is considered by some the most used
and useful of the early laptops. It had a larger eight line, 40-character-wide LCD screen, featured
several basic built-in applications and ran on AA batteries. This model sold extremely well and
was used widely by every occupation.
The Commodore SX-64 becomes known as the first to produce a portable color screen. A very
small quantity of this model was produced and never had success, probably because of higher
selling prices. It is thought that these were mainly used by Commodore insiders.
1984: The first touchscreen is developed on the Gavilan SC, which is the first to be marketed
with the term ‘laptop’.
Mid 1980’s: Color STN (Super Twisted Nematic) and DSTN (Dual Scan Super Twist Nematic)
screens bring color to mainstream laptop development.
1989:
The Apple Macintosh portable is one of the first to feature an active matrix 640 x 400 screen,
which eradicated the blurring that most other portable computer screens were known to have.
This is Apple’s first contribution to the mobile computing movement.
GriDPad is released, commonly thought of as the first tablet computing device. The operating
system was MS-DOS.
2 1990s
1990: Intel announces its 20MHz 386SL processor, and was the first CPU to be designed
specifically with mobile computing in mind, featuring power management features and sleep
modes to conserve battery life. AMD, Intel’s big rival in the processor market at the time, didn’t
seem bothered (although they didn’t produce a mobile-specific processor until 1999). Despite the
continuing availability of mobile-specific equivalents from Intel, many manufacturers still opted
to squeeze the cheaper, non-mobile products from AMD into their laptops.
1992: Windows 3.1.1 is released and becomes the standard operating system for laptops.
Previously, laptops had relied on custom BIOSs and drivers to extend the battery life of their
machines. With the introduction of the Windows 3.1.1 operating system, rudimentary power
management was built into the operating system for the very first time, making working on the
move more practical.
1993: The PDA (personal digital assistant) is introduced to the United States by Apple. Their
model, the Newton MessagePad had a 20 MHz ARM 610 processor, 4 MB of ROM, and 640k of
SRAM. It was the first attempt to recognize natural handwriting and use a basic form of artificial
intelligence in a small digital device.
The IBM Simon is released, and considered the first smartphone. It acted as a mobile phone,
PDA, and fax machine all in one. It offered a touch screen, which is the precursor to the Apple
iPhone which would come 14 years later. It sold for $899.
British company called Psion makes the Series 5 organiser, a handheld device that boasted a
well-engineered keyboard.
Late 1990s: Laptops continue to become streamlined, and address issues of battery life, screen
clarity, memory, processor speed, and weight. They gradually become thinner and more
streamlined, growing cheaper in the process, selling for about $1,500.
2000: Microsoft unveils a new handheld OS, which sparks the beginning of the Pocket PC era.
Pocket PC is a specification for a handheld-sized computer or personal digital assistant (PDA),
which runs the Microsoft ‘Windows Mobile Classic’ operating system. It typically has some of
the capabilities of a desktop PC. Many models exploded on the market, including models from
Casio, Compaq, and HP, among others.
Microsoft introduces a prototype for a tablet PC, promising it would come to market within the
next 2 years.
2002: Microsoft keeps its promise and develops the Microsoft Tablet PC.
2002: Research in Motion introduces its first BlackBerry smartphone. This launches the rise of
smartphones, and the BlackBerry enterprise.
2006: Toshiba releases the Qosmio, which boasted the first HD DVD player in a computer. HD
DVD lost the second format wars with bluray. The first format war was betwen Betamax
and VHS.
Palm develops and releases the Treo, with 32MB of RAM and
144MHz of processing power.
2007:
Apple launches its first iPhone, which integrated a touchscreen display with the best
Web-browsing experience to yet be offered on a mobile device.
Google unveils Android.
2009: Motorola introduces the Droid, the first Android-based smartphone. It sold over 1 million
units within 74 days of its release.
2010:
Apple launches the iPad, a line of tablets designed, developed and marketed primarily as
a platform for audio-visual media including books, periodicals, movies, music, games,
and web content.
Samsung releases the Galaxy Tab, an Android-based tablet to compete with the Apple
iPad.
WAP Model:
The user opens the mini-browser in a mobile device. He selects a website that he wants to view. The
mobile device sends the URL encoded request via network to a WAP gateway using WAP protocol.
The WAP gateway translates this WAP request into a conventional HTTP URL request and sends it over
the internet. The request reaches to a specified Web server and it processes the request just as it would
have processed any other request and sends the response back to the mobile device through WAP
gateway in WML file which can be seen in the micro-browser.
WAP Protocol stack:
1. Application Layer:
This layer contains the Wireless Application Environment (WAE). It contains mobile device
specifications and content development programming languages like WML.
2. Session Layer:
This layer contains Wireless Session Protocol (WSP). It provides fast connection suspension and
reconnection.
3. Transaction Layer:
This layer contains Wireless Transaction Protocol (WTP). It runs on top of UDP (User Datagram
Protocol) and is a part of TCP/IP and offers transaction support.
4. Security Layer:
This layer contains Wireless Transaction Layer Security (WTLS). It offers data integrity, privacy and
authentication.
5. Transport Layer:
This layer contains Wireless Datagram Protocol. It presents consistent data format to higher layers
of WAP protocol stack.
We all know the basic functionality of the browser — it’s what connects you with everything
on the web. Your browser allows you to shop online, watch videos, upload pictures, play
games, and billions more. More technically though, the browser is a software application
that retrieves and displays information from a server including web pages, text, images,
Why do different browsers respond differently to websites, and why is there more than one
to begin with? How do browsers work and where did the need for cross-browser
testing come from? By understanding the history and backend of some major browsers
including Chrome, Safari, Internet Explorer (IE), Firefox, and Opera, it’ll be easier to
Browser Timeline
There’s an entire history of web browsers. Before the web browsers we knew today, there
were the first browsers, which are no longer in use or have highly evolved.
1990 – The WorldWideWeb (not to be confused with the World Wide Web) was the first
browser ever created by W3C Director Tim Berners-Lee, then renamed Nexus to
differentiate from the actual World Wide Web. Unlike today, this was the only browser
1992 – Lynx was a texted-based browser that couldn’t display any graphic content.
1993 – Mosaic was the first browser to allow images embedded in text making it “the
1995 – Internet Explorer made its debut as Microsoft’s first web browser.
1996 – Opera started as a research project in 1994 that finally went public two years
later. This was also arguably the beginning of the browser wars, mainly between IE 3 and
2003 – Apple’s Safari browser was released specifically for Macintosh computers instead
of Navigator.
2007 – Mobile Safari was introduced as Apple’s mobile web browser and continues to
2008 – Google Chrome appeared to soon take over the browser market.
2011 – Opera Mini was released to focus on the fast-growing mobile browser market.
Evolution of HTML
1993 - Present
The first version of HTML was written by Tim Berners-Lee in 1993. Since then, there have been many
different versions of HTML. The most widely used version throughout the 2000's was HTML 4.01, which
became an official standard in December 1999.
Another version, XHTML, was a rewrite of HTML as an XML language. XML is a standard markup
language that is used to create other markup languages. Hundreds of XML languages are in use today,
including GML (Geography Markup Language), MathML, MusicML, and RSS (Really Simple
Syndication). Since each of these languages was written in a common language (XML), their content
can easily be shared across applications. This makes XML potentially very powerful, and it's no surprise
that the W3C would create an XML version of HTML (again, called XHTML). XHTML became an official
standard in 2000, and was updated in 2002. XHTML is very similar to HTML, but has stricter rules. Strict
rules are necessary for all XML languages, because without it, interoperability between applications
would be impossible. You'll learn more about the differences between HTML and XHTML in Unit 2.
Most pages on the Web today were built using either HTML 4.01 or XHTML 1.0. However, in recent
years, the W3C (in collaboration with another organization, the WHATWG), has been working on a
brand new version of HTML, HTML5. Currently (2011), HTML5 is still a draft specification, and is not yet
an official standard. However, it is already widely supported by browsers and other web-enabled
devices, and is the way of the future. Therefore, HTML5 is the primary language taught in this
course.
HTML5 has added support for many new features that will make it possible to do more with HTML,
without relying on non-standard proprietary technologies.
Image Yes Yes Yes Embed a photograph or drawing into a web page
Evolution of JavaScript
JavaScript is everywhere, and for the seventh year in a row, it has been ranked the most commonly used
programming language, with 67.8% of developers employing it in 2019. Its ascent to the world’s most
popular programming language is synonymous with the rise of the internet itself.
Created out of necessity, it is used to build 95.2% (1.52 billion) of websites today, including some of the
world’s largest, like Facebook and YouTube. Without it, we would not have popular and useful web apps
such as Google Maps and eBay.
What Is JavaScript?
JavaScript is a scripting language that is one of the three core languages used to develop websites.
Whereas HTML and CSS give a website structure and style, JavaScript lets you add functionality and
behaviors to your website, allowing your website’s visitors to interact with content in many imaginative
ways.
JavaScript is primarily a client-side language, meaning it runs on your computer within your browser.
However, more recently the introduction of Node.js has allowed JavaScript to also execute code on
servers.
Since its release, JavaScript has surpassed Java, Flash, and other languages because it is relatively easy
to learn, has a free and open community, and, most importantly, is incredibly useful, allowing developers
to quickly create apps with audiences in the millions.
JavaScript Origins
The early to mid-1990s was an important time for the internet. Key players like Netscape and Microsoft
were in the midst of browser wars, with Netscape’s Navigator and Microsoft’s Internet Explorer going
head to head.
JavaScript didn’t exactly get off to the best start. It didn’t perform as well, and those developing in Java
considered JavaScript more of a “UI glue” to be used mostly by designers and other non-engineers. But
the reality is that having a “glue” language allowed the internet to really flourish. Programmers could react
better to use events and compose interactive components. And due to that, JavaScript spread like
wildfire and very quickly became the lingua franca of the web.
ECMAScript Is Born
In 1997, due to JavaScript’s rapid growth, it became clear that the language would need to be properly
maintained and managed. Therefore, Netscape handed the job of creating a language specification to the
European Computer Manufacturers Association (ECMA), a body founded with the goal of standardizing
computing. The ECMA specifications were labeled ECMA-262 and ECMAScript languages included
JavaScript, JScript, and ActionScript.
Between 1997 and 1999, ECMA-262 had three revisions, but nearly 10 years later, version 4 was
abandoned due to differing opinions on the direction of the language and its proposed features.
Interestingly, many of these controversial features, such as generators, iterators, and destructuring
assignments, have been included in more recent ECMAScript specifications.
This paper is considered to be one of the founding backbones of the JavaScript community. At the time,
JavaScript had many challenges, including its verbose nature when doing simple things and the
incompatibility issues between browsers. The community responded with large and popular JavaScript
frameworks and libraries, such as Dojo and Mootools and jQuery.
In 2009, the CommonJS project set out to define and promote JavaScript development outside the
browser by using modules to package useful code and functionality. This paved the way for Node.js as an
environment to run browserless JavaScript. Now the language that ran the frontend of the internet was
able to tackle the servers behind the scenes.
JavaScript Today
From its slightly rocky start, JavaScript has risen to be the most popular programming language in the
world. According to GitHub’s 2018 Octoverse report, there are more JavaScript code repositories than any
other language—and that number is steadily on the rise.
A series of JavaScript frameworks and libraries, such as Ember, Angular, React, and Vue, have been
developed to allow powerful and complicated web applications to be written using small teams within
short time spans. Alongside client and server software, it is now even possible to write native mobile
apps using JavaScript. Unsurprisingly, this is becoming increasingly popular due to the ability to share
code between the worlds of mobile and web.
With all this choice, it’s somewhat understandable that there has also been a movement toward a more
grassroots, “vanilla” implementation of JavaScript. Web components, small reusable custom browser
elements, are the latest challenger aiming to be the next breakthrough in the JavaScript world. Whatever
the next big thing is, it’s clear that JavaScript is going to be with us for many years to come.