As you already know, I’m a huge fan of jQuery (version 1.3 available as of last week!) and use it exclusively, but I’ve always been curious about Ext. To me, Ext has a completely different goal in mind, and aims to support a very different purpose. Ext allows you the ability to quickly put together highly functional interface elements dedicated to achieving the level of interaction provided by desktop applications.
I’m thrilled to have read this book, as it’s given me a superb jump start to putting together an opinion of Ext. Please keep in mind, however, that those opinions are far from developed, and this review covers the book only, not Ext itself.
Who this book is for
Summary of Learning Ext JS
Chapter 2 brings you right into working with Ext widgets. You’re walked through the creation of message box dialogs as well as details regarding the syntax incorporated with various Ext elements. Scattered throughout the copy are some tips and tricks that will better prepare you for upcoming chapters which discuss more advanced features of Ext.
Forms are the life-blood of any Web application, and the author makes sure to cover the topic early in the book. Chapter 3 is dedicated to the creation of forms using Ext JS. The core components of a form are discussed, along with how said components are integrated into functional pieces for inclusion in your Web app. The built in validation functionality as well as input widgets within Ext are introduced, and you’re walked through an example to get yourself up and running.
Interface construction begins with Chapter 4: Buttons, Menus, and Toolbars. Here you’re given an overview of the baked in Ext features surrounding toolbar, button, and menu functionality. Lots of little details are discussed, including adding separators and custom icons to your menu items. You can also include form elements within toolbars for added convenience.
One of the most popular features of Ext JS, Grids, is discussed in chapter 5. Grids are used to display tabular data, and a grid is a very elaborate interface element to work with. The chapter begins by discussing what’s required for a grid; a data store, data types for the fields in the store, and methods for displaying your grid. The chapter continues by discussing some of the many features offered by this particular interface element. From built in sorting methods to the inclusion of HTML and graphics within your data cells. You’re walked through the population of a grid via PHP to give a brief introduction to integrating Ext with a server side technology. Grouping, pagination, and other advanced functionality close out this chapter. Chapter 6 takes into consideration a unique type of grid; an editable grid. This widget allows the data contained to be directly edited by the user. The chapter discusses setting up this type of grid, as well as working with (and saving) any changed data.
Chapter 7 guides you further into interface development with Ext JS. Ext bases its interface on a number of things; layouts, regions, and viewports. These elements come together to bring your Ext powered Web application to life. The details surrounding layout syntax and thought process are discussed in this chapter, and you’re guided through setting up a Web application interface built upon the techniques discussed so far in the book.
Another very popular feature of Ext JS is discussed in Chapter 8: Ext JS Does Grow on Trees. Node lists are the primary topic within this chapter, and the author explains just how Ext has implemented them. You’re walked through the creation, population, and interaction with node lists via Ext JS. All of the customization possibilities are explained in this chapter as well, allowing you to work with a node tree catered exactly to your Web application.
Windows and dialogs can also be an integral part of any Web app aimed at mimicking the look and feel of a desktop application. Dialogs are revisited in chapter 9, as well as dialogs with input fields. A lot of detail is covered regarding the various attributes a dialog window in Ext can possess.
One of the main reasons Web applications are taking a strong hold is the ability not only to provide advanced functionality, but also back it up with a little flare. Chapter 10 of Learning Ext JS is dedicated to the topic of effects, and applying those effects to your Web application in an effort to include that extra level of polish your users will appreciate. Lots of animation topics are discussed here, as well as making a point of including visual cues for your user, to ensure she knows that ‘something’ is happening after clicking a button or interacting in some way.
Drag and drop interaction is a significant part of a desktop application. Having the ability to drag and drop elements within an interface is not only engaging, it can truly save an exorbitant amount of time for your user. Ext does drag and drop, and Chapter 11 explains exactly how to accomplish that. There are some unique aspects of Ext’s implementation of drag and drop explained, including an overview of tying various Ext widgets together using drag and drop functionality.
Chapter 12: It’s All about Data covers the integration of server side data into your Web application. This is a very technical chapter, which may require you to read it more than once. The definition of data, how to store it, and general interaction is the overall topic of this chapter, also essential to any higher level Web application today.
The Power of Ext JS: What Else can you Do? Chapter 14 covers a number of other little niceties offered by Ext JS and discusses the community offerings available for Ext. Lots of bonus information is covered here, and gives you a number of directions to explore when expanding your knowledge of Ext JS.
I thought this book was an excellent walkthrough of the ins and outs of Ext JS, and I feel comfortable enough to scope out a project with which to use it. I’d like to give the framework a proper tire-kicking, and I’m glad to have read this book prior to doing so.
Ext JS, like all frameworks, has unique bits and pieces that may be overlooked by reading documentation alone. Having working examples provided in front of you is a great way to learn something new, and the authors of Learning Ext JS did a great job explaining each bit of detail discussed.