Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Mastering jQuery Mobile
Mastering jQuery Mobile

Mastering jQuery Mobile: Design and develop cutting-edge mobile web applications using jQuery Mobile to work across a number of platforms

$43.99 $29.99
Book Jul 2015 262 pages 1st Edition
eBook
$43.99 $29.99
Print
$54.99
Subscription
$15.99 Monthly
eBook
$43.99 $29.99
Print
$54.99
Subscription
$15.99 Monthly

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jul 30, 2015
Length 262 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781783559084
Category :
Table of content icon View table of contents Preview book icon Preview Book

Mastering jQuery Mobile

Chapter 1. Getting Started

Are you all excited, as we are, to get started? Well, before we start writing some code, we have a few things we need to do first. These first couple of chapters may be light on code, but are rich in concepts and ideas that you will need on your journey to master jQuery Mobile.

Before we begin, let's talk briefly about what jQuery Mobile is and, more importantly, what it isn't. It is an extension of jQuery that will allow you to create cross-browser web applications and websites that will look the same, regardless of the mobile browser used to view them and the underlying mobile OS. jQuery Mobile provides wide browser and device coverage using progressive enhancement, making your website accessible on the widest range of devices and browsers. It also enhances the form inputs and UI widgets to be touch-friendly. It is not a framework that will allow you to build native applications, but you can use this framework to build hybrid mobile applications. In one of the last chapters of this book, we will look at using one such framework—Apache's Cordova.

Now that we have got that out of the way, grab your drink of choice, fire up your computer, and let's rock 'n' roll.

Overview


In this chapter, we will look at installing the XAMPP server stack for both Windows and Mac OS X, installing the Aptana Studio integrated development environment (IDE), and then start looking at using jQuery Mobile and the various methods you can use in your project to include the framework. We will then create a small application to get our feet wet with jQuery Mobile. For some of you this could be a simple refresher, but for others this could be a crash course introduction.

You may be asking yourself, "Why am I installing a full server stack, and is jQuery Mobile usage tied to PHP or any of the technology in the XAMPP stack?" While this book is focused on development with jQuery Mobile, we will be doing a very small bit of PHP with MySQL, just to show the interaction between the two, and so we will be setting up our XAMPP stack. However, the usage of jQuery Mobile is completely independent of PHP and any other technology in the XAMPP stack, so developers should feel free to use any other server stack that they prefer for development. If you are not a PHP pro, don't worry; the code will be basic and we will explain it all. If you wish to enhance your PHP skills, check out any of the number of PHP titles Packt has published.

Also by no means are you bound to using your local machine. If you have a web server, feel free to use it; we just find it easier to develop on a local machine so we don't have to worry about making a change, uploading, testing, and repeating.

Installing XAMPP for Windows


XAMPP is a fully functional server stack by the folks at Apache Friends, which includes Apache, PHP, MySQL, Perl, Tomcat, phpMyAdmin, and much more in one installation package. By installing it, you don't have to worry about manually setting up each component of a WAMP stack, you simply execute the installer and choose the components you wish to install.

To get started, we will need to download the latest stable XAMPP installer from https://www.apachefriends.org/index.html. We recommend using the installer rather than the ZIP file method for this book.

After we have it downloaded, the installation is pretty straightforward:

  1. Double-click on the installation file and you will be asked to select a language. Make your choice and choose OK.

  2. If you are using Windows Vista or higher, and User Account Control (UAC) is enabled, you will see a warning that some functionality may be limited if installed to the Program Files directory. Click OK.

  3. Another warning may pop up prompting you to install the Microsoft Visual Studio 2008 redistributable package. Click Yes and you will be taken to a Microsoft downloads page where you can download this redistributable from. Download it and install it before continuing with the XAMPP installation.

  4. Click on Next and you will be shown all the components that make up the XAMPP package. Select the features you want but for this book, be sure to pick at least Apache, PHP, MySQL, and phpMyAdmin, as they will be utilized at some point in this book.

  5. The default directory should be fine, so leave it as is and click Next.

  6. This screen will ask you if you wish to learn more about Bitnami; this is your choice, so if you do not want to see more information, simply uncheck the checkbox and click Next.

  7. The installation itself will take several minutes to complete. Once it is finished, click on Finish from the screen that pops up.

  8. You will now see a screen that will inform you that all the services can be controlled through the XAMPP control panel. It will ask you if you want to open that screen now; click on Yes.

  9. In the control panel, you will be able to start, stop, and restart all the services that were installed with XAMPP. By default, some of these services may be turned off. For now, let's make sure that Apache and MySQL are both running by clicking on Start next to the service name.

