You are on page 1of 53

Learning ExtJS - Fourth Edition Carlos

Méndez
Visit to download the full and correct content document:
https://textbookfull.com/product/learning-extjs-fourth-edition-carlos-mendez/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

College accounting : a contemporary approach Fourth


Edition M David Haddock

https://textbookfull.com/product/college-accounting-a-
contemporary-approach-fourth-edition-m-david-haddock/

Applied Machine Learning 1st Edition M. Gopal

https://textbookfull.com/product/applied-machine-learning-1st-
edition-m-gopal/

Data Mining Practical Machine Learning Tools and


Techniques Fourth Edition Ian H. Witten

https://textbookfull.com/product/data-mining-practical-machine-
learning-tools-and-techniques-fourth-edition-ian-h-witten/

Agent-Based Modeling of Social Conflict: From


Mechanisms to Complex Behavior 1st Edition Carlos M.
Lemos (Auth.)

https://textbookfull.com/product/agent-based-modeling-of-social-
conflict-from-mechanisms-to-complex-behavior-1st-edition-carlos-
m-lemos-auth/
Learning Java Functional Programming 1st Edition Reese
Richard M

https://textbookfull.com/product/learning-java-functional-
programming-1st-edition-reese-richard-m/

Deep Learning Applications, Volume 2 M. Arif Wani

https://textbookfull.com/product/deep-learning-applications-
volume-2-m-arif-wani/

Learning Network Programming with Java 1st Edition


Reese Richard M

https://textbookfull.com/product/learning-network-programming-
with-java-1st-edition-reese-richard-m/

Functional Training 1st Edition Juan Carlos Santana

https://textbookfull.com/product/functional-training-1st-edition-
juan-carlos-santana/

Intelligent Computing Systems Carlos Brito-Loeza

https://textbookfull.com/product/intelligent-computing-systems-
carlos-brito-loeza/
Learning Ext JS
Fourth Edition

Create powerful web applications with the new and


improved Ext JS 5 library

Carlos A. Méndez
Crysfel Villa
Armando Gonzalez

BIRMINGHAM - MUMBAI
Learning Ext JS
Fourth 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 authors, 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: November 2008


Second edition: October 2010
Third edition: January 2013
Fourth edition: July 2015

Production reference: 1290715

Published by Packt Publishing Ltd.


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

ISBN 978-1-78439-438-7
www.packtpub.com
Credits
Authors Copy Editors
Carlos A. Méndez Vikrant Phadke
Crysfel Villa Angad Singh
Armando Gonzalez Ameesha Smith-Green

Reviewers Project Coordinator


Davor Lozić Milton Dsouza
Olivier Pons
Juris Vecvanags Proofreader
Safis Editing

Commissioning Editor
Ashwin Nair Indexer
Tejal Daruwale Soni

Acquisition Editor
Shaon Basu Production Coordinator
Manu Joseph

Content Development Editor


Akashdeep Kundu Cover Work
Manu Joseph

Technical Editor
Menza Mathew
About the Authors

Carlos A. Méndez is a freelance developer and graphic designer living in México,


with expertise in web development since 2000 and Windows development since 1998.
He has also worked with Ext JS since version 2.x up to the present day. Since 1998,
he has developed and designed administrative applications for accounting, payroll,
inventory, human resource control, restaurants, hotels, and much more—applications
that are in production and up to date.

Trying to explore creativity with a deep passion, Carlos has created many Ext JS
components and VB components for private companies and was also involved
in graphic design, such as illustrations and small animations used for interactive
presentations by some companies in México. He always has a passion for creating
and learning new things on the Web.

He is the founder and development manager of the company


administrationonline.com, which is focused on administrative applications. Carlos
is involved in many projects around the world and also provides support and
maintenance to many Ext JS projects ranging from 2.x to 5.x.

First of all, I would like to thank my mother and brother for their
support and help in realizing this project. Thanks to my best friend,
Nacir Garcia Junior, for his support and friendship over these last
years. Also, thanks to my father and uncles, whose challenges,
work pressures, and work and personal knowledge were passed on
through all these years in matters of design and business logic. These
have brought me where I am today. Without all you guys, I would
not have been able to accomplish many achievements and goals.
Thanks, everybody!
Crysfel Villa is a software engineer with more than 8 years of experience with
JavaScript. He started his career as a web developer working with HTML and basic
JavaScript in the late 1990s but then started focusing on server-side technologies,
such as PHP and Java J2EE.

Before he started working with the Ext JS library, he loved to work with MooTools,
but in late 2007, he started learning about an awesome new library that was
emerging as an open source project. At that time, version 2.0 of the Ext JS library had
just been released, and Crysfel started using this new library for medium-to-large
projects in the agency that he used to work for.

In early 2010, he started working as a freelancer. He began training teams on Ext JS


for private companies; writing a blog with tutorials, tips, and tricks; developing
custom components on Ext JS for his clients; and working on open source projects to
share his knowledge with the world.

More recently, Crysfel has been getting into new technologies such as Angular JS
and React Native. If you want to find out more about his work, you can follow him
on Twitter (@crysfel) or download his open source projects from GitHub (crysfel).

Writing this book was very hard, especially when you are a busy
person and really like to get involved in exciting things. I want to
give special thanks to my wife, Hazel, who supported me in every
step of the process. Without her, this wouldn't have been possible.
She read all the scripts before I submitted them. She usually found
some mistakes or things to clarify. Her work on this project
is priceless.

Thanks to my parents and brothers, who used to keep asking


me very often about the project and provided me with the moral
support to work and complete this dream. Also, I want to thank all
my closest friends for the moral support that they gave me. Special
thanks to my best friends, Carlos and Gina, who often pushed me to
continue working on this project.
About the Reviewers

Davor Lozić is a senior software engineer interested in many subjects,


especially computer security, algorithms, and data structures. He creates web
applications in CakePHP and Ext JS, and in his spare time, he reads books about
modern physics, graph databases like Neo4j, and related subjects. You can check out
his website at http://warriorkitty.com, where you can contact him. He likes cats
because cats are great! If you would like to talk about any aspect of technology,
or if you have great and funny pictures of cats, feel free to contact him.

Olivier Pons is a senior developer who has been building websites


