Book: Ext.NET Web Application Development

Ext.NET Web Application Development My book, Ext.NET Web Application Development has just been published by Packt Publishing.

The reviewers were none other than the Ext.NET team itself. They were excited about and dedicated to this book which would not have amounted to much without their involvement. They are also offering free copies with any purchases of Ext.NET!

View larger book cover

Get the book

The book comes in paper and various e-book formats (PDF, ePub, Kindle, etc). There are a number of ways you can get the book:

Discount codes for the book

Use one of these discount codes if purchasing directly from the publisher:

  • 15% off for Print + free eBook + free PacktLib access to the book: eoprly
  • 20% off for eBooks only: eoprlye

(Enter the code in the ‘Enter promotional code’ box on the Packt checkout page.)

The publisher is offering these discounts until 31st December 2012.

What is Ext.NET?

As mentioned on Ext.NET’s web site:

Ext.NET is an open source ASP.NET (WebForm + MVC) component framework integrating the cross-browser Sencha Ext JS JavaScript Library.

Ext.NET also includes components not found in Ext JS, extending various Ext JS classes where needed, thus providing its own JavaScript layer on top of Ext JS.

About the book

Update December 4, 2012: I’ve just published a post on the Ext.NET web site describing the book in further detail, including a summary of all the chapters, sample screenshots, and more. The chapter overviews are below, but see the previous post for further info too.

Chapter overviews

Here’s a summary of what each chapter contains:

Chapter 1, Getting Started with Ext.NET, provides an overview of what Ext.NET is and how it is related to Ext JS and ASP.NET. In addition, this chapter covers how you can obtain and set up your development environment ready for Ext.NET development.

Chapter 2, Ext.NET Controls Overview, introduces various types of controls available in Ext.NET. Using the Button control, we introduce many concepts common throughout the Ext.NET control suite. We also look at how client-side and server-side events can be set up. This chapter also introduces other more common components including Panels, Toolbars, Menus, Windows, and Tooltips. We also get a glimpse of some of the complex UIs that are possible by reusing these components.

Chapter 3, Layout with Ext.NET, covers the numerous layout options available in Ext.NET to help you organize your web applications. Topics covered include the Viewport, and specific layouts such as Border, Accordion, Fit, HBox, VBox, and more.

Chapter 4, AJAX with Ext.NET, looks at the powerful AJAX options Ext.NET supports. We cover the powerful DirectEvents and DirectMethods features, as well as AJAX options specific to certain controls. This is a powerful chapter that lays the foundation for slick and usable applications that are responsive to user interactions.

Chapter 5, Working with Data, looks at the powerful data handling techniques available in Ext.NET. We cover XTemplates, which allows you to define HTML templates to bind data to, and we explain the Stores, Models, and Proxies architecture that allows for powerful data-binding reuse across many Ext.NET components. The ComboBox and DataView are introduced as examples of controls that reuse this architecture.

Chapter 6, Introducing GridPanels, covers the popular and highly sophisticated GridPanel control. It is another control that reuses the Stores, Models, and Proxies architecture, but is given its own chapter. We look at various features of the GridPanel such as paging, filtering, sorting, grouping, column summaries, row expanding, and selection models. We also look at how grid editing can be enabled, including in-line grid editing at the row or cell level. As large as this chapter is, there are many other GridPanel capabilities that we have not been able to fit into this book, so many links to further examples and resources are also provided.

Chapter 7, Forms and Validation, looks at the numerous form controls available in Ext. NET, how to lay them out, and how to enable client and remote validation. We also look at how custom validators can be created. Lastly, we also see how Ext.NET’s data-binding capabilities can also be reused with forms.

Chapter 8, Trees and Tabs with Ext.NET, introduces the popular TreePanel and TabPanel controls. Due to limited space in the book, we cannot cover all the sophisticated possibilities that these controls offer, but we do provide an overview of how tree nodes can be loaded asynchronously and how to reuse the Store, Models, and Proxies architecture to bind data to trees. We also look at various ways TabPanels can be configured, including how to load content on-demand using various AJAX techniques supported by Ext.NET.

