Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Ext JS 3.0 Cookbook
Ext JS 3.0 Cookbook

Ext JS 3.0 Cookbook: Clear step-by-step recipes for building impressive rich internet applications using the Ext JS JavaScript library

eBook
$22.99 $32.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Ext JS 3.0 Cookbook

Chapter 2. Laying Out a Rich User Interface

These are the recipes that you will learn in this chapter:

  • Laying out items within a container using CSS style absolute positioning

  • How form elements and other components maintain their proportions when their containers are resized

  • Stacking items with an accordion layout

  • Wizard style UI using a card layout

  • Using a tabbed look

  • Taking all the browser window's real estate

  • Positioning components in multiple columns

  • Using the table layout

  • Creating a modern application layout with collapsible regions

  • A custom column layout

  • A three-panel application layout with a single line of code

  • Creating a portal and a portlets catalog

Introduction

Components layout is one of the most important areas of the Ext JS library. This chapter teaches you how to create different layouts that the Ext JS library provides, and informs you about their most common uses. You will also be introduced to creating custom reusable layouts that can meet the most demanding requirements of your applications...

Introduction


Components layout is one of the most important areas of the Ext JS library. This chapter teaches you how to create different layouts that the Ext JS library provides, and informs you about their most common uses. You will also be introduced to creating custom reusable layouts that can meet the most demanding requirements of your applications.

Laying out items within a container using CSS-style absolute positioning


Sometimes, you need to position components using the standard X and Y coordinates. In this recipe, I position two panels in the container using an absolute layout. The following screenshot shows how the end result will look like:

How to do it...

  1. 1. Create a couple of panels that will be absolute-positioned:

    panel1=new Ext.Panel({
    title: 'Panel 2',
    // When using absolute layouts,
    // you need to specify the coordinates.
    x: 50,
    y: 50,
    width: 200,
    height:200,
    html: 'Positioned at x:50, y:50'
    });
    panel2=new Ext.Panel({
    title: 'Panel 2',
    x: 200,
    y: 200,
    width: 300,
    height: 150,
    html: 'Positioned at x:100, y:100'
    });
    
  2. 2. Create a container for the panels:

    var viewport=new Ext.Viewport({
    // Position items within this container using
    // CSS-style absolute positioning.
    layout:'absolute',
    items:[panel1, panel2]
    });
    

How it works...

Locating items in specific positions is achieved by assigning an absolute layout for the layout configuration...

Maintaining components' proportions when their containers are resized


Having components that maintain their proportions when their containers are resized is important, especially, when dealing with form elements.

In the following screenshot, there are three panels that resize themselves as their container is resized:

How to do it...

  1. 1. Create the panels that will be displayed:

    panel1=new Ext.Panel({
    title: 'Panel 1',
    html: 'Width=container width\' - 50 px',
    // Width=container width' - 50 px.
    anchor: '-50'
    });
    panel2=new Ext.Panel({
    title: 'Panel 2',
    html: 'Width=75% of container',
    // Width=75% of container.
    anchor: '75%'
    });
    panel3=new Ext.Panel({
    title: 'Panel 3',
    html: 'Width=50% of container<br/>Height=container\'s - 150 px',
    // Width=50% of container,
    // Height=container's - 150 px.
    anchor: '50%, -150'
    });
    
  2. 2. Now, create the container window. When this window is resized, the panels will maintain their proportions:

    var container=new Ext.Window({
    title: 'Anchor Layout',
    width: 600,
    height...

Stacking items with an accordion layout


Countless applications use a layout where multiple panels are positioned in an expandable accordion style, such that only one panel can be open at any given time. This recipe is a sample that tries to borrow the look of popular email applications to explain how to configure and use an accordion layout.

How to do it...

  1. 1. Create the Mail panel:

    panel1=new Ext.Panel({
    title: 'Mail',
    items: [{
    xtype: 'treepanel',
    id: 'inbox-tree',
    autoScroll: true,
    animate: true,
    enableDD: true,
    containerScroll: true,
    border: false,
    dataUrl: 'mail-folders.php',
    root: {
    nodeType: 'async',
    text: 'MailBox',
    draggable: false,
    id: 'mailbox'
    }
    }]
    });
    
  2. 2. Create the Calendar panel:

    panel2=new Ext.Panel({
    title: 'Calendar',
    bodyStyle: 'padding:10px',
    items: [{ xtype: 'datepicker',
    style: 'border:0'
    }]
    });
    
  3. 3. Create the Contacts panel:

    panel3=new Ext.Panel({
    title: 'Contacts',
    bodyStyle: 'padding:10px',
    items: [{ xtype: 'fieldset',
    title: 'Current View',
    autoHeight: true,
    bodyStyle...

Wizard style UI using a card layout


The Wizard style UI is perfect when you need to lead the user through a series of steps in a specific sequence. Wizards are especially suited for complex or infrequently performed tasks, where the user is unfamiliar with the steps involved. In the following screenshot, you'll see what the Wizard style UI built in this recipe looks like:

How to do it...

  1. 1. Create the wizard's cards or steps:

    card0=new Ext.Panel({
    id: 'card-0',
    html: '<h1>Step 1 of 3</h1><p>Welcome to the wizard. </p><p>Click the "Next" button to continue...</p>'
    });
    card1=new Ext.Panel({
    id: 'card-1',
    html: '<h1>Step 2 of 3</h1><p>One more step left.</p><p>Please click the "Next" button to continue...</p>'
    });
    card2=new Ext.Panel({
    id: 'card-2',
    html: '<h1>Step 3 of 3</h1><p>This is the last step. You made it!</p>'
    });
    
  2. 2. You need a function to switch the steps:

    var navigationHandler=function...

Using a tabbed look


A tabbed GUI is modeled on the traditional card tabs or card indexes. It makes your screens easier to understand and navigate, and gives the application a more natural look. This recipe helps you to build a panel with three tabs, as shown in the following screenshot:

How to do it...

  1. 1. Create the tabs. Each tab is simply a Ext.Component, such as a panel:

    var tab1={
    title: 'First Tab',
    html: 'Content for the first tab'
    };
    var tab2={
    title: 'Second Tab',
    html: 'Content for the second tab'
    };
    var tab3={
    title: 'Third Tab',
    html: 'Content for the third tab'
    };
    
  2. 2. What's left is to put the tabs in their containers:

    var tabPanel=new Ext.TabPanel({
    title: 'Tab Panels',
    width: 400,
    height: 300,
    applyTo: 'tab-panel',
    // Each tab is just a panel managed by the card layout.
    items: [tab1, tab2, tab3],
    activeItem: 0,
    defaults: {bodyStyle:'padding:5px'}
    });
    

How it works...

After you build your tabs, use an Ext.TabPanel as their container. The TabPanel class displays one tab at a time...

Taking all the browser window's real estate


There are times when you want a component to automatically expand and fill its container. In the following screenshot, you'll see how a panel can be made to take up the whole browser window using a FitLayout layout manager:

How to do it...

  1. 1. Create the panel that will take all of its container's area:

    greedyPanel={ title: 'Fit Layout',
    html: 'Panel using FitLayout'
    }
    
  2. 2. The container is the one that lets its children fill the area:

    var container=new Ext.Viewport({
    layout: 'fit',
    defaults: {
    bodyStyle: 'padding:10px'
    },
    items: [
    greedyPanel
    ]
    });
    

How it works...

Note the use of the layout:'fit' configuration option. FitLayout automatically expands the panel to fill its container, the Ext.ViewPort instance. The Viewport renders itself to the document body and automatically resizes itself to the size of the browser's viewport.

There's more...

When using fit layouts, you should be aware that if the container has multiple panels, only the first one will...

Positioning components in multiple columns


Multicolumn layouts are pervasive today. They are a favorite choice when there is a need to display complex data, or to have an organized and easy-to-navigate GUI. This recipe explains how to set up this type of layout with Ext JS, as shown in the following screenshot:

How to do it...

  1. 1. Create the columns of your layout:

    var column1={
    xtype:'panel',
    title: 'Column 1',
    columnWidth: .3,
    html: 'Width=30%'
    }
    var column2={
    xtype: 'panel',
    title: 'Column 2',
    columnWidth: .5,
    html: 'Width=50%'
    }
    var column3={
    xtype: 'panel',
    title: 'Column 3',
    width: 200,
    html: 'Width=200px'
    }
    
  2. 2. Position the columns in a container that uses the column layout:

    var container=new Ext.Viewport({
    layout: 'column',
    defaults: {
    bodyStyle: 'padding:10px'
    }, items: [column1, column2, column3]
    });
    

How it works...

Building a column layout requires you to create the panels that will constitute the columns. These columns are then added to a container that uses ColumnLayout. (Note the...

Using the table layout


If you have remained faithful to HTML tables, then you are in luck! Ext JS provides a layout manager—TableLayout—whose basic building concept is conceptually similar to building an HTML table.

This is how you can create a complex table layout with cells that span multiple rows or columns. In the following screenshot, you'll see what the end result looks like:

How to do it...

  1. 1. The table cells are built as follows:

    c1={ title: 'A cell', html: '<p>colspan=1<br/>rowspan=1</p>' }
    // This cell spans 2 columns.
    c2={ title: 'A cell', html: '<p>colspan=2<br/>rowspan=1</p>', colspan: 2 }
    // This cell spans 3 rows.
    c3={ title: 'A cell', html: '<p>colspan=1<br/>.<br/>.<br/>.<br/>. 
    <br/>.<br/>.<br/>.<br/>.<br/>.<br/>rowspan=3</p>', rowspan: 3 }
    c4={ title: 'A cell', html: '<p>rowspan=3<p>' }
    // This cell spans 2 rows.
    c5={ title: 'A cell', html: 'colspan=1&lt...

Creating a modern application layout with collapsible regions


This layout is very popular in modern applications where the GUI consists of multiple nested panels with split bars and collapsible regions. Here's a sample that you can use as a foundation for your applications as seen below:

How to do it...

  1. 1. Set up the panels of the application:

    northPanel={
    title: 'North Panel',
    region: 'north',
    height: 150,
    minSize: 75,
    maxSize: 250,
    cmargins: '0 0 5 0'
    }
    southPanel={
    title: 'South Panel',
    region: 'south',
    height: 150,
    minSize: 75,
    maxSize: 250,
    cmargins: '5 0 0 0'
    }
    westPanel={
    title: 'West Panel',
    region: 'west',
    margins: '0 0 0 0',
    cmargins: '0 5 0 0',
    width: 175,
    minSize: 100,
    maxSize: 250
    }
    eastPanel={
    title: 'East Panel',
    region: 'east',
    margins: '0 0 0 0',
    cmargins: '0 0 0 5',
    width: 175,
    minSize: 100,
    maxSize: 250
    }
    centerPanel={
    title: 'Center Panel',
    collapsible: false,
    region: 'center',
    margins: '0 0 0 0'
    }
    
  2. 2. Now, build the container and add the panels to it:

    var container=new...

A custom column layout


Some applications have special layout requirements that cannot be met by the native Ext JS layouts. Luckily, you can extend these layouts and add the features that you need.

As an example, this recipe explains how to build a custom layout based on the column layout's features. This custom layout will allow you to separate each of the columns with a configurable distance. For example, a sample three-column ColumnLayout layout would look like this by default:

But when using this recipe's custom layout, the same sample allows for user-defined space between columns:

Getting ready...

Since this layout borrows heavily from Ext.layout.ColumnLayout, I recommend that you make yourself familiar with the source code of Ext.layout.ColumnLayout located in the ColumnLayout.js file of the library's SDK.

How to do it...

  1. 1. Create the namespace for your custom layout:

    Ext.namespace('Ext.ux.layout');
    
  2. 2. Define your custom layout as an extension of Ext.layout.ContainerLayout:

    Ext.ux.layout...

A three-panel application layout with a single line of code


This recipe explains how you can build a reusable Ext JS component that encapsulates one of the most popular GUI styles—a three-panel layout. Using the component will produce a layout like the one shown in the following screenshot:

This layout consists of a Navigation panel, a Master panel, and a Details panel as shown in the following screenshot:

The Master panel has a toolbar with a button that switches the Details panel's location from bottom to right, or hides it altogether:

Besides being able to add components to any of the layout's panels via configuration objects, you can also reconfigure any of the panels by the same means.

How to do it...

  1. 1. Create the skeleton code of our component:

    Ext.ns('Ext.ux');
    Ext.ux.ThreePanelApp=function(conf) {
    // Master Panel
    // Details Panel
    // Nav Panel
    // MasterDetailsCnt
    }
    
  2. 2. Create the Master panel:

    MasterPanel=function(conf) {
    config={ title: 'Master',
    region: 'center',
    tbar: [{
    split: true...

Creating a portal and a portlets catalog


Portals are one of the most efficient ways to present information from diverse sources. This is how you can create a dashboard-style GUI that consists of a portal region and a Portlets Catalog. Portlets in the catalog can be added to the portal via a context menu. Once in the catalog, a portlet can be re-positioned or removed from the portal and sent back to the catalog. In the following screenshot, you'll see how a portlet is added using a context menu:

In the following screenshot, you'll see how a portlet is removed:

Portlets can also be re-positioned, as shown in the following screenshot:

How to do it...

The dashboard uses five main components:

  • The Portlet class, which represents a portlet

  • The PortletsCatalog class, which is a tree view where each node represents a portlet

  • The PortalColumn class, which displays a number of portlets in a column layout

  • The Portal, which contains two PortalColumn instances so that portlets are arranged into two columns...

Left arrow icon Right arrow icon

Key benefits

  • Master the Ext JS widgets and learn to create custom components to suit your needs
  • Build striking native and custom layouts, forms, grids, listviews, treeviews, charts, tab panels, menus, toolbars and much more for your real-world user interfaces
  • Packed with easy-to-follow examples to exercise all of the features of the Ext JS library
  • Part of Packt's Cookbook series: Each recipe is a carefully organized sequence of instructions to complete the task as efficiently as possible

Description

Using Ext JS you can easily build desktop-style interfaces in your web applications. Over 400,000 developers are working smarter with Ext JS and yet most of them fail to exercise all of the features that this powerful JavaScript library has to offer. Get to grips with all of the features that you would expect with this quick and easy-to-follow Ext JS Cookbook. This book provides clear instructions for getting the most out of Ext JS with and offers many exercises to build impressive rich internet applications. This cookbook shows techniques and "patterns" for building particular interface styles and features in Ext JS. Pick what you want and move ahead. It teaches you how to use all of the Ext JS widgets and components smartly, through practical examples and exercises. Native and custom layouts, forms, grids, listviews, treeviews, charts, tab panels, menus, toolbars, and many more components are covered in a multitude of examples.The book also looks at best practices on data storage, application architecture, code organization, presenting recipes for improving themóour cookbook provides expert information for people working with Ext JS.

Who is this book for?

The Ext JS Cookbook is for Ext JS users who want a book of useful techniques, with explanations, that they can refer to and adapt to their purposes. Developers who are already familiar with Ext JS will find practical guidance and numerous examples covering most of the library's features and components that can be used as a solid foundation to build upon when creating rich internet applications.

What you will learn

  • Work with different browsers, platforms, and the DOM, as well as determine and understand the different ExtJS data types
  • Create your own custom Ext JS data types as you extend their functionality
  • Build great-looking and friendly forms by using client and server-side field validation, form loading, submission, field customization, and layout techniques
  • Explore the different layouts provided by the Ext JS library as well as create your own, and understand their common uses
  • Display, edit, and group tabular data generated by the server using Grid Panels
  • Explore the advantages and the efficiency tradeoffs of widgets such as Combo boxes
  • Use the drag and drop features of the grid component, data editing with the new RowEditor Class, and the new lightweight ListView component
  • Explore multiple ways of displaying master-details relationships
  • Group components or information under the same container to build hierarchical views of information by using TabPanel components
  • Use patterns to build a solid and flexible application architecture and implement additional design patterns such as auto-saving form elements, component state management, and code modules to build robust and flexible applications with Ext JS
  • Build your own custom components on top of the Ext framework and enhance the custom components created by the Ext JS users community

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Oct 20, 2009
Length: 376 pages
Edition : 1st
Language : English
ISBN-13 : 9781847198709
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Oct 20, 2009
Length: 376 pages
Edition : 1st
Language : English
ISBN-13 : 9781847198709
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 54.99
Ext JS 3.0 Cookbook
$54.99
Total $ 54.99 Stars icon

Table of Contents

10 Chapters
DOM and Data Types, the Ext JS Way Chevron down icon Chevron up icon
Laying Out a Rich User Interface Chevron down icon Chevron up icon
Load, Validate, and Submit Forms Chevron down icon Chevron up icon
Fun with Combo Boxes and Date Fields Chevron down icon Chevron up icon
Using Grid Panels to Display and Edit Tabular Data Chevron down icon Chevron up icon
More Applications of Grid and List Views Chevron down icon Chevron up icon
Keeping Tabs on Your Trees Chevron down icon Chevron up icon
Making Progress with Menus and Toolbars Chevron down icon Chevron up icon
Well-charted Territory Chevron down icon Chevron up icon
Patterns in Ext JS Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.7
(6 Ratings)
5 star 66.7%
4 star 33.3%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




RandomUser2221 Dec 08, 2009
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I've been using ExtJS for the last year and have experienced the transition from version 2.0 to 3.0 and have been rather pleased with the results it has delivered for numerous web projects I've coded. After trying many other JS kits and frameworks including Jquery, Mootools, and several others I have generally settled on ExtJS to solve the layout and user interface parts of my applications because of its ease of use and flexible nature for expansion. The framework is an extension of the Yahoo javascript framework, otherwise known as YUI, but with many quality extensions. This book comes as a welcome guide to the general tasks that the framework will solve as well as some of the more unique and in-depth items that it can provide. Quite simply it's a book with over a hundred examples of all the best features of the ExtJS framework. The examples are well explained with detailed write-ups that are fun to read. The examples also have immediately usable code for dropping into place or modifying for your own needs. If you're interested in learning more about this amazing framework or are already acquainted and need a quick guide to expand your abilities, then this will be a good reference to own. Before I get going you can see the book here.The book starts out with an overview of the way that ExtJS handles DOM and data types, which is all very basic stuff but required understanding as well. It's a good start to understanding the base elements if you are a bit rusty. It's also a good chapter to see how ExtJS handles them since it might not be what you are used to if coming from another framework. After enough pages to answer most typical questions of that topic the book dives into the UI building aspects of the framework. This is where things get really good as I've always enjoyed how the framework builds UI for the web. You get examples for containers and positioning, accordion functionality, card and tab based windowing, column and table layouts, and the windowing functions for full browser UI building. I've used many of these features all in one layout and the results are a effective and efficient manner of data distribution and information organization for content driven sites. The book even covers dynamic building of UI elements, which comes in handy for a user interface that grows and changes with the needs of the user.After you build your UI you need methods to get content into the application and ways that the user can interact with the app. The book addresses these needs as well. Plenty of examples abound for all of the required manners that users will be using forms, date fields, combo boxes, remote data loading via JSON and XML, as well as covering grid panels and data tables. Of course it must be mentioned that there are numerous examples that discuss the AJAX features of ExtJS since this is one of it's major strengths and successes. If there's a way to use remote data calls via XML or JSON, it is covered in this book. We also get a nice run down of trees and tab data which is inevitably useful for many purposes. If you are interested in progress bars and customized progress circles the book covers those with over 20 pages of examples. Just before the topics are finished off Jorge covers the functions for building rich charts and graphs. Details involve static data display, remote data display, as well as auto-refresh of data for realtime charting. Patterns, class extensions, plugins, and 'keeping state' are the last topics of the book. They offer quality methods for customizing ExtJS with your own JS code and keeping the user's data consistent between sessions.Overall this is one of the best books I've read about ExtJS. It's as if the author took all of the items that I had to research over the last year of using the framework and put the solutions all into a nicely readable form with quality code examples that are explained in a useful manner. If you are looking for a book that touches upon the most common and some of the more esoteric options of the ExtJS framework but don't feel like scouring the online forums and hundreds of pages of documentation then this is the book for you. If you haven't already built your own code for the features that the chapters discuss then the examples given will save you time and get your projects up and running fast and efficiently.
Amazon Verified review Amazon
Art Nov 23, 2009
Full star icon Full star icon Full star icon Full star icon Full star icon 5
ExtJS 3.0 Cookbook is definitely geared towards JavaScript developers who have some basic understanding of and experience with ExtJS 3.0. If you're brand-new to ExtJS, you may want to wait a few weeks until you've spent some time playing with the various components and layouts that ExtJS offers.As an experienced ExtJS developer, I can say with absolute certainty that I learned some new tricks while reading this book. I wrote a full review on my blog ([...]) but here's the short version.:Ramon's approach to explaining the examples is virtually flawless, and the box-style headers make it easy to follow. I haven't seen too many coding books use this technique, so kudos to whoever thought of it!If I had to pick a single reason to buy ExtJS 3.0 Cookbook, it would definitely be Chapter 9 (Well-Charted Territory).Why?For starters, the ExtJS website samples don't do a great job explaining how to use many of the available charts. The online documentation also lacks direction. Jorge is the first person I've seen who thoroughly explains how to use each type of chart, and his examples are both unique and helpful. Kudos!I've read a lot of programming textbooks, and none are nearly as helpful or interesting as ExtJS 3.0 Cookbook. It is a quick read for containing 356 pages, and Jorge Ramon does a fantastic job offering tips and tricks for ExtJS developers.Regardless of your experience level, the ExtJS 3.0 Cookbook will absolutely teach you something new!
Amazon Verified review Amazon
Adam Rackis Jan 30, 2010
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Clear, concise, practical. This book is loaded with useful recipes, which are well explained and easily modified to suit your own project. Honestly one of the best tech books I've bought in a long time.
Amazon Verified review Amazon
S. Chen Mar 06, 2013
Full star icon Full star icon Full star icon Full star icon Full star icon 5
It helped me to understand Ext better. I wished it would have focused on using ext. with MVC though, but it did not.
Amazon Verified review Amazon
Josh Holmes Nov 20, 2009
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
For full disclosure, Packt Publishing sent me a review copy of this book. They did not ask for a positive review, just a review.This is the first book by Jorge Ramon that I've read. This book is exactly what the title says that it is, a Cookbook. It's got 109 solutions to problems solved by Ext JS 3.0. I was expecting, like a lot of other books to get a fill of all of the philosophy behind what they are trying to promote but that wasn't the case. This book just in with no nonsense and gets right to the code.Every chapter is laid out exactly the same. It starts off with a list of problems solved in this chapter and a very short paragraph that gives an explanation to why these are related problems. The rest of the chapter is broken in to "recipes" all of which are laid out exactly the same as each other as well with sections "Introduction", "How to do it", "How it works", an optional "There's more" and a "See also" section. The intro is typically a short paragraph that describes when this recipe is going to be useful and optionally contains a screenshot or two of the solution. The How to do it section is almost all code with just enough text to explain where to put the code that you are looking at. The How it works section explains a little more about the events and the libraries that are at play and how they effect the code snippets that you just wrote. The There's more section points out potential pitfalls or other benefits that this recipe brings to the table. The See also section points out related recipes that you should look at in addition to the recipe that you're looking at.So what's my opinion on the book?if you are trying to understand JavaScript and/or Ext JS 3.0, this book is not the book for you. There are plenty of other books out there that will step you in at a little more manageable pace.However, if you are somewhat familiar with JavaScript and Ext JS 3.0, this is a great recipe book. The code is clean and readable. The problems are problems that I see on a semi-regular basis. I like it for what it is. It's a handy reference and a set of problem/answers that solve discrete problems. It's a good formula and I'm probably going to write a few blog posts in that format to feel it out.The price, $49.00 or 30.99 Pounds is a little steep but if it cuts an hour or two out of your research and development time, it's paid for itself. Also, you can download the code from Packt Publishing in a zip file and copy paste from that so it's definitely going to save you time if you are using Ext JS 3.0. This was something that I missed at first to be honest and only caught when I went back to reread the preface and saw the link to where the source is zipped up.Another interesting note about Packt Publishing is that on their "About Packt Publishing" page in the back of the book, they mention that when they publish a book based on an open source project that they pay royalties back to that project. I don't know how much they pay in royalties to the project but that's a really class thing to do. If one is making money on an open source project, they should contribute to it somehow either through code or financially or both.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.