since 1997. He's a teacher at the University of Sciences (IUT) of Aix-en-Provence,
France. In ISEN (Institut Supérieur de l'Électronique et du Numérique) and École
d'Ingénieurs des Mines de Gardanne, he teaches state-of-the-art web techniques,
such as the MVC fundamentals, Symfony, Wordpress, PHP, HTML, CSS, jQuery,
jQuery Mobile, Node.js, AngularJS, Apache, NoSQL, Linux basics, and advanced
VIM techniques. He has already done some technical reviews, including Packt
Publishing's Ext JS 4 First Look, jQuery Hotshots, jQuery Mobile Web Development
Essentials, Wordpress Complete, and jQuery 2.0 for Designers Beginner's Guide,
among others.

In 2011, Olivier left a full-time job as a Delphi and PHP developer to concentrate on
his own company, HQF Development (http://hqf.fr). He currently runs a number
of websites, including http://krystallopolis.fr, http://artsgaleries.com,
http://www.battlesoop.fr, http://www.livrepizzas.fr, http://www.
papdevis.fr, and http://olivierpons.fr, which is his own web development
blog. He's currently learning Unity and building a game on his own. He works as a
consultant, teacher, and project manager and sometimes helps major companies as a
senior/highly skilled developer.
Juris Vecvanags started a career in the IT field in early 90s. At that time, he had
the chance to work with a broad range of technologies and share his knowledge with
Fortune 500 companies as well as private and government customers.

Before moving to Silicon Valley, he owned a well-established web design start-up


in Europe. Juris is currently employed as a solutions architect at Sencha, where he
helps customers write better apps for both desktop and emerging mobile platforms.
He contributes to the Ext JS framework as well as dedicates his time to write custom
components and add new features.

When it comes to web technologies, this invaluable experience serves as his ground
to be a trusted advisor and competent reviewer. When Juris is away from the office,
you can find him speaking at meetups in the San Francisco Bay Area, Chicago, and
New York. Among the topics he covers are Node.js, Ext JS, and Sencha Touch.

He is passionate about cutting-edge technologies and everything related


to JavaScript.
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.

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.
Table of Contents
Preface ix
Chapter 1: An Introduction to Ext JS 5 1
Considering Ext JS for your next project 2
Getting started with Ext JS 3
Downloading Ext JS 4
Setting up and installing Ext JS 5 5
Sencha Cmd 5
Why so many files and folders? 6
Folders that changed in version 5 from previous versions 7
Looking at the whole picture 8
Our first program 9
Writing the Ext JS code 11
Adding interaction to the program 13
Tools and editors 15
XAMPP or WAMP 15
Aptana 16
Sencha Architect 17
What's new in Ext JS 5? 19
Summary 22
Chapter 2: The Core Concepts 23
The class system 24
Naming conventions 24
Writing your first class 25
Simple inheritance 28
Preprocessors and postprocessors 31
Mixing many classes (the use of mixins) 34
An explanation of mixins 37
Using the mixinConfig property 38

[i]
Table of Contents

Configurations 40
Statics methods and properties 43
Explanation 45
The Singleton class 46
Aliases 47
Loading classes on demand 50
Enabling the loader 51
Working with the DOM 52
Getting elements 53
Query – how do we find them? 55
DOM manipulation – how do we change it? 57
Summary 59
Chapter 3: Components and Layouts 61
The component life cycle 61
The initialization phase 63
The rendering phase 66
The destruction phase 69
The life cycle in action 70
About containers 73
Types of containers 78
The viewport 78
The panel 79
Panels versus containers 80
The Window component 81
The layout system 82
The Border layout 82
The Fit layout 84
The Card layout 85
The Accordion layout 86
The Anchor layout 87
More layouts 89
Comments about using layouts 89
Summary 91
Chapter 4: It's All about the Data 93
Ajax 94
Passing parameters to an Ajax request 98
Setting timeout for Ajax request calls 99

[ ii ]
Table of Contents

Models 100
Mappings 103
Validators 105
Custom field types 108
Relationships 110
One-to-many associations 111
One-to-one associations 113
Working with the store 115
Adding new elements 116
Looping through the records/models in the store 118
Retrieving the records in the store 119
By index position 119
First and last records 119
By range 119
By ID 120
Removing records 120
Retrieving remote data 121
Ajax proxy 121
Readers 124
The XML reader 125
Sending data 127
Summary 132
Chapter 5: Buttons and Toolbars 133
Event-driven development 133
Creating a simple button 136
Setting icons on buttons 138
Icon alignment on buttons 140
Handling button events 141
Segmented buttons 142
Adding menus 144
Toolbars 148
Toolbar button groups 150
The breadcrumb bar 153
Handling selections in the breadcrumb bar 156
The main menu for our application 158
Summary 163

[ iii ]
Table of Contents

Chapter 6: Doing It with Forms 165


The form component 165
The anatomy of the fields 172
The available fields 172
The TextField class 174
The number field 177
The ComboBox field 179
The Tag field 183
The Date field 184
The Checkbox and the CheckboxGroup fields 187
The Radio and RadioGroup buttons 188
The field container 190
Triggers 192
Submitting the data 194
Summary 197
Chapter 7: Give Me the Grid 199
The data connection (models and stores) 200
A basic grid 202
Columns 204
The column row number 206
The number column 207
The template column 207
The date column 208
The Boolean column 208
The check column 209
The action column 209
Column renderers 211
The Widget column 214
Selection models 218
Grid listeners 221
Features 224
Ext.grid.feature.Grouping 224
Ext.grid.feature.GroupingSummary 226
Ext.grid.feature.RowBody 228
Ext.grid.feature.Summary 229
Plugins 230
Ext.grid.plugin.CellEditing 230
Ext.grid.plugin.RowEditing 233

[ iv ]
Table of Contents

Grid paging 236


Infinite scrolling 238
Summary 241
Chapter 8: DataViews and Templates 243
The data connection (model and store) 244
A basic DataView 245
Handling events in DataView 247
Templates 248
Ext.Template 248
Ext.XTemplate 250
A more complex DataView component 253
Summary 256
Chapter 9: The Tree Panel 257
A basic tree panel 258
The TreeStore 261
Tree nodes 263
Adding and removing nodes 264
The check tree 270
The tree grid panel 272
Summary 275
Chapter 10: Architecture 277
The MVC and MVVM patterns 278
Model-View-Controller (MVC) 278
Model-View-ViewModel (MVVM) 279
Creating our first application 280
The views 282
The controller 287
Listening to events 288
Opening modules 291
Creating a module 292
ViewController 296
ViewModel 299
Binding and data binding 301
Router – implementing and using 311
Summary 314

[v]
Table of Contents

Chapter 11: The Look and Feel 315


Setting up our environment 315
The packages folder 317
Variables 320
Advanced theming 323
Changing the component's style 323
Adding new gradients 324
Styling the tabs 326
Adding custom fonts to our theme 327
Different styles for the same component 330
Supporting legacy browsers 339
Summary 342
Chapter 12: Responsive Configurations and Tablet Support 343
Overview 344
New themes 346
Neptune touch and Crisp touch 346
Implementing responsiveness to the application 347
Creating responsiveness 348
Investigating the output 352
Checking all panels 354
Summary 361
Chapter 13: From Drawing to Charting 363
Basic drawing 364
Adding interaction 369
Charts 373
Legend 374
Axis 374
Series 375
Themes 375
Series examples 376
Bar charts (building our first chart) 376
Pie charts 381
More charts 385
Introducing chart themes 386
Enhancing our application with charts 388
Summary 393

[ vi ]
Table of Contents

Chapter 14: Finishing the Application 395


Preparing for deployment 396
The app.json file 397
The Sencha command 398
Customizing the build.xml file 400
Compressing the code 401
Packaging and deploying 404
Testing the application 405
Summary 405
Chapter 15: What's Next? 407
Forums 407
Resources 409
Third-party plugins (commercial) 412
Third-party plugins (free) 414
The future 414
Final thoughts 414
Summary 415
Index 417

[ vii ]
Preface
Over the past few years, Ext JS has become a popular and powerful JavaScript
framework for desktop application development. For an Ext JS developer, the
learning curve is not very easy/fast and I have seen cases where developers learning
this framework find it to be a slow process. While writing this book I was thinking
about the easiest and most comprehensible points so that you can understand the
basics, just as I would have liked to learn about the framework if I was in your place.

This book is intended for developers who have the desire to learn and begin using
this framework for their applications, and also for developers who have not started
using the current version. It is written as an easy-to-follow guide that will help you
understand the basics and fundamentals of the framework. If you have experience
with previous versions of the framework, this book may clear many of your doubts
about upgrading and how things happen in version 5.x.

This book covers all of the basic information you need to know to start development
with this nice and powerful framework.

What this book covers


Chapter 1, An Introduction to Ext JS 5, covers an explanation of how to start by getting
the framework (downloading the file) and setting up the basic requirements you
need in order to begin coding. This chapter also provides an explanation of how the
framework is structured, how to set up some required tools, and gives a quick peek
at the product, Sencha Architect.

Chapter 2, The Core Concepts, is about the framework's class system, and tells you how
to use object-oriented programming with Ext JS. Also, this chapter explains how to
extend classes, how to inherit properties, and the use of the Loader system in order
to define and require dependencies in a dynamic way.

[ ix ]
Preface

Chapter 3, Components and Layouts, explains how components work, how they are
created, their life cycle, and how to take advantage of all this. Here, you also learn
about types of containers and the layout system, which will help you create amazing
UIs with little effort.

Chapter 4, It's All about the Data, explains how the framework handles and
manipulates data to display information using data-aware widgets or components.

Chapter 5, Buttons and Toolbars, shows you how to make use of component events;
listen to events; (mainly) create buttons, toolbars, and menus; and set the most basic
configurations for these components.

Chapter 6, Doing It with Forms, talks about the form component, the available fields
that we can use in our forms, and how to collect and submit data.

Chapter 7, Give Me the Grid, covers the basics of the most popular component, the
Grid panel, in the framework, how to implement it, its column model, and custom
data renderers for displaying data. We also see how to listen to events in the Grid
panel and look at some plugins and features (specific capabilities) that can be
implemented in the grid.

Chapter 8, DataViews and Templates, explains how to make use of DataViews and
templates to create data-aware views, implement a nice organization of our data,
and set styles and custom logic for the representation of data.

Chapter 9, The Tree Panel, covers the use of the tree panel component and its
implementation. It also explains how to create stores and data for this component.

Chapter 10, Architecture, is one of the most important chapters in the book. It shows
how to create an application using the MVC and MVVM patterns. This is done in
order to create applications that can be scalable and easy to maintain. The MVVM
pattern, which is a powerful pattern for reducing code, is introduced in version 5.

Chapter 11, The Look and Feel, demonstrates how to create new themes inside the
framework and applications by giving our applications a new look and some color
changes (themes). Also, you learn how to create specific component-style UIs using
Compass and Sass.

Chapter 12, Responsive Configurations and Tablet Support, explains how we can use
touch screen themes and how to set responsive configurations in components in
order to make those components responsive-aware.

[x]
Preface

Chapter 13, From Drawing to Charting, talks about the basics of drawing and chart
creation. We see how to create charts by the use of the SVG/VML engines. This
chapter also explains how to add the Chart package to applications and the theme
engine introduced in version 5.

Chapter 14, Finishing the Application, covers how to prepare our application for
the production environment and deployment, covering the most essential parts for
final production.

Chapter 15, What's Next?, shows you where to get more feedback and resources such
as forums, other useful resources to get information tutorials from, and so on. This
chapter also gives a sneak peek into some useful plugins (commercial and free).

What you need for this book


The web browsers recommended for use are as follows:

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


• Firefox: https://www.mozilla.org/en-US/firefox/new/
• Firefox for developers: https://www.mozilla.org/en-US/firefox/
developer/

These browsers come in handy because they come with debugging tools for
easy development.

For a web server with PHP support, use this:

• Xampp: https://www.apachefriends.org/index.html

For the database, use the following:

• MySQL: http://dev.mysql.com/downloads/mysql/ (this also comes


bundled in Xampp)

For Sencha Cmd and the required tools, use these:

• 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/
• Compass: http://compass-style.org/

[ xi ]
Preface

• Java RTE (version 1.7.0): http://www.oracle.com/technetwork/java/


javase/downloads/java-se-jre-7-download-432155.html
• Apache ANT: http://ant.apache.org/bindownload.cgi
• Ext JS (of course): http://www.sencha.com/products/extjs/

We will use Ext JS 5.1.1 in this book.

Who this book is for


If you are new developers who are beginners in Ext JS, developers familiar with Ext JS
who want to augment the skills of creating better applications, or developers who
haven't yet used version 5.x and want to know more about it, this is the book for you.

Users should possess a basic knowledge of HTML/JavaScript/CSS/Sass/Compass,


and an understanding of JSON, XML, and any server-side language (such as PHP,
ASP, JAVA, and so on) is required.

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.

Code words in text are shown as follows: "Inside the app/view folder, we remove
all existing files (the initial skeleton), and proceed to create the initial view our
application will have."

A block of code is set as follows:


Ext.define('myApp.model.modulesModel', {
extend: 'Ext.data.Model',
requires: [
'Ext.data.field.String',
'Ext.data.field.Boolean',
'Ext.data.field.Integer'
],
fields: [

[ xii ]
Preface

{type: 'string', name: 'description'},


{type: 'boolean', name: 'allowaccess'},
{type: 'int', name: 'level'},
{type: 'string', name: 'moduleType', defaultValue: ''},
{type: 'string', name: 'moduleAlias', defaultValue: ''},
{type: 'string', name: 'options'}
]
});

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.define('myApp.store.modulesTreeDs', {
extend: 'Ext.data.TreeStore',
requires: [
'myApp.model.modulesModel',
'Ext.data.proxy.Ajax'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'mymodulesTreeDs',
autoLoad: true,
model: 'myApp.model.modulesModel',
proxy: {
type: 'ajax',
url: 'serverside/data/menu_extended.json'
}
}, cfg)]);
}
}); Any command-line input or output is written as follows:
sencha -sdk /path/to/ext generate app myApp /path/to/myApp

