100% found this document useful (2 votes)
10 views

Mastering Ext JS 2nd Edition Learn how to develop advanced and efficient Internet applications with Ext JS Loiane Groner - Download the ebook now to start reading without waiting

The document promotes the 2nd edition of 'Mastering Ext JS' by Loiane Groner, which teaches advanced development of Internet applications using Ext JS. It includes links to download the book and other related resources from ebookfinal.com. Additionally, it provides information about the author's background and expertise in software development.

Uploaded by

naincyparuk
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
10 views

Mastering Ext JS 2nd Edition Learn how to develop advanced and efficient Internet applications with Ext JS Loiane Groner - Download the ebook now to start reading without waiting

The document promotes the 2nd edition of 'Mastering Ext JS' by Loiane Groner, which teaches advanced development of Internet applications using Ext JS. It includes links to download the book and other related resources from ebookfinal.com. Additionally, it provides information about the author's background and expertise in software development.

Uploaded by

naincyparuk
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

Visit ebookfinal.

com to download the full version and


explore more ebooks or textbooks

Mastering Ext JS 2nd Edition Learn how to develop


advanced and efficient Internet applications with
Ext JS Loiane Groner

_____ Click the link below to download _____


https://ebookfinal.com/download/mastering-ext-js-2nd-
edition-learn-how-to-develop-advanced-and-efficient-
internet-applications-with-ext-js-loiane-groner/

Explore and download more ebooks or textbook at ebookfinal.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Ext JS in Action Second Edition Jesus Garcia

https://ebookfinal.com/download/ext-js-in-action-second-edition-jesus-
garcia/

Ext JS in Action 1st Edition Jesus Garcia

https://ebookfinal.com/download/ext-js-in-action-1st-edition-jesus-
garcia/

Mastering D3 js 1st Edition Pablo Navarro Castillo


[Castillo

https://ebookfinal.com/download/mastering-d3-js-1st-edition-pablo-
navarro-castillo-castillo/

Ext GWT 2 0 Take the user experience of your website to a


new level with Ext GWT Beginner s Guide 1st edition
Edition Safari
https://ebookfinal.com/download/ext-gwt-2-0-take-the-user-experience-
of-your-website-to-a-new-level-with-ext-gwt-beginner-s-guide-1st-
edition-edition-safari/
Node js for PHP Developers Porting PHP to Node js 1st
Edition Daniel Howard

https://ebookfinal.com/download/node-js-for-php-developers-porting-
php-to-node-js-1st-edition-daniel-howard/

Node js Novice to Ninja Craig Buckler

https://ebookfinal.com/download/node-js-novice-to-ninja-craig-buckler/

RESTful Web API Design with Node js Second Edition Bojinov

https://ebookfinal.com/download/restful-web-api-design-with-node-js-
second-edition-bojinov/

CoffeeScript Programming with jQuery Rails and Node js 1st


Edition Michael Erasmus

https://ebookfinal.com/download/coffeescript-programming-with-jquery-
rails-and-node-js-1st-edition-michael-erasmus/

Jasmine JavaScript Testing 2nd Edition Test your


JavaScript applications efficiently using Jasmine and
React js Paulo Ragonha
https://ebookfinal.com/download/jasmine-javascript-testing-2nd-
edition-test-your-javascript-applications-efficiently-using-jasmine-
and-react-js-paulo-ragonha/
Mastering Ext JS 2nd Edition Learn how to develop
advanced and efficient Internet applications with Ext JS
Loiane Groner Digital Instant Download
Author(s): Loiane Groner
ISBN(s): 9781784390457, 1784390453
File Details: PDF, 37.39 MB
Year: 2015
Language: english
www.it-ebooks.info
Mastering Ext JS
Second Edition

Learn how to develop advanced and efficient Internet


applications with Ext JS

Loiane Groner

BIRMINGHAM - MUMBAI

www.it-ebooks.info
Mastering Ext JS
Second Edition

Copyright © 2015 Packt Publishing

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.

First published: July 2013

Second edition: February 2015

Production reference: 1180215

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham B3 2PB, UK.

ISBN 978-1-78439-045-7

www.packtpub.com

www.it-ebooks.info
Credits

Author Project Coordinator


Loiane Groner Sanchita Mandal

Reviewers Proofreaders
Peter Holcomb Simran Bhogal
Girish Srivastava Maria Gould
Thorsten Suckow-Homberg Paul Hindle

Commissioning Editor Indexer


Ashwin Nair Hemangini Bari

Acquisition Editor Graphics


Kevin Colaco Abhinash Sahu

Content Development Editor Production Coordinator


Adrian Raposo Aparna Bhagat

Technical Editor Cover Work


Vijin Boricha Aparna Bhagat

Copy Editor
Sarang Chari

www.it-ebooks.info
About the Author

Loiane Groner has over 9 years of experience in software development. While


at university, she demonstrated great interest in IT. Loiane worked as a teaching
assistant for 2.5 years and taught algorithms, data structures, and computing theory.
She represented her university at the ACM International Collegiate Programming
Contest—Brazilian Finals (South America Regionals) and also worked as a student
delegate of the Brazilian Computing Society (SBC) for 2 years. Loiane won a merit
award in her senior year for being one of the top three students with the best GPAs
in the computer science department and also graduated with honors.

Loiane has worked at multinational companies, such as IBM. Her areas of expertise
include Java SE and Java EE and also Sencha technologies (Ext JS and Sencha
Touch). Nowadays, Loiane works as a software development manager at a financial
institution, where she manages overseas solutions. She also works as an independent
Sencha consultant and coach.

Loiane is also the author of Ext JS 4 First Look, Mastering Ext JS, Sencha Architect App
Development, and Learning JavaScript Data Structure and Algorithms, all published by
Packt Publishing.

She is passionate about Sencha and Java; she is a leader of Campinas Java Users
Group (CampinasJUG) and a coordinator of Espirito Santo Java Users Group
(ESJUG), both Brazilian JUGs.

Loiane also contributes to the software development community through her blogs,
http://loianegroner.com (English) and http://loiane.com (Portuguese-
BR), where she writes about IT careers, Ext JS, Sencha Touch, PhoneGap, Spring
Framework, and general development notes, as well as publishing screencasts.

