Ext JS Books: Resources to Master the Framework
Learning an exciting software framework can be like climbing a mountain — it requires proper equipment, technical skill and determination. To help new and seasoned community members reach the Ext apex, three new books have come to our attention to help guide your path.
Ext JS in Action
Author: Jesus D. Garcia, Jr.
Discount code: extjs40 (40% off until April 1)
Description:
-
Part 1: Introduction to Ext JS
- A framework apart
- An Ext JS primer
- A place for components
- Organizing components
-
Part 2: Ext components
- Building a dynamic form
- The venerable Ext DataGrid
- Taking root with Ext Trees
- Toolbars and menus
- Advanced element management
- The Ext toolbox
- Drag and drop
-
Part 3: Building a configurable composite component
- Developing object-oriented code with Ext
- Building a composite widget
- Applying advance UI techniques
The author, Jesus Garcia is a long-time member of the Ext JS forums with a well-documented history of helping others in his 7600+ posts. His book, Ext JS In Action, will make an excellent companion to Learning Ext JS below, since it takes a more-technical bottom-up approach to teaching Ext JS. Mr. Garcia demonstrates a thorough understanding of low-level DOM manipulation and event-handling, including the differences between browsers.
The book contains many excellent diagrams primed for printing and posting beside your monitor, like the following illustration of the Ext class hierarchy depicting common descendants of Ext.Component:
Though still in development, this excellent book for both Ext JS new-comers and advanced developers alike is currently available through the Manning Early Access Program. Says Steven Hong of Manning Publications:
“I’ve taken the liberty of setting up a discount code for your readers to use. Until April 1, your readers can use the code extjs40 at www.manning/garcia to receive 40% off the retail value of the book”
We at Ext JS thank Manning Publications for their generous offer to our community.
Learning Ext JS
Authors: Shea Frederick, Colin Ramsay, Steve “Cutter” Blades
Description:
- Chapter 1 introduces you to the process of installing the required Ext JS library files, and setting up a basic page that displays an alert-style message. This provides us with a way to test whether your setup was done correctly, and whether you’re ready to play with some code. We also cover how to set up other base libraries such as jQuery, YUI, and Prototype, to work in conjunction with Ext JS.
- Chapter 2 covers how to interact with the web page and the user. With example code that uses simple components, we quickly start to see the level of user interactivity that Ext JS provides right out of the box. We assemble a series of dialogs that appear and modify the existing pages depending upon the users’ inputs.
- Chapter 3 launches us into using the first major widget—forms. We start by creating a simple form with three fields, explore the different form field types, and then add some simple validation to our form. From there we move on to creating custom validation and database-driven combo-box’es and handling form submissions.
-
Chapter 4 provides an overview of how to use toolbars and buttons within your
application. These components are typically undervalued, yet they provide crucial user interface functions. We jump straight into creating toolbars with buttons, split buttons, and menus, along with adding mechanical elements such as spacers and dividers. Next, we cover customizing the toolbar with stylized icon buttons and form fields. -
Chapter 5 covers grids—the most widely-utilized component in the Ext JS library. In
this chapter, we learn how to set up a grid panel using both local and remote data, and in both in XML and JSON formats. We also discuss how to prepare different data types and how to create renderers that will style and format the data to your preference. Using the selection model and paging are among the many interesting points covered in this chapter. -
Chapter 6 dives into editor grids. Here, we learn how to set up an editor grid using
different form field types, and how to save changes made in the grid back to the server or database. We also discuss tactics for adding and removing rows of data to and from our data store, and the server or the database. - Chapter 7 explores the concept of using the layout component to bring all the portions of your application together into a cohesive web application. We start by using a viewport with a border layout to contain the many parts of our application. From there we are able to add other layout features such as tab panels, accordions, and toolbars. We finish up by learning how to nest layouts and make dynamic changes to the layout components.
- Chapter 8 discusses the presentation of hierarchical information using the Ext JS Tree support. Using real-world examples of hierarchical data, you will discover how to display and manipulate a Tree view. You will use AJAX techniques to persist the modifications to a server and learn how to tweak the Tree to support advanced scenarios.
- Chapter 9 demonstrates how Ext JS can provide attractive user prompts that can either present information or accept input. We then discuss the extension of these dialogs in the form of Ext.Window, a fully-fledged means of creating customizable pop-up windows.
- In Chapter 10, we take a tour of the visual effects available in the Ext JS effects package. You will learn how to apply animations to create smooth transitions and notifications to enhance the user experience.
Well-written and well-produced, Learning Ext JS takes a top-down approach to teaching Ext JS, which might be daunting for those having little experience with the framework. However, this approach will certainly immerse the reader quickly into a number of common techniques used througout the framework, like XType, configuration objects and common component configuration parameters.
After starting off with an excellent tutorial on how to download and include the library’s JavaScript & CSS assets, the authors quickly jump full-force into Ext forms in the third chapter and beyond, guiding the reader through all of Ext’s high-level widgets using an evolving “movie database” application with server-side code examples in both php and ColdFusion.
var store = new Ext.data.GroupingStore({ url: 'movies.json', sortInfo: { field: 'genre', direction: "ASC" }, groupField: 'genre', reader: new Ext.data.JsonReader({ root:'rows', id:'id' },fields); }); var grid = new Ext.grid.GridPanel({ renderTo: document.body, frame:true, title: 'Movie Database', height:400, width:520, store: store, autoExpandColumn: 'title', columns: // column model goes here //, view: new Ext.grid.GroupingView() });
In the final chapters, the authors provide some excellent material in more advanced topics, like Ext’s data package, extending Ext core classes with Ext.extend, overriding initComponent & onRender in your extensions and organizing your extensions into separate files. If you’ve already got experience with Ext JS, this book will do wonders in focusing your skills.
Ext JS Projects with Gears
Author: Frank Zammetti
Description (by the author)
- Nine chapters in total. The first is your typical “Intro to Ext JS”. I start with a few pages on RIA development, the evolution of web development in general, etc. I talk about how there’s now a lot of choices in toolkits and of course wind up saying that Ext JS is the best of the bunch IMO I then quickly give a basic first application with Ext JS (not much more than “hello world”). Then it’s on to some details… things like Ext JS’s overall structure, the stuff added to intrinsic classes, then the stuff directly under the Ext namespace. I then go into Ext.util in some detail.
- Chapter 2 is the more “advanced” introduction… I cover the inheritance model behind widgets, the basics of widget usage, then details about the concept of layout and layout managers. I then cover most of the core widgets in some detail. I also talk about the data subsystem, templating capabilities, drag-and-drop and state management. I also talk a bit about plugins and some of the great user extensions out there. This chapter also introduces Gears, which although the lesser player in the game is a big part of the chapters to follow.
- Chapters 3-9 are the project chapters. Each of them presents a sovereign, unique, full application using Ext and Gears. This is the meat of the book (the “practical projects”!). The idea here is learn-by-example (and learn-by-doing because the end of each chapter presents suggested exercises to the reader).
In the Ext forum-post where Mr. Zammetti introduced Ext JS With Gears, he stresses:
“Keep in mind that this book is in no way trying to be an exhaustive, detailed look at Ext… I purposely had to leave some things out, but I tried my best to cover everything that I thought was most relevant to a modern web developer.”
Frank Zammetti is a prolific writer at Apress, authoring five books there so far.
extjs.com
Those new to Ext JS should be aware of a number of important learning resources within extjs.com itself, where you’ll find material on gathering the right equipment along with lessons and tutorials to hone your skills, from javascript fundamentals to advanced techniques.
Ext API Docs
Like a GPS device for the framework, the Ext API docs have always been of superior quality and are one of the primary reasons for the framework’s success. You can find the docs online at www.extjs.com/docs, in your locally downloaded copy of the library (eg: ext-2.2/docs) or as a downloadable Adobe Air application.
The Ext Forum
The Ext forum is a large, diverse community with over 60000 registered users (as much as a small city!), including a couple of heavy-weights with over 10000 posts. These guys have seen it all and know what they’re talking about (some of you might recognize the fourth character in this list, Mr. jgarcia, the author of Ext JS In Action above.)
Whichever server-side technologies you’re bringing with you into Ext — .NET, Merb/Ruby on Rails, Enterprise Java or PHP — you’ll find someone in the Ext Forum who’s already been down the road you’re on, so register now—it’s free.
Community Learning Center
Available through the Support tab on our website, the Ext JS Community Learning Center contains an evolving collection of training resources that will accelerate your transition into Ext JS, including the Ext JS Manual, interactive demos, tutorials, screencasts and much more.
Ext Enterprise Training
We love to travel and we love to teach. From beginning JavaScript and CSS to custom component creation and CSS theming, your team will learn how to bring it all together to create innovative web user interfaces with hands-on training by a member of the Ext Core Development Team.
Ext Conference 2009
This April, join Jack and the Core Development Team as we host the 1st Annual Ext Conference and Ext 3.0 release party. Connect with other members of the Ext Community while learning about Ext 3.0′ s innovative features.
Tools, Black-belts & Meetups
Jozef Sakalos, aka Saki
One of the top Ext experts in the world as well as a member of the Ext Support Team, Saki maintains an Ext Examples Page as well as an active blog.
The User-extension Repository
The User-extension repository is an attempt to build a centralized database of API documentation for 3rd-party ux (user-extension) components using the familiar Ext documentation style.
Meetups
Both Jay Garcia (author of Ext JS in Action) and Shea Frederick (an author of Learning Ext JS) have been partaking in the Baltimore/DC JavaScript UserGroup Peter Kellner has also organized the San Francisco Ext JS UserGroup. I gave a presentation last week on the innovative new features Ext 3.0 to the S.F. Ext JS Group via a webex.
Conclusion
As the Ext framework matures, the community surrounding it is also maturing. We are seeing several excellent resources for learning Ext sprout up and an extremely active blogosphere discussing how people are using Ext in their day to day projects. If you regularly blog about Ext, please let us know we’d like to follow you on your journey in discovering Ext. Start a meetup in your area and connect with other members of the community who are building applications on the Ext platform.









A co-worker of mine picked up ‘Learning Ext JS’ and I would say it is a good primer on Ext JS so I am interested in reading Jay’s ‘Ext JS in Action’ for comparison.
There are folks starting up a Javascript user group in Columbus Ohio, that I hope to be able to attend. I believe the first meeting is this Wed (3/18/09), there is a google group http://groups.google.com/group/cbusjs with more info.
Anyone in the Öresund region might be interested in this meetup I just started:
http://www.meetup.com/The-Oresund-JavaScript-Meetup/
Wow. Thank you very much for this excellent post
. It’s great to see the framework’s growth and development especially in print
.
Anyone in Switzerland working closely with ExtJS? Mail me
I noticed George Jempty has started a JavaScript meetup in Atlanta, GA.
http://www.meetup.com/javascript-atlanta
Thanks for the post! What I find very interesting: Jesus has the same sort of “inheritance tree” diagram in his book as you’ll find in mine! LOL … Mine is a little bigger (I included nearly everything extending from Object)… but, as they say, size doesn’t always matter
I think his diagram is frankly a little prettier than mine (I like the ovals with the “glow” around the edge). Nice to see that us authors are thinking alike in many ways though
You could fill a wall with the Ext JS inheritance diagram. Frank, how is learning Ext and writing a book working for you?
Indeed, it’s easily the biggest diagram in the book
I think it’s worked out well… I did have some previous Ext JS knowledge and experience, but I certainly wasn’t an expert (not even sure I’d say I am now, although now I nearly always have a solid clue what I’m doing at least!)
The fortunate thing is that during the writing of the book we decided to go with Ext JS at work for the first time, so my on-the-job experience fed into the book, and vice-versa, so both sides were made a little easier in some ways… I’ve also primarily been acting in the mentor/lead role during this project, which means when others had problems they came to me to help solve them, which frankly is one of the best ways to learn something yourself (and if you’re familiar with the nature of my books you’ll realize that’s essentially what they are, just in written form).
I’m glad that you’re gaining momentum with your projects and such.
А где на русском можно найти эти книги? или хороший справочник переведённый…
it’s very good.
have any pdf version for me to download ?
很好,很强大!
@jimmy, check out the links in the blog post.
hoping ext-gwt books will come out
非常好的一本ext教材,不知道中文版有没有人翻译?
Dear,
Jesus,
A received just Part 1 , Part 2 and Part 3 this is correct, why i don´t received all Parts ?
Marcus
Learning ExtJS is really a good book for the beginners, i have gone through this book and love the way it is written.
Does anyone of you have ExtJS in action pdf version for download, please send me the link.
-thanks
@Marcus,
Ext JS in action is still under development.
@mbhans,
I know that Ext JS in action has been pirated online. Do a search and you’ll find it. Though you should consider supporting the author and team of people who make it possible!
很黄很暴力!
hen huang hen bao li.
My office had buy the “learning EXTJS” book, but it still in shipping. Now i’m waiting the book, I realy curious about the book
Neat web site! i will visit once again.
Does anyone have ExtJS in action pdf version for download, please send me the link,thanks!
My email is stardustflying@gmail.com
Текст оставил сложное, даже неоднозначное, впечатление… Даже не знаю, что сказать… Нужно время, чтобы обдумать прочитанное.
Do you know if is planned some book for ext 3 ?
I bought Learning ExtJS and it’s great, but … it’s already obsolete… !
The coupon code you have entered has expired.
很困很想睡
kabin üretimini yapıyoruz.
Ну так и без недостатков достоинства незаметны
CHANGE PANEL COLOR!
Could you help me?
I want to change the color (the blue(default) color) of the Panel.
Please write me a piece of code that manages this problem.
Thanks a lot!
so good!
in action各种的
My brother and I are just getting ready to learn Ext JS and these resources look very helpful. I have been lurking on the forums and have already learned a lot, but we would like to get a guide to help us through from start to finish. Is there anyway that “40% off the retail value of the book” deal is still available?
Ext JS 3.0 Cookbook by Jorge Ramon has just been released by Packt Publishing (www.packtpub.com)
一直在看
sada written to take advantage of more of the native functionality in
Hi, just to say that i was really interedted by buying “Ext JS In Action”, but it seems that your offer (extjs40 coupon code) has expired on manning website?
Any idea?
Thanks in advance.