Installing XAMPP for Mac OS X


XAMPP also has a package available for those running Mac OS X and it is a million times easier to install than its Windows counterpart.

Download XAMPP from the same page as the Windows binaries: https://www.apachefriends.org/index.html. Double-click on the .DMG file that you just downloaded, and drag the XAMPP folder into the Applications directory. After this is completed, open the XAMPP control panel found in Applications and start the Apache and MySQL services.

Regardless of what OS you installed XAMPP, we can verify the installation on both in the same way. Open up your browser and go to the address http://localhost/xampp. If all went well, you will see a screen similar to the following:

Congratulations! You now have a full-blown testing/development server ready for use to go with this book. If you don't see a screenshot like the preceding one, double check to make sure you did not miss a step.

Note

Important XAMPP Notes

There are a couple things you need to be aware of with regards to XAMPP. First off, it is a great product for situations like this when you need to set up a quick development environment, but it should be used for just that: a development environment. You should not use XAMPP as a production server. Instead, you should install and configure each component individually for various security reasons.

XAMPP for Mac is still listed as being in beta, therefore you could come across some bugs. If running beta software on your Mac scares you a bit, there are other alternatives such as MAMP, which is a very popular Mac stack available at http://www.mamp.info/en/index.html.

There is also a version of XAMPP for Linux, so if that is your OS of choice, feel free to download and install it for the purposes of this book.

Installing Aptana Studio


Aptana Studio is a free, open source IDE built off of Eclipse. We will be using Aptana Studio 3 for this book and you can download it from http://www.aptana.com/products/studio3/download.html.

To install Aptana Studio 3 on a Windows machine, follow these instructions:

  1. Double-click on the installer file and select Next to get the installation started.

  2. Choose I Agree to accept the license agreement.

  3. The default directory should be fine, as should the default programs group, so hit Next on these two steps.

  4. The installer will now prompt you to choose which file extensions Aptana should be the default editor for. Leave the default settings on this screen. You can change them later in the IDE settings if you need to. Click on Next.

  5. Click on Install to start the installation. Once the installation is finished, click on Next and then on Close.

Installing Aptana Studio on Mac is just as easy as it was for installing XAMPP. After you download the .DMG file, open it up and drag the indicated folder into your Applications folder.

Now that Aptana Studio is installed, open it up and you will be presented with a dialog box asking you to set up your default workspace directory. Go ahead and set this to be your htdocs folder of your XAMPP installation. For you folks on Windows, that directory will be c:\xampp\htdocs (provided you used the default directory). For the Mac users, this will be /Applications/XAMPP/htdocs. By setting this default workspace, any new projects we create will automatically be created and saved here, making it easier for us to test.

Also for you Mac users, there are some further steps that you may need to do for Apatana Studio to work correctly. By default, the XAMPP htdocs folder is owned by root, and because of this, it is set to read-only. In order for you to create and save to this directory, we will need to change those permissions.

  1. Click on the folder in Finder and then choose Get Info from the File menu.

  2. Click on the triangle next to Sharing and Permissions to display the permissions for the selected file or folder.

  3. Click on the lock and authenticate with an administrator account.

  4. Use the menus next to users and groups to change the permissions.

  5. Once you are finished, close the Info window.

Of course, if you need further assistance with Aptana Studio or even XAMPP, refer to their respective websites for support. If you happen to fall in love with Aptana Studio and wish to learn more about it, check out Aptana Studio Beginner's Guide, Thomas Deuling, Packt Publishing.

Tip

We chose to use Aptana Studio 3 as an IDE for this book, so that you can follow along without having to purchase the same IDE we use (we use Zend Studio). Aptana Studio is free so if you have never used an IDE before, you now have an option. If you have an IDE already that you use on a daily basis, use it for the book. Just adjust any steps listed for Aptana to fit your own IDE.

Downloading jQuery Mobile