If you want to keep in touch, you can find Loiane on Facebook


(https://www.facebook.com/loianegroner) and Twitter (@loiane).

Loiane's profile is already available on the Packt Publishing website,


https://www.packtpub.com/books/info/authors/loiane-groner.

www.it-ebooks.info
Acknowledgments
I would like to thank my parents for giving me education, guidance, and advice all
these years and helping me to become a better human being and professional. A
very special thanks to my husband for being patient and supportive and giving
me encouragement.

I also would like to thank the readers of this book and the other books I have written,
for their support and feedback. Your feedback is very valuable to me to improve as
an author and as a professional. Thank you very much!

www.it-ebooks.info
About the Reviewers

Peter Holcomb has been working with Ext JS for several years, right from version
2, and has thoroughly enjoyed being a part of the Sencha community as it has grown.
A tinkerer at heart, Peter tries to spend his free time on a variety of projects to keep
his skills sharp and stay on top of new frameworks and technologies. He's currently
a lead frontend engineer at SailPoint Technologies, Inc., a company that he's been
fortunate to be a part of for over 8 years. He lives in Austin with his wife, Courtney,
and two children and thoroughly enjoys breakfast tacos.

Girish Srivastava works as a technical associate at Vision Technologies,


Bengaluru (formerly, Bangalore). He is a good speaker and an industry expert on
data warehousing and web-based solutions and their implementations. He used
to facilitate training sessions on different technologies such as Java SE/Java EE,
JavaScript, Ext JS, IBM PureData System for Analytics (IBM Netezza), Perl/CGI, SAP
BO, Tableau, and so on. Girish has worked as a technical consultant in the IT industry.

I would like to thank the Almighty, my parents, B.M.P. Kiran


and Mina Devi, my family, and my loveable friends, who have
supported and backed me throughout my life. I would also like to
thank Rawal Thakur, the managing director of my company, who
gave me brilliant opportunities, ample time, and some extraordinary
resources to explore new and emerging technologies. My thanks
also goes to Packt Publishing for selecting me as one of the technical
reviewers for this wonderful book. It is an honor to be a part of it.

www.it-ebooks.info
Thorsten Suckow-Homberg is a software developer from Aachen, Germany.
He took his first programming steps with AmigaBASIC, peeked into Turbo Pascal,
Modula-3, and learned to love the strange yet wonderful abstract world of object-
oriented programming (OOP) with Java. Most of the time, he works on PHP/
JavaScript-driven web applications, such as conjoon.com, of which he is the main
developer. If he's not traveling around teaching JavaScript and Ext JS, you'll most
likely find him in the woods, riding his mountain bike, or sitting in front of his desk,
sipping coffee and engineering code.

www.it-ebooks.info
www.PacktPub.com

Support files, eBooks, discount offers, and more


For support files and downloads related to your book, please visit 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 service@packtpub.com 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

https://www2.packtpub.com/books/subscription/packtlib

Do you need instant solutions to your IT questions? PacktLib is Packt's online digital
book library. Here, you can search, access, and read 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 a web browser

Free access for Packt account holders


If you have an account with Packt at www.PacktPub.com, you can use this to access
PacktLib today and view 9 entirely free books. Simply use your login credentials for
immediate access.

www.it-ebooks.info
Table of Contents
Preface 1
Chapter 1: Sencha Ext JS Overview 7
Understanding Sencha Ext JS 7
Architecture of Ext JS applications 8
Ext JS overview 9
Basic tutorial 9
Class system 9
Components 10
The component hierarchy 10
GridPanel 11
TreePanel 12
Forms 12
Other components 13
Layouts 13
Data package 14
The MVC and MVVM architectures 14
Look and feel of Ext JS applications 15
Installing Ext JS 15
Prerequisites for Ext JS and Sencha Cmd 15
Downloading Ext JS and Sencha Cmd 17
Offline documentation 18
IDE 20
Summary 20
Chapter 2: Getting Started 21
Preparing the development environment 21
Presenting the application and its capabilities 24
The splash screen 25
The login screen 25

www.it-ebooks.info
Table of Contents

The main screen 26


User administration 28
MySQL table management 28
Content management control 29
Charts 31
Creating the application with Sencha Cmd 31
A quick word about MVC 32
Creating the application 33
Looking out for changes with the watch command 38
Applying the first changes in our app 40
Understanding the Application.js file 41
Creating the loading page 43
Summary 52
Chapter 3: The Login Page 53
The Login screen 53
Creating the Login screen 54
Client-side validations 60
Creating custom VTypes 62
Adding the toolbar with buttons 64
Running the code 66
Adding Font Awesome support (Glyph icons) 68
Creating the Login Controller 70
Introducing the MVVM architecture 70
Creating the ViewController for Login View 72
Listening to the button click event 73
Creating the User and Groups tables 79
Handling the Login page on the server 80
Connecting to the database 80
Login.php 81
Handling the return of the server – logged in or not? 84
Reusing code by creating a Util class 89
Enhancing the Login screen 91
Applying a loading mask on the form while authenticating 91
Form submit on Enter 92
Caps Lock warning message 93
Summary 97
Chapter 4: The Logout and Multilingual Capabilities 99
The base of the application – view/main/Main.js 100
The Viewport 100
Using the Viewport plugin 101
Organizing the main screen using the Border layout 102
Creating the main TabPanel component 104

[ ii ]

www.it-ebooks.info
Table of Contents

Creating the footer 105


Creating the Header class 107
The main screen and MVVM 111
The main ViewModel 112
Logout capability 113
Handling the logout on the server 115
Ajax request success versus failure 115
Client-side activity monitor 118
The multilingual capability 120
Creating the change language component 121
Adding the CSS – country flags 122
Using the translation component 123
Creating the multilingual files 124
Applying the translation on the application's components 125
HTML5 local storage 126
Handling change language in real time 128
The early life of the ViewController 129
Using locale files to translate Ext JS 131
Summary 132
Chapter 5: Advanced Dynamic Menu 133
An overview of the dynamic menu 134
Ext JS TreePanel 135
Accordion layout 136
The database model – groups, menus, and permissions 137
The dynamic menu – an MVC approach 139
Creating the models 140
Working with the hasMany association 142
Creating the store-loading menu from the server 143
Handling the dynamic menu on the server 145
Fetching the user permissions 146
Fetching the modules the user is entitled to 147
Fetching the menu options based on modules and permissions 148
Creating the menu with the Accordion layout and TreePanel 149
Creating the menu Controller 151
Rendering the menu from nested JSON (the hasMany association) 154
Opening a menu item programmatically 160
Summary 162
Chapter 6: User Management 163
Managing users 163
Listing all the users using a simple GridPanel 165
Creating a User Model 165
Defining store-less grids with Users GridPanel 168

[ iii ]

www.it-ebooks.info
Table of Contents

Declaring the User ViewModel 176


Working with ViewModel data binding 177
Creating the User ViewController 177
Adding and editing a new user 179
Controller – listening to the Add button 188
Controller – listening to the Edit button 189
Controller – listening to the Cancel button 190
Controller – saving a user 190
Previewing a file before uploading 196
Deleting a user 198
Displaying the group name in the Grid 199
Summary 200
Chapter 7: Static Data Management 201
Presenting the tables 202
Creating a Model 204
Abstract Model 204
Adapting the Base Model schema 205
Specific models 207
Creating a Store 209
Abstract Store 210
Specific Store 211
Creating an abstract GridPanel for reuse 212
To initComponent or not? 215
Handling the Widget Column in the MVC architecture 219
Live Search plugin versus Filter plugin 220
Specific GridPanels for each table 221
Adding the Live Search CSS 224
Generic Controller for all tables 224
Finding the correct selector 226
Using itemId versus id – Ext.Cmp is bad! 230
Adding a new record on the GridPanel 231
Editing an existing record 233
Deleting the handling Widget Column in the Controller 234
Saving the changes 235
Validating cellediting in GridPanel 236
The autoSync configuration 240
Canceling the changes 240
Clearing the filter 241
Listening to Store events in the Controller 242
Debug tip – Sencha extension for Chrome 243
Firefox extension – Illuminations for Developers 244
Summary 245

[ iv ]

www.it-ebooks.info
Table of Contents

Chapter 8: Content Management 247


Managing information – films 247
Displaying the Film data grid 252
The Film Model 252
Films ModelView 253
Film data grid (with paging) 254
Creating the Base Grid 256
Adding the RowExpander plugin 257
Actor-Language – handling a hasOne association 258
Adding the PagingToolbar 259
Creating the films container 262
Handling many-to-many associations 264
Loading nested JSON from the server 266
Film-Actor – handling many-to-many associations 268
Film-Category – handling many-to-many associations 269
Creating the ViewController 270
The base ViewController 270
Creating the FilmsController 272
Adding or editing a film 273
Packt.view.base.WindowForm 275
The films form 277
Film categories 282
Film Actors 283
Complementing the ViewModel 288
Working with formulas and two-way data binding 289
The Films ViewController 290
The createDialog method 291
Getting the selected actor from Live Search 292
Saving the form and working with sessions 293
Custom Writer – saving associated data 294
Saving session data manually 295
Summary 296
Chapter 9: Adding Extra Capabilities 297
Exporting a GridPanel to PDF and Excel 297
Exporting to PDF 299
Generating the PDF file on the server – PHP 300
Generating and viewing the PDF file with JavaScript – HTML5 301
Exporting to Excel 301
Printing GridPanel content with the GridPrinter plugin 302
Creating a Sales by Film Category chart 304
Ext JS 5 charts and terminology 304
Adding Sencha Charts to the project 306
Creating the Store inside the ViewModel 307

[v]

www.it-ebooks.info
Table of Contents

Pie chart 308


3D column chart 310
The Chart panel 313
The ViewController 317
Changing the chart type 317
Exporting charts to images (PNG or JPEG) 318
Summary 321
Chapter 10: Routing, Touch Support, and Debugging 323
Ext JS routing 323
Default token 324
Loading a Controller programmatically 325
Handling routes 325
Refactoring the Menu code 327
Handling unmatched routes 329
Handling parameters 329
Using the responsive design plugin 332
Enabling touch support 336
From Ext JS to mobile 339
Debugging Ext JS applications 340
Testing Ext JS applications 343
Helpful tools 344
Third-party components and plugins 346
Summary 346
Chapter 11: Preparing for Production and Themes 347
Before we start 347
Creating a new theme 348
Changing the base color 353
Customizing components 354
Some useful tips while creating new themes 358
Creating custom UIs 360
Applying the UI 364
Packaging the application for production 366
Compiling ext-locale 368
What to deploy in production 369
Benefits 369
Summary 372
Index 373

[ vi ]

www.it-ebooks.info
Preface
If you are an Ext JS developer, it probably took you a while to learn the framework.
We know that the Ext JS learning curve is not short. After we have learned the basics,
and we need to use Ext JS in our daily jobs, a lot of questions pop up: how can one
component talk to another? What are the best practices? Is it really worth using this
approach and not another one? Is there any other way I can implement the same
feature? This is normal.

This book was written thinking about these developers.

So this is what this book is about: how do we put everything together and create
really nice applications with Ext JS? We are going to create a complete application,
from the mockup of the screens all the way to putting it into production. We
are going to create the application structure, a splash screen, a login screen, a
multilingual capability, an activity monitor, a dynamic menu that depends on user
permission, and modules to manage database information (simple and complex
information). And then, we will learn how to build the application for production,
how to customize the theme, and how to debug it.

We will use real-world examples and see how we can implement them using Ext JS
components. And throughout the book, we've also included a lot of tips and best
practices to help you boost your Ext JS knowledge and take you to the next level.

What this book covers


Chapter 1, Sencha Ext JS Overview, introduces Sencha Ext JS and its capabilities. This
chapter provides references that you can read before diving into the other chapters of
this book. This is done taking into consideration the possibility that this is your first
contact with the framework.

www.it-ebooks.info
Preface

Chapter 2, Getting Started, introduces the application that is implemented throughout


the book, its features, and the mockup of each screen and module (each chapter
covers a different module), and also demonstrates how to create the structure of the
application using Sencha Cmd and how to create a splash screen.

Chapter 3, The Login Page, explains how to create a login page with Ext JS and how
to handle it on the server side and also shows some extra capabilities, such as adding
the Caps Lock warning message and submitting the login page when pressing the
Enter key.

Chapter 4, The Logout and Multilingual Capabilities, covers how to create the logout
capability and also the client-side activity monitor timeout, which means if the
user does not use the mouse or press any key on the keyboard, the system ends
the session automatically and logs out. This chapter also provides an example of
multilingual capability and shows how to create a component so that the user can
use it to change the system's language and locale settings.

Chapter 5, Advanced Dynamic Menu, is about how to create a dynamic menu that
depends on user permission. The options of the menu are rendered depending on
whether the user has permission or not; if not, the option will not be displayed.

Chapter 6, User Management, explains how to create a screen to list all the users that
already have access to the system.

Chapter 7, Static Data Management, covers how to implement a module where the
user is able to edit information as though they were editing information directly
from a MySQL table. This chapter also explores capabilities such as live search, filter,
and inline editing (using the Cell Editing and Row Editing plugins). Also, we start
exploring real-world issues when we develop big applications with Ext JS, such as
the reuse of components throughout the application.

Chapter 8, Content Management, further explores the complexity of managing


information from a table of the database and all its relationships with other tables.
So we cover how to manage complex information and how to handle associations
within data Grids and FormPanels.

Chapter 9, Adding Extra Capabilities, covers how to add features, such as printing and
the ability to export to PDF and Excel, that are not supported natively by Ext JS. This
chapter also covers charts and how to export them to image and PDF and also how
to use third-party plugins.

[2]

www.it-ebooks.info
Preface

Chapter 10, Routing, Touch Support, and Debugging, demonstrates how to enable
routing in the project; it is also about debugging Ext JS applications, including what
we need to be careful about and why it is very important to know how to debug.
We also quickly talk about transforming Ext JS projects into mobile apps (responsive
design and touch support), a few helpful tools that can help you in your daily work
as a developer, and also a few recommendations of where to find extra and open
source plugins to use in Ext JS projects.

Chapter 11, Preparing for Production and Themes, covers how to customize a theme
and create custom UIs. It also explores the steps required for, and the benefits of,
packaging the application to production.

What you need for this book


The following is a list of the software you will need to have installed prior to
executing the examples of the book. The following list covers the exact software used
to implement and execute the examples of this book, but you can use any similar
software that you already have installed that has the same features.

For a browser with a debugger tool, use the following:

• Firefox with Firebug: https://www.mozilla.org/firefox/ and


http://getfirebug.com/
• Google Chrome: http://www.google.com/chrome

For a web server with PHP support, use the following:

• Xampp: http://www.apachefriends.org/en/xampp.html

For the database, use the following:

• MySQL: http://dev.mysql.com/downloads/mysql/
• MySQL Workbench: http://dev.mysql.com/downloads/tools/
workbench/
• MySQL Sakila sample database: http://dev.mysql.com/doc/index-
other.html and http://dev.mysql.com/doc/sakila/en/index.html

For Sencha Cmd and the required tools, use the following:

• Sencha Cmd: http://www.sencha.com/products/sencha-cmd/download


• Ruby 1.8 or 1.9: http://www.ruby-lang.org/en/downloads/
• Sass: http://sass-lang.com/

[3]

www.it-ebooks.info
Preface

• Compass: http://compass-style.org/
• Java JDK (version 7 or later): http://www.oracle.com/technetwork/java/
javase/downloads/index.html
• Java environment variables: http://docs.oracle.com/javase/tutorial/
essential/environment/paths.html
• Apache ANT: http://ant.apache.org/bindownload.cgi
• Apache ANT environment variable: http://ant.apache.org/manual/
install.html
• And of course, Ext JS: http://www.sencha.com/products/extjs/

We will use Ext JS 5.0.1 in this book.

Who this book is for


If you are a developer who is familiar with Ext JS and want to augment your skills
to create even better web applications, this is the book for you. Basic knowledge
of JavaScript/HTML/CSS and any server-side language (PHP, Java, C#, Ruby, or
Python) is required.

Conventions
In this book, you will find a number of text styles that distinguish between different
kinds of information. Here are some examples of these styles and an explanation of
their meaning.

Code words in text, database table names, folder names, filenames, file extensions,
pathnames, dummy URLs, user input, and Twitter handles are shown as follows:
"If we want to create a class to represent the client details, we could name it
ClientDetails."

A block of code is set as follows:


Ext.define('Packt.model.film.Film', {
extend: 'Packt.model.staticData.Base', //#1

When we wish to draw your attention to a particular part of a code block, the
relevant lines or items are set in bold:
Ext.application({
name: 'Packt',

extend: 'Packt.Application',

[4]

www.it-ebooks.info
Preface

autoCreateViewport: 'Packt.view.main.Main'
});

Any command-line input or output is written as follows:


sencha generate app Packt ../masteringextjs

New terms and important words are shown in bold. Words that you see on the
screen, for example, in menus or dialog boxes, appear in the text like this: "Scroll
until the end of the page and select OPEN SOURCE GPL LICENSING."

Warnings or important notes appear in a box like this.

Tips and tricks appear like this.

Reader feedback
Feedback from our readers is always welcome. Let us know what you think about
this book—what you liked or disliked. Reader feedback is important for us as it helps
us develop titles that you will really get the most out of.

To send us general feedback, simply e-mail feedback@packtpub.com, and mention


the book's title in the subject of your message.

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 at 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.

Downloading the example code


You can download the example code files from your account at http://www.
packtpub.com for all the Packt Publishing books you have purchased. If you
purchased this book elsewhere, you can visit http://www.packtpub.com/support
and register to have the files e-mailed directly to you.

[5]

www.it-ebooks.info
Discovering Diverse Content Through
Random Scribd Documents
back
back
back
back
back
back
back
back
back
back
back
back
back
back
back
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.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookfinal.com

You might also like