[ xiii ]
Preface

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: "Try to
write something in the Customer ID field and you will see that it is read-only."

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 may have disliked. Reader feedback is important for us
to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to feedback@packtpub.com,


and mention the book title via 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 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.

Downloading the example code


You can download the example code files for all Packt books you have purchased
from your account at http://www.packtpub.com. 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.

[ xiv ]
Preface

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.

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.

Please contact us at copyright@packtpub.com with a link to the suspected


pirated material.

We appreciate your help in protecting our authors, and our ability to bring you
valuable content.

Questions
You can contact us at questions@packtpub.com if you are having a problem with
any aspect of the book, and we will do our best to address it.

[ xv ]
An Introduction to Ext JS 5
When learning a new technology such as Ext JS, some developers face a hard time
to begin with, so this book will give you the best possible way to start to understand
this technology more than any other source. We have to go from the library
documentation to blogs and forums looking for answers, trying to figure out how the
library and all the components work together. Even though there are tutorials in the
official learning center, it would be great to have a guide to learn the library from the
basics to a more advanced level; this is the main goal of this book.

Ext JS is a state of the art framework to create Rich Internet Applications (RIAs).
The framework allows us to create cross-browser applications with a powerful set of
components and widgets. The idea behind the framework is to create user-friendly
applications in rapid development cycles, facilitate teamwork (MVC or MVVM), and
also have a long-term maintainability.