Now we finally get to the meat and potatoes of what this book is about: jQuery Mobile. First thing we need to do is download the framework to use it in our projects. You have two ways of doing this. You can download a prebuilt ZIP file containing the latest stable release and everything you will need to use jQuery Mobile. The second option is that you can build a package that contains only the pieces you need, including earlier versions or unstable branches.

In this book, we will be using the complete package. There are couple reasons for this. First of all, we will be using and looking at so many different aspects of the framework that it would take a lot of space here for us to tell you which pieces to select in the builder. More importantly, as noted on the jQuery Mobile website, the builder is currently in alpha and is not recommended for production environments. Yes, we realize that we are not in a production environment here, but we don't want to try to master a framework by using code that could be unstable. We believe that's enough babbling, let's start downloading!

Go to http://jquerymobile.com. On the top right- hand side of the page, you will see the links to download the latest stable version (which at the time of writing this book is 1.4.5) and a link to the download builder. Click on the link for the latest stable. After the ZIP file is downloaded, go ahead and open it up and you should see the following:

That's quite daunting, isn't it! No worries at all though; we will only be referencing a few of the files here, but let's talk about the overall contents of the ZIP file so that you will have a better understanding of what you just downloaded:

  • demos: We highly recommend that you look at and play around with the contents of this folder. You will find numerous examples here of the different elements of jQuery Mobile. Go now, spend some time with it and then come back—we'll wait.

  • images: This directory contains all of the icons that jQuery Mobile uses throughout the framework. You won't have to reference these directly, rather jQuery Mobile does so through CSS and its core JavaScript files.

  • *.css files: These are several style sheets that make up the overall jQuery Mobile framework. They control the preceding icons, the theme (more on that later), structure, and more.

  • jquery.mobile-1.4.5.css: This is the main and most important CSS file of the download and the one that you will reference and use in your applications.

  • jquery.mobile-1.4.5.js: This is the core JavaScript of the framework.

    Note

    You may have noticed that there are two versions of each file. One that has .min appended to the filename and one that does not. Those with .min are compressed minified files. This means they do not have any white spaces, new line characters, and comments in them. They are the absolute smallest in size that they can be and are hard to read as they do not have any formatting. Uncompressed files, or those without .min, contain comments, spacing, and more things that make them easier to read.

    As a rule of thumb, you should develop with the uncompressed files; that way, if you have any questions or need to see how something works, you can easily read the file. When you deploy the application, use the .min files so that the application size is smaller.

    A smaller web application will load faster, uses less bandwidth, and any little bit helps in a time where we have metered bandwidth on mobile devices. Google checks for the page load time as part of SEO. Faster loading JavaScript and CSS files will help you score brownie points and hence minified (.min) files should be preferred in the production environment.

Using the framework via the CDN


There is a third way to acquire and use the framework. In the previous section, we looked at two different ways in which we can download and include the framework locally in our project. In addition to downloading jQuery Mobile, you can also use it via a content delivery network (CDN).

When using a CDN such as Google or even jQuery's own, you do not have the files stored on your local server. Instead, when the user loads your web application or site, it makes a connection to the CDN and uses it from there. This offers a few advantages over having it on the server. One of the biggest advantages is that it increases parallelism. Typically your browser can only download a couple of files at a time from the same server. So if you load the jQuery files, jQuery Mobile framework JavaScript and CSS files, a few custom CSS, and JavaScript files, this can cause a bottleneck as you will have to wait for all the files to download. If you use a CDN, your application makes a connection to Google's server, for example, and downloads a couple of files while your local ones load. This may not seem like a lot of benefit since the files are so small, but it can make a world of difference to your end user. Some other advantages are as follows:

  • If the user visits other sites that use the same CDN, the framework files could already be cached, thereby decreasing your load time even more.

  • It reduces the load on your web server. If you have a heavily used site or application, this could decrease the use of your own server resources.

  • Using a CDN can also allow the user to download the framework files even faster since there may be a CDN mirror closer to the user location than your web server.

So with all these cool advantages, why in the world would we ever want to use it locally? I mean, it sounds like we'd be stupid to ever download it again. Well, my friends, as with many things in life, there is always a downside.

Obviously, the biggest downfall is offline applications. If you are expecting or even adding the slightest bit of offline functionality to your project, then you cannot have the project going off server to use the framework from a CDN. It would have to be stored locally. If the user is offline, they won't be able to download it from the CDN and therefore would not be able to use the project that you worked so hard on.