Chapter 9, Extending Ext.NET Controls – Custom Controls and Plugins, is perhaps the most powerful chapter in this book. It shows you how to extend Ext.NET controls in a variety of ways to support both ASP.NET Web Forms and ASP.NET MVC Razor templates, enabling you to create highly reusable components. Most of the chapter looks at how controls can be extended, but we also look at how you can use the available plugin mechanisms to reuse functionality across different types of components.

Chapter 10, Troubleshooting and Debugging, looks at how to debug your Ext.NET applications. In particular, we look at how to enable debug versions of Ext.NET and Ext JS JavaScript and what tools to use for cross-browser troubleshooting. This chapter also provides important tips on how to request help in the Ext.NET forums in a way that will increase your chances of receiving a quick response.

My personal favorite is chapter 9. Not only did I learn a lot myself when putting it together, I think it is also one of the most important; I wish I knew this about 3 or 4 years ago as it would have helped make my own apps even more reusable. For me it is worth getting the book for this chapter alone!

Samples photos

Update: December 15, 2012: A few days ago I received my author’s copy (a number of days after a work colleague received his, even though mine was sent a lot earlier to me!)

The book on my desk!

The book on my desk!

Sample page from Chapter 5, Working with Data

Sample page from Chapter 5, Working with Data

Sample page from Chapter 6, Introducing GridPanels

Sample page from Chapter 6, Introducing GridPanels

How I ended up writing a book on Ext.NET

I had been using ASP.NET for many years before coming across Ext.NET (when it was known as Coolite). I had been using ASP.NET for some high-profile, public-facing, web sites where the main challenges were CSS-based designs, W3C accessibility, web standards, and using JavaScript to progressively enhance e-commerce web sites.

Some of the frustrations with ASP.NET Web Forms in many of these areas in those days was overcome by using XSLT to generate the markup instead of ASP.NET Controls. (ASP.NET MVC had not been released at this time, which would have been a great alternative to the XSLT-based approach, which I still like very much!)

Shifting focus to highly interactive applications

As I shifted focus to web-based business applications, the technologies to use were the same, but the emphasis was very different: complex interactions (desktop-like), different user types, being able to mandate JavaScript, more support for IE6 (thanks to corporate environments being slow to uptake newer browsers), etc.

Ext.NET enables complex interaction design

From a usability point of view, as Alan Cooper explains in his excellent book About Face 3: The Essentials of Interaction Design, business applications may have beginner or novice users, but those users have incentives to become intermediate or advanced users quite quickly, so they can get their job done. The intermediate user should therefore be the prime target of such apps. This means that more sophisticated UI capabilities are needed with a far greater emphasis on JavaScript and AJAX interactions rather than traditional ASP.NET Post Backs.

Ext.NET and Ext JS cover this really well and saves a lot of time trying to create a sophisticated widget framework letting you concentrate on improving your application with highly reusable components. With Ext.NET’s important enhancements and integration with .NET it is a compelling choice for these types of applications.

Writing about Ext.NET

So around January 2012, when Packt asked me if I wanted to write a book on Ext.NET, despite having no spare time, it was hard to resist! I started around March or April, and had it not been for some some major personal interruptions in between, it might have finished around August. But the release times nicely with the Ext.NET 2.1 release.

It has been a great learning experience for me and I would have certainly liked to know some of the things mentioned in there when I first started out learning Ext.NET!

10 thoughts on “Book: Ext.NET Web Application Development

  1. Just received the mail from Amazon ! Your book arrives next week 🙂
    I hope to get a bit closer with Ext.Net – we use it for some complex Business Applications…

  2. @Peter! Thanks… I just read a few minutes ago from the publisher that I may be able to offer the book at a discounted rate (details still to come). I apologize if you have lost out, but perhaps email me and we can try to sort that out somehow.

    @William – great to hear from you again! Been a long time. Thanks 🙂

  3. Update: Just added chapter overviews and some photos of the book as I just received the paperback copy in the post a couple of days ago.

Comments are closed.