Ext JS is not just a library of widgets anymore; the brand new version is a framework
full of new exciting features for us to play with. Some of these features are the new
class system, the loader, the new application package, which defines a standard way
to code our applications, and much more awesome stuff.

The company behind the Ext JS library is Sencha Inc. They work on great products
that are based on web standards. Some of the most famous products that Sencha also
have are Sencha Touch and Sencha Architect.

In this chapter, we will cover the basic concepts of the framework of version 5.
You'll learn how to set up the library or SDK and create our first program, get to
know the available tools to write our code, and take a look at some of the new
features in Ext JS 5.

• Considering Ext JS for your next project


• Getting started with Ext JS—our first program

[1]
An Introduction to Ext JS 5

• Tools and editors


• What's new in Ext JS 5?

Considering Ext JS for your next project


Ext JS is a great library to create RIAs that require a lot of interactivity with the user.
If you need complex components to manage your information, then Ext is your best
option because it contains a lot of widgets such as the grid, forms, trees, panels, and
a great data package and class system.

Ext JS is best suited for enterprise or intranet applications; it's a great tool to develop
an entire CRM or ERP software solution. One of the more appealing examples is the
Desktop sample (http://dev.sencha.com/ext/5.1.0/examples/desktop/index.
html). It really looks and feels like a native application running in the browser. In
some cases, this is an advantage because the users already know how to interact with
the components and we can improve the user experience.

Ext JS 5 came out with a great tool to create themes and templates in a very simple
way. The framework for creating themes is built on top of Compass and Sass, so
we can modify some variables and properties and in a few minutes we can have a
custom template for our Ext JS applications. If we want something more complex
or unique, we can modify the original template to suit our needs. This might be
more time-consuming depending on our experience with Compass and Sass.

Compass and Sass are extensions for CSS. We can use expressions, conditions,
variables, mixins, and many more awesome things to generate well-formatted CSS.
You can learn more about Compass on their website at http://compass-style.org/.

The new class system allows us to define classes incredibly easily. We can develop
our application using the object-oriented programming paradigm and take advantage
of the single and multiple inheritances. This is a great advantage because we can
implement any of the available patterns such as MVC, MVVM, Observable, or any
other. This will allow us to have a good code structure, which leads us to have easy
access for maintenance.

Another thing to keep in mind is the growing community around the library; there
are lots of people around the world that are working with Ext JS right now. You can
even join the meeting groups that have local reunions frequently to share knowledge
and experiences; I recommend you to look for a group in your city or create one.

[2]
Chapter 1

The new loader system is a great way to load our modules or classes on demand.
We can load only the modules and applications that the user needs just in time.
This functionality allows us to bootstrap our application faster by loading only
the minimal code for our application to work.

One more thing to keep in mind is the ability to prepare our code for deployment.
We can compress and obfuscate our code for a production environment using the
Sencha Cmd, a tool that we can run on our terminal to automatically analyze all the
dependencies of our code and create packages.

Documentation is very important and Ext JS has great documentation, which is very
descriptive with a lot of examples, videos, and sample code so that we can see it in
action right on the documentation pages, and we can also read the comments from
the community.

Getting started with Ext JS


So, let's begin with Ext JS! The first thing we should do is download the framework
from the official website, http://www.sencha.com/products/extjs/. The version
available at the time of writing this book is 5.1.1.

There are three types of license:

• The open source license: If you are creating or want to develop an