Okay, so you're not planning on any offline functionality of your project. What else could stop you from using it via a CDN? Well, my friends we have a few more downfalls:

  • If your project is on a company intranet, there may be ACLs or firewalls in place that could prevent your internal webserver from accessing the outside world.

  • If your website is using an SSL certificate, the user will get a warning that they are accessing information from an unsecure site. This could spook many users and they may not trust your website.

  • If you make custom changes or add new functionality to the framework, you will obviously need to store it locally unless you're an absolute rock star and get your changes rolled into the main builds.

Well, we assume that we have covered the advantages and disadvantages of the usage of CDN well enough, so let's look at how and from where we can load jQuery Mobile.

There are three main CDNs we can use in our projects. They are Google, Microsoft, and of course, jQuery itself. Are there advantages to using one over the other? Possibly, but I think the differences would be small. Google may offer more mirrors but more people may use jQuery's own CDN meaning more people would have it cached, so in the end there may be no difference in efficiency.

We will look at the code for each of the CDNs and you can pull it from whichever one you wish to use.

Google's CDN

Google's CDN code is as follows:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js "></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script>

Microsoft's CDN

Microsoft's CDN code is as follows:

<link rel="stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.0.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

jQuery's CDN

jQuery's CDN code is as follows:

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>

So what are we doing in each of these blocks? Well, the first line of each block <link rel...> is loading in the CSS file we need for the project. The first <script src...> loads jQuery itself into our project. With the current version of jQuery Mobile, you can use jQuery versions 1.8 to 1.11 or 2.1. You will have to make sure that for every jQuery Mobile application, you will need to refer to the jQuery library before you refer to the jQuery Mobile JavaScript file.

Tip

This brings up a good point: even though we are using jQuery Mobile, we still need to load jQuery core. jQuery Mobile is not a replacement for jQuery proper but more of an extension, much like jQuery UI is.

The final <script src…> file loads jQuery Mobile itself. So let's get our feet wet in code now.

Seeing the framework in action


So far in this chapter we have done nothing but talk about jQuery Mobile, how we get it, why we should do things a certain way, blah blah. You're a developer; you want to see this in action and now you will. We are going to make a simple jQuery Mobile application. We'll see the code and then we'll explain what is going on within each piece of code:

  1. Go ahead and fire up Aptana Studio 3.

  2. Navigate to File | New | Web Project.

  3. Pick the default template

  4. Name the project whatever you like.

Don't worry too much about everything in Aptana Studio right now, as we'll look at it in more detail in the next chapter.

Right-click on your project and navigate to New | File from the pop-up menu. Name the file index.html. Add the following code to the file:

<html>
  <head>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scrolable=no">
      <title>jQuery Mobile: Getting Started</title>
      <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
      <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
      <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
  </head>
  <body>
    <div data-role="page">
      <div data-role="header">
        <h3>Web Development Books</h3>
      </div>
      <div role="main" class="ui-content">
        <ul data-role="listview" data-inset="true" data-divider-theme="b">
          <li data-role="list-divider">JavaScript</li>
          <li>
            <a href="#">Object Oriented JavaScript</a>
          </li>
          <li>
            <a href="#">JavaScript Unit Testing</a>
          </li>
          <li data-role="list-divider">PHP</li>
          <li>
            <a href="#">RESTful PHP Web Services</a>
          </li>
          <li>
            <a href="#">Instant RESS</a>
          </li>
        </ul>
      </div>
    </div>
  </body>
</html>

When we execute this code, open up your browser and you should see the output similar to what we will see in the following screenshots on a mobile device:

That wasn't so hard, was it? Now, it's time to break down the code and see what's going on under the hood:

<html>
  <head>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scrolable=no">
      <title>jQuery Mobile: Getting Started</title>
      <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
      <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
      <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
  </head> 

This is your standard HTML5 header with us loading the jQuery Framework from the jQuery CDN. Also notice in-keeping with tradition, we are loading the compressed jQuery and jQuery Mobile files so that we have the smallest possible footprint we can have:

<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scrolable=no">

