Get Developing Responsive Web Applications with AJAX and jQuery 1st Edition Sandeep Kumar Patel PDF ebook with Full Chapters Now
Get Developing Responsive Web Applications with AJAX and jQuery 1st Edition Sandeep Kumar Patel PDF ebook with Full Chapters Now
https://ebookfinal.com/download/flask-web-development-developing-web-
applications-with-python-1st-edition-miguel-grinberg/
https://ebookfinal.com/download/liquid-crystal-dimers-1st-edition-
sandeep-kumar/
https://ebookfinal.com/download/developing-web-applications-with-
visual-basic-net-and-asp-net-1st-edition-john-alexander/
https://ebookfinal.com/download/ajax-and-php-building-modern-web-
applications-2nd-edition-bogdan-brinzarea-iamandi/
AJAX Rich Internet Applications and Web Development for
Programmers 1st Edition Paul J. Deitel
https://ebookfinal.com/download/ajax-rich-internet-applications-and-
web-development-for-programmers-1st-edition-paul-j-deitel/
https://ebookfinal.com/download/the-responsive-web-1st-edition-
matthew-carver/
https://ebookfinal.com/download/programming-asp-net-mvc-4-developing-
real-world-web-applications-with-asp-net-mvc-1st-edition-jess-
chadwick/
BIRMINGHAM - MUMBAI
www.allitebooks.com
Developing Responsive Web Applications with AJAX
and jQuery
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
ISBN 978-1-78328-637-9
www.packtpub.com
www.allitebooks.com
Credits
Reviewers Proofreaders
Fernando Doglio Simran Bhogal
Md. Zahid Hasan Paul Hindle
Mohammad Amzad Hossain
Indexers
Jake Kronika
Hemangini Bari
Copy Editors
Roshni Banerjee
Sarang Chari
Janbal Dharmaraj
Gladson Monteiro
Deepa Nambiar
Karuna Narayanan
Adithi Shetty
www.allitebooks.com
About the Author
www.allitebooks.com
About the Reviewers
Fernando Doglio has been working as a web developer for the past 10 years.
During that time, he fell in love with the Web and has had the opportunity of
working with most of the leading technologies such as PHP, Ruby on Rails,
MySQL, Node.js, AngularJS, AJAX, REST APIs, and others.
In his spare time, he likes to tinker and learn new things, which is why his
GitHub account keeps getting new repos every month. He's also a big open
source supporter and tries to win the support of new people with the help
of his site: http://www.lookingforpullrequests.com/. He can be contacted
on Twitter at @deleteman123.
When not programming, he can be seen spending time with his family.
Md. Zahid Hasan is a professional web developer. He got his BSc and MSc in
Information and Communication Engineering from University of Rajshahi (RU),
Rajshahi. Now, he is working as a Lecturer in the department of Computer Science
and Engineering at Green University of Bangladesh. He previously worked as a
Software Developer at SEleven IT Limited for 2 years in Bangladesh.
He has a wide range of technical skills, Internet knowledge, and experience across
the spectrum of online development in the service of building and improving online
properties for multiple clients. He enjoys creating site architecture and infrastructure,
backend development using open source tools such as Linux, Apache, MySQL,
and PHP (LAMP), and frontend development with CSS and HTML/XHTML.
www.allitebooks.com
Mohammad Amzad Hossain has 7 years of experience building large-scale
complex websites and web applications. He works as a Branch Manager in Sourcetop
Inc. where he leads an offshore team in Dhaka, Bangladesh. His day-to-day life
requires him to plan, analyze, guide, and provide solutions for complex requirements.
In his free time, he digs into recent trends in web development and follows hundreds
of RSS that help him to keep up in the fast-track world of development. He has a BSc
degree in Computer Science Engineering.
He began his career early in life using online tools for static content and rapidly
progressed to building dynamic applications incorporating databases and server-side
scripting languages. He has been a Senior User Interface Software Engineer at ADP
Dealer Services in Seattle, WA, USA from 2011. Prior to this, he occupied numerous
senior-level positions in the UI space in Chicago, IL. He has also balanced considerable
freelance work under a sole proprietorship named Gridline Design & Development,
accessible at http://gridlined.com/, online since 1999.
Over the past several years, particularly as the HTML, CSS, and JavaScript portions
of websites have experienced rapid evolution, he has continually sought out and
digested new technological knowledge through reading, personal and client projects,
and other means. Some of his favorite current tools include Node.js and AngularJS,
Less/Sass, and Git VCS.
Prior to this book, he was a technical reviewer for the following Packt
Publishing titles:
www.allitebooks.com
www.PacktPub.com
Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at www.PacktPub.com and
as a print book customer, you are entitled to a discount on the eBook copy. Get in touch
with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up
for a range of free newsletters and receive exclusive discounts and offers on Packt books
and eBooks.
TM
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can access, read and search across Packt's entire library of books.
Why subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print and bookmark content
• On demand and accessible via web browser
www.allitebooks.com
www.allitebooks.com
Table of Contents
Preface 1
Chapter 1: Introduction to a Responsive Web Application 7
Benefits of a responsive design 8
Server- versus client-side detection 9
The technology stack 9
HTML5 10
CSS3 and media queries 10
JavaScript 11
Measuring responsiveness 11
Devices and screens 12
Media types 12
Media queries 14
Role of media queries 15
Responsive frameworks 15
Bootstrap 16
The Foundation framework 16
The Cascade framework 16
The Pure CSS framework 17
The Gumby framework 17
Bootstrap 3 for a responsive design 17
What are we building? 18
Summary 19
www.allitebooks.com
Table of Contents
[ ii ]
Table of Contents
[ iv ]
Table of Contents
[v]
Preface
Welcome to Developing Responsive Web Applications with AJAX and jQuery. If you
want to learn and understand responsive layout development or social application
integration using AJAX and jQuery, then this book is for you. It covers a systematic
approach for building a responsive web application.
All the key features of a responsive application are explained with the detailed
code. It also explains how to debug and test a responsive web application
during development.
Chapter 2, Creating a Responsive Layout for a Web Application, explains how to develop
a layout that will support different screen sizes to render using Bootstrap 3.
Chapter 6, Google+ Integration, shows how to integrate the Google+ login and +1
feature into the web application.
Preface
Chapter 7, Linking Dynamic Content from External Websites, explains how to integrate
the YouTube API to embed a recommended video into a web application.
Chapter 9, Integrating the Google Currency Converter with Your Web Application,
explains how to integrate the Google Currency API to help a user see the amount
in a different currency.
Chapter 10, Debugging and Testing, introduces the different available online and offline
tools to test a responsive application during development.
Conventions
In this book, you will find a number of styles of text that distinguish between
different kinds of information. Here are some examples of these styles, and an
explanation of their meaning.
[2]
Preface
Code words in text, database table names, folder names, filenames, file extensions,
pathnames, dummy URLs, user input, and Twitter handles are shown as follows:
"The data-toggle attribute has the value for the effect property such as collapse."
New terms and important words are shown in bold. Words that you see on
the screen, in menus or dialog boxes for example, appear in the text like this:
"The Arguments option is for passing additional arguments."
[3]
Preface
Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this book—what you liked or may have disliked. Reader feedback is important for
us to develop titles that you really get the most out of.
If there is a topic that you have expertise in and you are interested in either writing
or contributing to a book, see our author guide on www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things to
help you to get the most from your purchase.
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes
do happen. If you find a mistake in one of our books—maybe a mistake in the text or
the code—we would be grateful if you would report this to us. By doing so, you can
save other readers from frustration and help us improve subsequent versions of this
book. If you find any errata, please report them by visiting http://www.packtpub.
com/submit-errata, selecting your book, clicking on the errata submission form link,
and entering the details of your errata. Once your errata are verified, your submission
will be accepted and the errata will be uploaded on our website, or added to any list of
existing errata, under the Errata section of that title. Any existing errata can be viewed
by selecting your title from http://www.packtpub.com/support.
[4]
Preface
Piracy
Piracy of copyright material on the Internet is an ongoing problem across all media.
At Packt, we take the protection of our copyright and licenses very seriously. If you
come across any illegal copies of our works, in any form, on the Internet, please
provide us with the location address or website name immediately so that we
can pursue a remedy.
We appreciate your help in protecting our authors, and our ability to bring you
valuable content.
Questions
You can contact us at [email protected] if you are having a problem with
any aspect of the book, and we will do our best to address it.
[5]
www.allitebooks.com
Introduction to a Responsive
Web Application
In this chapter, we be introduced to responsive web design followed by an
understanding of technology stack that made responsive web application
development possible.
The current trend of technology revolution has led us to a point where we can
see many wireless devices with different screen size, resolution, and processing
capabilities. It is really challenging and difficult to create different versions of
web applications for each and every device type. To address this challenge,
it needs a design solution that can address these problems. Responsive web design
provides the platform and flexibility where we can write code once and publish the
application everywhere.
Designing a website to look good at one particular resolution was the standard and
that standard was adequate for almost all purposes. Now, more and more people
are viewing web content on smartphones and tablets. The most successful websites
must have content designed to fit on any size screen or any type of device. Designing
content in this manner is also known as responsive web design. We need to give
all users, regardless of their access platform, a seamless experience, and responsive
web design offers a cost-efficient way of achieving that. Responsive web content can
dynamically change size, fonts, and colors to match whatever device your customers
might be using.
Introduction to a Responsive Web Application
Responsive web design uses a single code base, but in reality, different devices have
to be accounted for. While a desktop version can display a lot of content at once,
for smaller screens, you need to know exactly what content truly matters. To create
a great experience for all users, you need to consider that people will use different
devices in different circumstances and with different goals. With a responsive web
design, more effort and time will be involved to get the right user experience for
your target audience.
[8]
Chapter 1
If you look into different applications present online such as blogs and sports
applications, then you will notice that the end user behaviors are similar and follow
a common pattern. To provide the same experience for the end users, the layout and
other elements in the application must be designed for customization. This needs
more effort and time in developing the layout and the code.
The second one is the client-side detection. It should be done by the browser and
apply relative CSS based on the device or screen type. With this idea, the responsive
design is born. The real benefit is that one has to maintain a single code base for this.
web Media
application queries
[9]
Introduction to a Responsive Web Application
HTML5
HTML5 is the latest version of HTML, released by the W3C foundation with more
modern features included such as more semantics and usability features. This helps
in responsive web application development with more ease and less effort. Some of
the key points that highlight why HTML5 is a better candidate than other versions of
HTML are as follows:
• Inclusion of new HTML5 elements such as video and audio as native reduces
the use of an additional third-party plugin
• Enhanced existing elements such as form element reduce the need for an
additional amount of code to be written
• Inclusion of Canvas and SVG for graphic rendering and drawing adds
additional capabilities
• CSS3 animations and transitions reduce the need for JavaScript processing,
favoring, instead, a native implementation that can vastly improve
performance on mobile devices where processing power can be quite
limited, while falling back gracefully to immediate changes in browsers
that do not support them.
• Support of new measuring units such as rem helps in building a logical
relationship among elements' dimensions present inside a page.
• Ultimately, the vw and vh units will greatly enhance the ability of a
developer to size elements relative to the viewport.
• FlexBox provides numerous benefits with direction-based alignment and
element ordering inside a layout. For a responsive design, this means that
a default ideal order can be established via the document order to provide
greater SEO benefits, while different ordering can be provided based on
viewport size, device orientation type, and so on, to display content in the
best format for a given use case.
[ 10 ]
Chapter 1
JavaScript
JavaScript brings the capability of feature detection for the browser. It helps in
choosing the right component for the end user and makes the browser responsive
to its environment.
• Browser feature detection helps you to find features that are supported
by the browser. This helps in helps you to execute the appropriate code
in the application.
• Rendering behavior of the site can be altered using JavaScript.
Measuring responsiveness
There are many parameters for measuring the responsiveness of an application.
Layout, content, and navigation are the three most important parameters for a
responsive web application development. The following diagram shows the three
different building blocks of a responsive web application:
[ 11 ]
Introduction to a Responsive Web Application
A wide screen with good graphics and pixel density may be the best fit for a gaming
end user. For a regular end user, a small device is a good fit. The web application
design must support all these screen sizes. The usability and the user experience
must be equivalent to all types of screens. Also, it is much more important when it
comes to an e-commerce site. If the end user is browsing the site on a mobile device
and the e-commerce device is only designed for a desktop, then it does not generate
the same pleasant experience that will lose the leads.
The soul of an e-commerce site is lead generation and it is only possible when the
application will provide seamless access to the end user irrespective of the browsing
device. This clearly requires the application to be responsive to its environment or
adapt itself based on the screen or device.
Media types
All these devices (desktops, tablets, mobiles, and laptops) fall in one of the
following media types. The following figure shows all the media types listed
in the W3C specification:
[ 12 ]
Chapter 1
TV
Media
type
TTY
Available expressions for media queries to filter the CSS rules are as follows:
[ 13 ]
Introduction to a Responsive Web Application
Media queries
Media queries are one of the best features of CSS3. Using this feature, we can decide
which style sheet should be applied on the web page at runtime.
Media queries can be used as external or internal style sheets. An external style sheet
is easier to organize; it is not downloaded by browsers that don't support it, but it
uses an extra HTTP request. An internal style sheet, on the other hand, does not
require an extra HTTP request, but the whole style sheet is downloaded for browsers
even if they do not support media queries, and it can be harder to organize.
[ 14 ]
Chapter 1
• Height and width of the device refers to the size of the device
• Height and width of the browser refers to the viewable area
• Screen resolution refers to the pixel and color depth of the screen
• Orientation of the device refers to the portrait or landscape mode
Using media queries, the layout can be designed in the following two ways:
• The adaptive layout: This is based on a pretty simple idea: instead of using
percentage, we will give our layout fixed sizes. The layout will adapt those
sizes depending of the width of the browser/viewport, thus creating a layout
with different breakpoints.
• The responsive layout: This is a mix between fluid and adaptive layouts.
It will use the relative units of the fluid layout and the breakpoints of the
adaptive one.
Responsive frameworks
There are many frameworks available from different vendors for responsive
web application development. Some of the popular libraries are explored in the
following sections.
[ 15 ]
www.allitebooks.com
Introduction to a Responsive Web Application
Bootstrap
Some of the key points about the Bootstrap framework are as follows:
[ 16 ]
Chapter 1
• The whole library comes under four different modules: grid, typography,
icons, and components. It has also some reusable web page templates in a
different section.
• You can get more information from http://www.cascade-framework.com/.
• CSS: This module has a lot of standard classes to use and is easily extendable
for customization
• Component: This module has all the reusable built-in components
• JavaScript: This module has the jQuery plugin in Bootstrap style
[ 17 ]
Introduction to a Responsive Web Application
Some important features that we are going to use in our web application
development are presented in the following diagram:
• Grid layout: This module has different grid classes for xs, sm, md, and lg
type devices. The details of these grid classes are listed as follows:
°° xs stands for extra small devices. For example, a phone's screen
resolution is less than 768 pixels.
°° xm stands for small devices. For example, a tablet's screen resolution
is greater than or equal to 768 pixels.
°° md stands for medium devices. For example, a desktop's screen
resolution is greater than or equal to 992 pixels.
°° lg stands for large devices. For example, a desktop's screen resolution
is greater than or equal to 1200 pixels.
[ 18 ]
Chapter 1
Summary
In this chapter, we have learned about the need for a responsive web application
and what challenges it brings to a web developer. We have also learned about the
latest responsive libraries available for development. We have understood how
a responsive layout can increase the user experience. In the following chapter,
we will learn to develop a responsive layout using CSS3.
[ 19 ]
Creating a Responsive
Layout for a
Web Application
In this chapter, we will set up our Java-based web project and develop the layout
required to create our responsive web application. The process of developing the
layout follows a step-wise approach. Initially, we will draw a wireframe for the
layout, and then, we will prepare code for each section using Bootstrap 3 classes.
Later on in this chapter, we will verify the layout with different screen sizes
using some tools.
The different available project types present are shown in the following screenshot.
When this window appears, choose the Dynamic Web Project option.
[ 22 ]
Chapter 2
When you have chosen the Dynamic Web Project option, a New Dynamic
Web Project window will open asking for Project name, as shown in the
following screenshot:
[ 23 ]
Creating a Responsive Layout for a Web Application
For our application, we will name the project MyResponsiveWebApp. The project
structure will look like the following screenshot:
The WebContent folder consists of all the HTML, CSS, and JavaScript files.
The Navigator view of this empty project will look like the following screenshot:
[ 24 ]
Chapter 2
Configuring Bootstrap 3
In this section, we will configure the Bootstrap 3 library in our web project.
Download the Bootstrap 3 library from http://getbootstrap.com/getting-
started/#download. Bootstrap 3 has three different folders in its distribution
package. They are explained as follows:
• js: This folder contains all the scripts required for the Bootstrap 3 library
• fonts: This folder contains all the font-related files including the Glyph icons
• css: This folder contains all the style sheet-related files with Bootstrap's
default theme
dist js
[ 25 ]
www.allitebooks.com
Exploring the Variety of Random
Documents with Different Content
“Mr Dilnot has produced a book entertaining and, in the main,
thoughtful.”
[2]
DIMMOCK, F. HAYDN, ed. Scouts’ book of
heroes; with foreword by Sir Robert Baden Powell. il
*$2.50 Stokes 940.3
“Mr McBey’s pen sketches deserve more than passing mention, for
he is no mere illustrator. His economy of line and his ability to
convey an indelible impression of these arid stretches of Palestinian
landscape, their undeniable color and beauty, are more than
fortuitous.”
“The book is intensely interesting both for its geography and its
history.”
“The reason why one reader is unimpressed by this plot, and even
finds it absurd, is because he is unimpressed by Susan. She is over-
clever, over-sprightly. So, for that matter, is the whole book.” H. W.
Boynton
− Bookm 52:68 S ’20 500w
“For all its Stevensonesque touches, for all the moments when one
glimpses a mind like Pater’s, or a glimmer of Ibsen, through the
palings of the back fence, as it were, one has nothing, except a couple
of characters—say five—to take away with one. The first part of the
story is delightful.”
“The book is much above the average novel, and the author’s
insight into feminine psychology quite remarkable. Moreover, it has
the great quality of interest.”
“The people in this narrative are the genuine variety. The character
of Susan is a well rounded one. There is nothing commonplace about
‘The book of Susan.’ Mr Dodd writes in a fresh, entertaining style and
has shaped his materials with no little skill.”
“In character depiction, in the give and take of dialogue, and in the
incidents, the novel is more arresting than the majority of the
American novels of the season.”
“It is fair to admit that Mr Dodd does his work with knowledge,
skill, and an independent judgment in details.” J. A. Hobson
“The long arm of coincidence is applied to its limit, but the story is
entertaining.”
[2]
DOLE, CHARLES FLETCHER. Religion for
the new day. *$2 (2½c) Huebsch 204
[2]
DOMVILLE-FIFE, CHARLES WILLIAM.
States of South America, the land of opportunity; a
complete geographical, descriptive, economic and
commercial survey. il *$5 Macmillan 918
“This work, which has been greatly enlarged and re-written since
its first appearance, now forms a comprehensive volume of
illustrated reference to the whole of the states of South America, and
not only as before, a few of the most important Latin-American
states.” (The Times [London] Lit Sup) Notice of the first edition
appears in the 1911 Digest Annual.
This is a jolly little book which makes the trip from Fatland into
Slimville an interesting adventure rather than a dismal undertaking.
The author writes from a wide experience and her “simple and
commonsensible rules for reduction” are emphasized by wit, humor
and jingles which seem to defy her own rules by never losing weight.
The menus given “require no additional expense to the household
budget nor do they need to upset the meal planning to any
unreasonable degree.” The exercises given are illustrated and the
contents are: A little physical geography; Some Slimville arguments;
Hard facts on a soft subject; The dangerous age; Get the weighing
habit; Reduce while you eat; What is an average helping; Reduced
thirty-six pounds in six weeks; Exercise; Recipes without butter,
flour and sugar. The author is “beauty editor” of the Chicago Tribune.
“The suggestion of the title that the content is of value only to the
metal-worker is misleading, for this book is in fact an elementary
treatise in the field of technology in general. It deals with
fundamental principles of chemistry and physics in their relation to
our daily life. One-eighth of the material handled, perhaps, applies
specifically to metal-working trades; the remainder is of general
informational value to the average layman as well as to the metal-
worker.”—School R
“When you read ‘Glory rides the range’ you feel that Ethel and
James Dorrance must have had a ‘bully good time’ writing it, so
enthusiastically and blithely does it gallop from one thrilling
situation to another.” E. M. Brown
The book is intended for use in the upper grades of the schools of
the state, it being a law of Wisconsin that its history and government
be taught in the common schools. It is as definite and as concrete as
brevity permits. Beginning with Jean Nicolet, the first white man to
set foot on Wisconsin soil in 1634, the book describes the Indians,
the first settlers, the various nationalities that have made Wisconsin
their home, its attitudes in national crises, its laws and industries,
etc.
“Those who agree with the premises will find the logic irresistible.
Others will be stimulated by the original though unorthodox thinking
and the fertile suggestions of the author’s scheme.”
+ Booklist 16:299 Je 20
“Mr Douglas is by no means clear as to the details of his case,
although his general contention has substantial force.” Ordway Tead
“Major Douglas knows his difficult subject from end to end. If the
fates had blessed him with the gift of clear exposition we might have
had here a volume of note. When he determines to keep clear from
terms which demand explanations, and concentrates on clarifying his
message of social regeneration, those who pay lip service to formal
political democracy will find in him a telling recruit to the growing
band of thinkers who deny the name of democracy to any system not
based upon economic freedom.”
“This small book offers much room for controversy both as to its
technical analysis of the effects of current accounting and credit
practices and as to the feasibility of remedies advocated. The ground
for controversy is widened by the author’s unfortunately vague and
sometimes bombastic style.” E. R. Burton
“The children make the book, especially Gervase and his dog. It is
worth reading for them alone.” I. W. L.
“A very able and delightful book, but it is not the kind of book that
the Marxian kind of person would like. The author has a good style
and a subtle sense of humour, together with the skill necessary for
the gradual unfolding of the characters.”
[2]
DOWST, HENRY PAYSON. Bostwick’s
budget. il *$1 Bobbs 331.84
20–18296
“An inspiring bit of a book for all those in debt; being the Odyssey
of Sam and Lucy, who owed $4,016.69 and through the advice of a
sagacious old lawyer and the use of grit, in a comparatively short
time found themselves out of debt and with money in the bank.”—
Cleveland
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookfinal.com