open source application compatible under the GNU GPL license v3
(http://www.gnu.org/copyleft/gpl.html).
• The commercial license: You need to buy this if you are planning/wanting
to develop a closed source project and want to keep the source code as your
own property. Usually used by corporations, banks, or enterprises.
• The commercial OEM: If you want to use Ext JS to create your own
commercial SDK or web application builder, or use it as frontend for
some embedded device, then this comes into the picture. As this type of
license can vary, it's customized for each customer.

You can see more detailed information about this subject at


http://www.sencha.com/products/extjs/licensing.

[3]
An Introduction to Ext JS 5

Downloading Ext JS
If you download Ext JS directly from http://www.sencha.com/products/download/,
this will be a 30-day trial version of Ext JS and you will also be required to enter some
personal information in order to get the trial. To obtain the GPL version, you can get
it from http://www.sencha.com/legal/GPL/. We can also use the available Content
Delivery Network (CDN), as shown in the following table, so that we don't need to
store the library on our own computer or server:

Theme Links
Classic • CSS file: http://cdn.sencha.com/ext/trial/5.1.1/
packages/ext-theme-classic/build/resources/ext-
theme-classic-all.css
• JavaScript file: http://cdn.sencha.com/ext/trial/5.1.1/
build/ext-all.js
Neptune • CSS file: http://cdn.sencha.com/ext/trial/5.1.1/
packages/ext-theme-neptune/build/resources/ext-
theme-neptune-all.css
• JavaScript file: http://cdn.sencha.com/ext/trial/5.1.1/
build/ext-all.js
• Theme JS Overrides: http://cdn.sencha.com/ext/
trial/5.1.1/packages/ext-theme-neptune/build/ext-
theme-neptune.js
Crisp • CSS file: http://cdn.sencha.com/ext/trial/5.1.1/
packages/ext-theme-crisp/build/resources/ext-theme-
crisp-all.css
• JavaScript file: http://cdn.sencha.com/ext/trial/5.1.1/
build/ext-all.js
• Theme JS Overrides: http://cdn.sencha.com/ext/
trial/5.1.1/packages/ext-theme-crisp/build/ext-
theme-crisp.js

[4]
Another random document with
no related content on Scribd:
los llevan se aprovechan dellos
como de dineros de trasgos. Hay
algunos tan avarientos y tan
codiciosos del juego, que no
gastarán en sus casas un real
aunque hayan ganado cien
ducados, porque no les falte para
jugar, teniendo aquello por suma
felicidad, y con esto tornan á jugar
otro día, perdiendo lo que
ganaron sin quedarles ninguna
cosa; otros hay contrarios desta
opinión, que cuando han ganado
les parece que hallaron aquella
hacienda en la calle, y assí la
gastan y destruyen comiendo
demasiada y curiosamente, y
haciendo gastos excesivos, de
manera que se les cae por entre
los dedos, y después cuando
tornan á jugar y pierden, páganlo
de sus propias haciendas,
padeciendo ellos y sus mujeres y
hijos y familia.
Luis.—Para esso yo os podré
decir lo que pocos días ha yo
mismo ví, que un amigo mío ganó
en tres ó cuatro veces hasta
ochenta ducados, y de hoy á tres
días, jugando sobre su palabra, le
ganaron los veinte dellos; y fué
para mí muy congoxado,
rogándome que se los buscase
sobre unas prendas, porque no
los tenía. Y yo le pregunté qué
había hecho de los que ganara. Y
queriendo echar cuenta y
averiguar en qué los había
gastado, jamás pudo llegar al
término dellos, y jurábame que
más daño recebiría en pagar
aquellos veinte que provecho con
los ochenta que había ganado.
Antonio.—Todas las ganancias
de los tahures son desa manera,
y después, cuando no tienen qué
jugar, su officio es andar pidiendo
emprestado de los unos y de los
otros, envergonzándose con
muchos que no les dan los
dineros. Y si bien se considerase
cuán grande affrenta es ésta para
un hombre que se tiene en algo,
bastaría quitarle del juego de
manera que lo aborreciese
perpetuamente. Veréis demás
desto andar las prendas suyas y
de sus amigos de casa en casa
empeñadas y (lo que es peor) los
vestidos de las mujeres
empeñados y vendidos, que
muchas veces no les dexan con
qué salir de casa, y cuando no
hay más que jugar (y aunque lo
haya), si han perdido en alguna
cantidad, muchos quieren que los
de su casa padezcan los
desatinos que ellos han hecho,
buscando ocasiones para reñir, y
el descontento y desabrimiento
que traen consigo, hanlo de pagar
las mujeres, los hijos y los
criados, reñendo con ellos,
dándoles y maltratándoles sin
causa; de suerte que parece que
el juego los dexó locos ó
desatinados, y assí andan dando
voces por casa como beodos ó
gente sin juicio, y después están
en sus camas pensando en la
pérdida, no duermen sueño, sino
dan vueltas á una parte y á otra,
sospirar y gemir y andar
vacilando, con el sentido sin
reposo alguno. Y si el cansancio
los vence, para que duerman
algún poco, luego despiertan con
el sobresalto de la pérdida; de
manera que una noche mala de
las que assí llevan habían de
estimar en más los hombres de
buen conocimiento que toda la
ganancia que el juego puede
darles en la vida, y despegarse de
su vicio tan ponzoñoso. Y cuando
esto no bastasse, debría bastar lo
que saben que han de sufrir los
que tienen por oficio andar
siempre jugando. Pintadme los
caballeros, ó muy valientes, ó
personas que estiman en mucho
la honra de cualquiera suerte que
sean; han de sufrir injurias y
afrentas por muchas vías y
maneras, porque la codicia de la
ganancia les hace jugar con gente
vil y de baja suerte, y el juego es
de tal condición que los hace á
todos iguales. Y assí los inferiores
quieren tratar á los otros
igualmente, porque si pierden
quieren que les sufran y si ganan
súfrenlos porque no se levanten
con la ganancia. Y cuando un
hombre ruin ha dicho una injuria á
un hombre honrado y le reprende
porque se la ha sufrido, responde
éste con pasión, y á los que
pierden todos les han de sufrir, y
mayor mengua es tomarme yo
con aquél. De manera que anda
la honra entre los que juegan
debajo de los pies, y si hay
algunos que son recatados y no
sufren (como dicen) cosquillas,
son muy pocos, y aun essos no
todas veces salen desto tan bien
como querrían.
Bernardo.—No habéis dicho
cosa que no sea muy verdadera,
y por eso he sufrido escucharos.
Proseguid vuestra plática, que
hasta el cabo della me tendréis
muy atento.
Antonio.—Huelgo que toméis
gusto de lo que digo, y más
holgaría de que os
aprovechásedes dello. Pues
escuchad, que no he acabado de
decir todo lo que siento. ¿Tenéis
por pequeño trabajo el andar
buscando por las calles y de casa
en casa quien juegue, rogando al
uno, fatigando al otro, haciendo
plegarias, conjurándolos como á
espirituados? Y como en los
juegos se prestan unos á otros
dineros, y la principal causa
porque otra vez se los presten al
que los da, cuando no hay
aparejo para pagarlos, andan los
hombres corridos, affrentados de
faltar sus palabras y promesas, y
assí se esconden muchas veces
de aquellos á quien son
deudores, y si los ven venir por
una calle ellos huyen por la otra, y
si van á alguna casa á donde
están no entran en ella. Y aun no
solamente hacen esto los que no
tienen aparejo para pagar, que
muchos traen consigo los dineros
y tienen en poco esta vergüenza,
y disimulan porque no les falte
para jugar. No es este el mayor
mal, que otros hay muy mayores.
Los hombres casados dan
muchas veces ocasión á que sus
mujeres, viviendo mal, hagan
desatinos y los amengüen, lo que
no harían por ventura no teniendo
tan buen aparejo. Porque como
saben que los maridos juegan
noches y días y que no han de
entender lo que ellas hacen,
porque todo su cuidado es en el
juego, toman mayor licencia con
la libertad y con el tiempo que les
sobra para sus pasatiempos
deshonestos. Y demás desto
suceden los debates y rencillas
que hay sobre el juego. Que
aunque, como he dicho, se
suffran muchas injurias, son
tantas y tantas veces, que
algunas dellas vienen á parar en
sangre y en muertes, como por
experiencia se ha visto; de allí
suceden pasiones, desafíos y
desasosiegos, y quedan los
hombres afrentados muchas
veces sin poder tomar
satisfacción ni venganza de los
que los afrentaron. Sin esto veréis
una pasión y flaqueza muy
grande en muchos de los que
pierden ó qué son las plegarias,
las rogativas, las amenazas, los
conjuros que hacen á los que se
levantan del juego para que
tornen á jugar con ellos para que
dexen de ser jurados, porque este
nombre les ponen ó que se han
metido frailes. Desta suerte
passan la vida los tahures noches
y días con estos inconvenientes y
otros más dañosos. Porque
muchos dellos, cuando les faltan
los dineros, procuran haberlos por
todas las vías illícitas que pueden,
y vienen á hurtar y robar y hacer
insultos los hijos á los padres, los
criados á los señores, y cuando
de esta manera no pueden, lo
roban de sobre el altar si lo
hallan; y assí algunos lo vienen á
pagar en las horcas, y aun si no lo
pagan también las ánimas, no son
tan mal librados. Y si el juego es
tan malo generalmente para
todos, los que sirven y son
criados de señores tienen mayor
obligación de huir y apartarse dél,
porque si tienen y les dan cargos
en que trayan hacienda entre
manos, ó se han de aprovechar
della para el juego ó ya que no lo
hagan, siempre han de tener á
sus amos sospechosos y
recatados de que se aprovechan
y hurtan para jugar, y sobre esto
les dicen mil malicias y mil
lástimas, que por ninguna cosa
habían de dar ocasión á ellas; y si
no tratan ni traen entre manos
cosa de que pueda aprovecharse
ni hacer menos, sirven muy mal,
hacen mil faltas, cuando son
menester no los hallan, cuando
los buscan no parecen, cuando
han de servir están embarazados,
si topan con ellos ruegan á los
que los llaman que digan que no
los hallaron, y si les paresce que
no pueden hacer menos de ir, van
murmurando, blasfemando,
perdiendo la paciencia con todos,
diciendo mil injurias en ausencia á
sus amos, y, finalmente, nadie
puede servir bien jugando; y de
mi consejo, quien jugare no sirva
ó quien sirviere no juegue.
Bernardo.—Decidme, señor
Antonio, ¿por qué no tomáis esse
consejo para vos como lo dais á
los otros?
Antonio.—Bien habéis dicho si
no lo hubiese tomado, y no me
acuséis ahora, pero acusadme de
aquí adelante si me viérades
hacer menos de lo que digo, que
aunque haya sido tarde, todavía
(como dice el proverbio) vale más
que nunca; y porque no se me
olvide lo que tengo que decir,
tornando al propósito, no veo
seguirse provecho ninguno del
juego, y que se siguen los daños
que he dicho, y tantos, que si
todos se hubiessen de decir, sería
para nunca acabar. Pero no
quiero parar aquí, aunque os
parezca que soy largo, porque no
es de callar el trabajo que tienen
los que se han de andar
guardando de los chocarreros,
que los que lo son ya tienen
perdida la vergüenza á Dios y al
mundo. Y como por la mayor
parte hacen mayor mal los
ladrones secretos que los
públicos, assí éstos hacen
grandísimo daño en las
repúblicas, porque hurtan y roban
secretamente las haciendas
ajenas, no se guardando las
gentes dellos; y para mí por tan
gran hurto lo tengo, que á los que
assí llevan los dineros mal
ganados, con muy gran justicia
les podrían poner á la hora una
soga á la garganta y colgarlos sin
piedad de la horca. Esta es una
manera de hurtar sotil, ingeniosa,
delicada, encubierta, engañosa y
traidora, digna de muy gran
castigo; y no veo que jamás se
castiga, que las ferias están
siempre llenas de ellos, en los
pueblos se hallarán á cada passo,
y, en fin, las justicias se han muy
remisamente en no castigar un
delito tan dañoso y perjudicial
como éste; que con razón podrían
acriminarlo tanto en algunos, que
de allí tomasen ejemplo los otros
para apartarse de tan mal trato y
officio, los cuales, por no verse en
este peligro, debrían tomar otra
manera de vida, y los tahures, por
no andar siempre recatados y
recelándose (como los que tienen
enemigos y se guardan de
traición), sería bien que se
apartasen de este vicio del juego,
porque es uno de los grandes
trabajos que se pueden tener;
pero hacen como los beodos,
que, sabiendo que el vino les
hace mal, lo buscan y procuran,
sin recelarse del daño que
reciben en beberlo.
Luis.—¿No nos diríades qué son
los delitos que cometen y cómo
los hacen, pues que
generalmente tanto mal decís
dellos?
Antonio.—Deciros lo he, pero no
particularmente, porque sería
imposible acabar de contar sus
maldades y traiciones, pero
todavía contaré algunas dellas,
assí para que sepáis que tengo
razón en lo que digo como para
que tengáis aviso en conocerlos.
Aunque ellos fingen y disimulan y
tienen tales astucias y mañas que
dificultosamente podréis entender
su manera de vida. Los más
destos andan muy bien
aderezados, con muy buenos
atavíos y en tal hábito, que los
que no los conozcan los juzgan
por hombres honrados y que no
presumirán dellos que harán
vileza ninguna. Cuando van
nuevamente á estar, ó por mejor
decir, á jugar en algún pueblo,
buscan formas y maneras para
entrar donde juegan,
entremeterse en conversación
con los jugadores, y después que
son admitidos al juego, si se
conocen dos deste oficio luego se
juntan, y si el uno juega, el otro
está mirando á los contrarios. Si
el juego es de primera tienen
escritas ciertas señas con que
dan á entender al compañero que
el contrario que envida va á
primera, otras para cuando va á
flux, y otras y otras para cuando
tiene tantos ó tantos puntos, de
manera que juega por ambos
juegos. Y estas señas son tan
encubiertas, que nadie puede
entendérselas, porque ó ponen la
mano en la barba, ó se rascan en
la cabeza, ó alzan los ojos al
cielo, ó hacen que bostezan y
otras cosas semejantes, que por
cada una dellas entienden lo que
entre ellos está concertado.
Algunos traen un espejo consigo,
y cuando están detrás lo ponen
cuando es menester de manera
que sólo su compañero puede
verlo, y ver en él las cartas que
tienen los que juegan para
envidar ó saber si los envites que
les hacen son falsos ó
verdaderos. Esto mesmo hacen
en el tres, dos y as y en los otros
juegos desta calidad. Si juegan
entrambos en un juego con otros,
ayúdanse de manera que se
entiendan la carta que han
menester, y el uno la da al otro,
porque las conocen todas, ó á lo
menos de qué manjar es cada
una dellas.
Luis.—Cosa recia decís creer si
los naipes vienen nuevos á la
mesa cuando comienza el juego,
que no sé yo como los pueden
conocer tan presto.
Antonio.—Yo os lo diré para que
lo entendáis. Algunos dellos están
concertados con otros tenderos
tan buenos como ellos, que por
alguna parte de la ganancia que
les dan huelgan de ser también
participantes de la bellaquería, y
en casa destos ponen tres y
cuatro docenas de barajas de
naipes que tienen sus flores
encubiertas, y cuando quieren
jugar dan orden que vayan allí á
comprarlas, y assí juegan con
ellos sin sospecha, siendo tan
falsos como podréis entender.
Bernardo.—Declaradnos qué
cosas son estas flores, que yo
hasta agora no las entiendo.
Antonio.—Estad atento, que yo
os desengañaré. Toman los
naipes y con una pluma muy
delicada dan su punto con tinta
tan subtil y delicado que si no es
quien lo supiere parece imposible
caer en la cuenta del engaño; á
los de un manjar danlo en una
parte, y de los otros á cada uno
en la suya diferentemente para
conocerlos. Y cuando estas
señales parece que no se pueden
tan bien encubrir, con una punta
de tijera ó cuchillo ó con una
aguja ó alfiler muy agudo los
señalan tan delicada y
encubiertamente que apenas los
ojos los descubren. Y si los
naipes no son destos, á la
primera vuelta que dan con ellos
están todos señalados, que con
las uñas suplen la falta de los
cuchillos; de manera que assí
roban los dineros de todos los
que con ellos se ponen á jugar sin
que lo sientan, y aun algunas
veces se dan tan buena maña,
que toman para sí los mesmos
naipes que están descubiertos.
Otros, cuando se descartan,
echan un naipe encima de los
otros, y si lo han menester lo
toman con toda la gentileza del
mundo sin ser vistos ni sentidos.
Bernardo.—No puedo yo
entender lo que les puede
aprovechar tener los naipes
señalados, pues que en fin han
de tomar los que en suerte les
venieren.
Antonio.—No estáis bien en la
cuenta; lo primero de que se
aprovechan es conocer por las
señales cuántas cartas tiene el
contrario de un manjar, y lo otro
que, aunque venga en baxo, á
segunda ó tercera carta, la que
ellos han menester, la sacan del
medio y tienen tan gran sutileza
que, habiéndola de dar por suerte
al otro, la toman para sí, y para
esto siempre, cuando tienen los
naipes, al sacar de uno dexan
tres ó cuatro tendidos, que no
juntan con los otros, porque si los
tienen bien juntos no pueden tan
bien conocer las señales. Y si
tienen necesidad de la primera
carta, dan á los otros tres y cuatro
de las otras, y guardan y toman
aquéllas para su juego ó para el
de su compañero si son dos los
que juegan de concierto. Y esto
llaman salvar las cartas, y entre
ellos se dice ir á salvatierra; mirad
si es esta ventaja para robar el
mundo que se jugase, no los
entendiendo. Deciros he lo que á
mí me sucedió estando en la isla
de Cerdeña cinco ó seis
compañeros que allí quedamos
aislados por espacio de dos
meses. Estaba entre nosotros un
reverendo canónigo de más de
sesenta años, que trataba en este
oficio más que en rezar sus
horas. Y jugando con nosotros
con estas ventajas, ganónos el
dinero que llevábamos para
nuestro camino, y á mí, que
presumía de gran jugador de
ganapierde, me descubría á cada
mano las primeras seis cartas que
tomaba ó yo le daba, y con todo
esto me ganó cuanto tenía,
porque yo vía las seis y él me
conocía las mías todas nueve. De
manera que el negocio vino á
términos que nos prestó dineros
para llegar á Roma, á donde
íbamos, sobre las cédulas de
cambio que llevábamos. Llegado
á Roma, acertamos á posar
juntos ambos en una casa, y
descuidándose un día este
reverendo padre de cerrar bien
una puerta de su cámara, yo la
abrí y entré sin que él me sintiese,
y estaba tan embebido haciendo
una flor, más sutil que las que he
contado, que por un buen rato no
me sintió, y cuando me hubo
visto, bien podréis creer que no
se holgaría conmigo, y quísome
deshacer el negocio con buenas
palabras y burlas. Yo dissimulé
también con él, porque me
pareció que me convenía. Y en
saliéndose de casa abrí su
cámara y cogíle un mazo de bulas
que habían costado á despachar
más de doscientos ducados, y
puestas en cobro, delante de
todos los de la casa le dixe,
cuando las halló menos, que yo
las tenía y que si no me volvía lo
que me había mal ganado que no
se las daría. El me amenazó que
se quejaría al auditor de la
cámara, y yo le respondí que yo
iría primero á informarle de lo que
pasaba. El bueno del canónigo,
por no verse más afrontado, se
concertó conmigo, entendiendo
algunos amigos entre nosotros, y
me dió cuarenta ducados y me
aseguró con una cédula otros
treinta, aunque él me había
ganado más de ciento.
Luis.—¿Y acabólos de pagar?
Antonio.—No, y deciros he el por
qué. Yo jugaba un día en un juego
de primera en que había harta
cantidad de dineros, y estando
metidos los restos de tres, un
arcediano que tenía los naipes en
las manos había tenido su resto á
una primera de dos treses y una
figura, y con ser de los mayores
chocarreros que había en Roma,
quiso salvar una carta, porque
con la otra que venía hacía
primera. Este canónigo viejo
estaba tras él, y entendiéndolo,
porque un ladrón mal puede
hurtar á otro, hízome de señas
que lo remediase. Yo caí luego en
la cuenta, y púsele la mano en los
naipes haciéndole tomar. El
canónigo, vueltos á la posada,
tanto se apiadó conmigo por la
buena obra que me hizo, que le
hube de volver su cédula, aunque
después cuando jugaba y ganaba
me iba pagando parte de la
deuda, con que no me la quedó á
deber toda. Sin esto que he dicho,
hay otras mil formas y maneras
de malos jugadores; hay hombres
de tan sotiles manos, que sin
sentirlo juntan cinco ó seis cartas
ó más de un manjar, á lo cual
llaman hacer empanadilla ó
albardilla, y poniéndolas encima,
siempre barajan por el medio,
porque no se deshagan. Y
cuando sale la una, saben que
vienen las otras tras ella, y
conforme á esto os envidan ó
tienen los envites con esperanza
de la carta que les ha de venir de
aquel manjar. Algunos
chocarreros hay que se hacen
mancos y que no pueden barajar,
porque así los ponen mejor á su
voluntad. ¿Queréis más, sino que
hay vellacos tan diestros en esto
que jugando al tres, dos y as, si
os descuidáis un poco os darían
las más veces tres figuras y
tomarán para sí un seis, cinco y
tría, ó otro risco con que os quiten
las ganancias? Y en el juego que
agora se usa de la ganapierde, si
se juntan dos de concierto son
para destruir á todos cuantos
jugaren con ellos, porque todas
las veces que el uno está rey, el
otro se carga, se deja dar bolo sin
que se pueda entender, haciendo
muy del enojado con los otros
compañeros porque no la
metieron ó porque jugaron por
donde se cargase, y después él y
el otro parten las ganancias. Pues
los que esto hacen ¿qué no harán
en los otros juegos?
Bernardo.—Bien entendido todo
lo que habéis dicho; pero el juego
de la dobladilla, que es el que
más agoran usan, casi ha
desterrado á la primera y á los
otros, y este es un juego tan á la
balda, que no hay lugar en él de
hacer tantas maldades y
bellaquerías.
Antonio.—Engañaisos, que si yo
tuviese agora los dineros que se
han ganado á ella mal ganados,
más rico sería que un Cosme de
Médicis; veréis á esta gente que
digo hacer y urdir y componer en
este juego veinte trascartones
cuando los naipes les entran en
las manos, poniendo juntos todos
los encuentros que pueden, para
que si por ventura viniesen no
pierdan sino una ó dos suertes, y
si acaesce alzar el contrario por
una carta antes, viene luego su
suerte y comenzan á contar
subiendo lo que pueden, de
manera que aventuran á perder
poco y á ganar mucho. Otros hay
que si pueden haber los naipes
antes que jueguen, ó si son de los
que he dicho, que tienen
concertados con los que los
venden ó con el dueño de las
casas donde juegan, ponen entre
ellos algunos naipes mayores ó
más anchos que los otros alguna
cosa, assí como cuatro reyes,
cuatro cincos ó cuatro sotas, los
unos son mayores por los lados y
los otros por los cantos, y cuando
no pueden hacer esto doblan
algún naipe de manera que no
assiente bien y acierten á alzar
por él, y á estos naipes llaman el
guión ó la maestra. Y cabe los
que son mayores ó doblados
ponen siempre y procuran juntar
los otros como ellos, que si es as
ponen los ases y si es seis ponen
los seises, para que cuando
alzasen por ellos, como lo hacen,
venga cerca su suerte.
Luis.—Poco les puede
aprovechar esso, si los naipes se
barajan bien, porque todas essas
cosas se deshacen.
Antonio.—Vos tenéis razón, que
muchas veces con el barajar no
tiene efecto su malicia, pero tan á
menudo procuran esta ventaja
que algunas suertes les salen
como ellos procuran, y por pocas
que sean bastan para destruir á
su contrario, porque como tienen
este conocimiento de la suerte
que viene, cuando sienten que no
es la suya, procuran que se salga
y hacen veinte partidos hasta
asegurarla. Y aun algunos hay
que pasan la suerte de sus
contrarios, á lo menos cuando los
tienen picados, que están ya
medio ciegos y para esto tienen
mill formas y maneras exquisitas.
Y no para en esto el negocio, que
hay algunos chocarreros de los
que se conciertan que yendo por
ambos la moneda que juegan, el
uno arma con dineros al contrario
de la cuarta ó quinta parte,
porque perdiendo allí gana acullá
la mitad del dinero. Son tantas
estas traiciones y bellaquerías,
que es imposible acabarlas de
decir ni entender, porque como
estudian en ellas los que las
usan, cada día inventan cosas
nuevas en esta arte, como los
otros oficiales que buscan nuevos
primores en sus oficios, y si dos
que se conciertan toman á uno en
medio, no le dejan cera en el
oído, siendo dos al mohíno. Y á
los que no entienden ni saben
estas cosas, esta buena gante los
llama guillotes y bisofios. Y
dexando los naipes, vengamos á
los dados, que no hay menos que
decir en ellos. Hay muchos
hombres tan diestros en jugarlos,
que todas las veces que se hallan
con suerte menor, como es siete,
ocho ó nueve puntos, hincan un
dado de manera que le hacen que
caya siempre de as, para que los
otros corran sobre él, y cuando la
suerte es doce ó de ahí arriba
hincan otro dado de seis, de
manera que las más veces
aseguran su suerte; y esto
quieren defender que no es mal
jugar, sino saber bien jugar y
tener mejor habilidad y destreza
en el juego que los otros. Algunos
hay tan hábiles, que hincan dos
dados desta manera, y de otros
dicen que todos tres; pero yo no
lo creo ni lo tengo por posible si
no los estuviesen componiendo
en las manos; y si esto hiciesen

You might also like