Now, you may or may not know this line, depending on how much mobile development experience you have. This line is important as it really makes a difference to how your website or application looks on a mobile browser. Apple started it for use on iOS Safari but has since been adopted by others. If you did not have this line in your project, the page we have would be rendered "zoomed out" basically. The user would have to double-click or zoom in via other means to see the page. By having this, we make sure mobile browsers are on their best behavior in helping your project look fabulous when the user visits:

<div data-role="page">

This is the start of jQuery Mobile specific code. For the most part, our project is straight HTML5. There is very little actual JavaScript involved, but we have these weird div lines sprinkled throughout. These are jQuery Mobile tags. It uses the standard div tag but adds on these things called data roles. In this instance, we are giving div the role of a page. The page role is the main role in jQuery Mobile. We'll discuss this in more detail in another chapter. For now, let's keep moving.

<div data-role="header">
<h3>Web Development Books</h3>
</div>

Here we are using another role, the header role. This allows us to display "Web Development Books" in a different manner than the rest of the page. As you might have noticed in the preceding screenshots, the entire text in the header is not visible. Whenever the text in the header is long, it will be truncated and appended by the ellipses (...). So make sure that you do not have really long names in the header. However, if long names cannot be averted, you can override the jQuery Mobile CSS to make sure that the text in the header is not truncated.

<div role="main" class="ui-content">
<ul data-role="listview" data-inset="true" data-divider-theme="b">
    <li data-role="list-divider">JavaScript</li>
    <li>
      <a href="#">Object Oriented JavaScript</a>
    </li>
    <li>
      <a href="#">JavaScript Unit Testing</a>
    </li>
    <li data-role="list-divider">PHP</li>
    <li>
      <a href="#">RESTful PHP Web Services</a>
    </li>
    <li>
      <a href="#">Instant RESS</a>
    </li>
  </ul>
</div>

This is the heart of our page, the content. Within the div tags, we are creating an unordered list, which jQuery Mobile then renders for us as buttons almost. If we had the links going to existing pages rather than the dummy link, the user could click the list items and navigate through the project. Again, we will be discussing these in much greater detail in another chapter.

Are you still with us? Everything might seem a bit overwhelming right now, even though we hope it doesn't, but as we go and you write more code, things will get easier and you'll see how powerful jQuery Mobile is without having to write a lot of complicated code.

Summary


In this chapter, we set up a local development server using XAMPP, and we installed an IDE to use for the book with Aptana Studio 3. We looked at the different ways you can download jQuery Mobile for local use in your project and then you saw how we can use it from the different CDNs, along with the advantages and disadvantages of using a CDN. Once all the basic setup was completed, we created our first jQuery Mobile project.

In the chapter that follows, we will take a look at the different tools and techniques that will help us not just in the development process, but also help us test our application as we develop it.

Left arrow icon Right arrow icon

Key benefits

What you will learn

Create a theme for your jQuery Mobile application by using the ThemeRoller tool Test your application on a variety of resolutions through Screenfly Master pages, panels, popups, toolbars, and navbars in jQuery Mobile Understand how mobile web design best practices can enhance your mobile web application Allow your users to navigate pages with a swipe gesture and add transitions and effects to the page changes Discover how to create jQuery Mobile widgets that will extend the framework to suit your needs See how Apache Cordova can turn your web application into a native Android or iOS app Use jQuery Mobile with other popular JavaScript frameworks and technologies such as Backbone.js and Node.js

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Jul 30, 2015
Length 262 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781783559084
Category :

Table of Contents

17 Chapters
Mastering jQuery Mobile Chevron down icon Chevron up icon
Credits Chevron down icon Chevron up icon
About the Authors Chevron down icon Chevron up icon
About the Reviewers Chevron down icon Chevron up icon
www.PacktPub.com Chevron down icon Chevron up icon
Preface Chevron down icon Chevron up icon
Getting Started Chevron down icon Chevron up icon
Tools and Testing Chevron down icon Chevron up icon
Mobile Design Chevron down icon Chevron up icon
Call to Action – Our Main Project Chevron down icon Chevron up icon
Navigation Chevron down icon Chevron up icon
Controls and Widgets Chevron down icon Chevron up icon
Working with Data Chevron down icon Chevron up icon
Finishing Touches Chevron down icon Chevron up icon
The Next Level Chevron down icon Chevron up icon
Mobile Best Practices and Efficiency Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.