JS Days 2025 is now live – Join 5,000+ devs for the premier virtual JavaScript event. Register Now

Exterminating Bugs in Your Ext JS App

July 1, 2020 1692 Views
Show

Debugging Ext Js Apps

It was great “seeing” everyone at the webinar last week! I’ve been building Ext JS applications for a long long time and while debugging can be fun, it can be quite challenging at the same time! 

I really enjoyed sharing my personal experience on how to efficiently debugging Ext JS applications. If you missed my webinar — Exterminating Bugs in Your Ext JS Applications — you can watch it on demand

In this short post I am attempting to provide more in-depth answers to some of the many questions asked during the webinar.  If you are interested, here is the tutorial material used for the webinar 

Let’s dive right in. 

Can you provide a classical example which spotlights on the  security aspect of web applications?

My presentation was mainly about debugging. However, security for an Ext JS app is the same as any browser-based application, whether it’s vanilla JavaScript or using a framework. Typically, the user authenticates, the backend issues a token, and that token is sent back to every subsequent request. The backend then inspects the token to make sure it hasn’t timed-out, and to verify what URLs can be accessed. This is the same for any framework.

How can we detect memory leakage in solution?

My presentation covered simple debugging for things like configuration or logic errors. However, Chrome has a lot of powerful debugging tools. Here’s a link to some Chrome Developer Tools documentation on memory leaks:
https://developers.google.com/web/tools/chrome-devtools/memory-problems

Which option should be used to access a component? “id” / “itemid” / “reference”?

For debugging you’re free to use any of those. 

Note that it’s an anti-pattern to use “id” in your own component configurations, but ids are assigned dynamically, so you’re free to use them when debugging. Simply use Ext.getCmp() to get a reference using the id.

For itemId you can use a selector of the form Ext.first(‘parentxtype #childItemId’) — it’s a common and convenient pattern to use the container xtype followed by either the child xtype (if there’s only one) or itemId.

You can also use the reference by using something like the following, which returns the first child under the parent with the specified reference.

Ext.first(‘parentxtype [reference=myreference]’)

Does fiddle come with ExtJS framework that is locally stored or is it only on Sencha’s website?

Sencha Fiddle is only available at fiddle.sencha.com

Could you cover more on performance logs? How can we detect the problem area causing performance hit and how can we tune performance with development tools?

My presentation only covered basic debugging of config and logic errors. However, here are a couple of links that discuss performance profiling using Chrome Developer Tools. https://developers.google.com/web/tools/chrome-devtools/evaluate-performance/reference
https://developers.google.com/web/tools/lighthouse

Please share the application code through GitHub so we can check best practice ideas!

Check out the tutorial material for the info on application code. You can also contact me at [email protected] with any questions or thoughts.

Could you share the bookmark app?

That’s the last slide in the presentation. I’ll continue to improve it. I also have a colleague working on something similar (and probably better!) — email me at [email protected] if you’d like to be notified when we publish something better.

Missed the webinar?

Watch it on demand today!

Recommended Articles

Guide to Estimating ROI When Switching From DIY Libraries to Full Software Development Platforms Like Ext JS

Teams started with Do It Yourself, or DIY, JavaScript tools like jQuery and Bootstrap. But those fall apart as projects scale. Scattered code, user interface…

Top Frameworks Developers Are Using for Custom Software Development in 2025

We’re seeing it more every year; teams aren’t settling for plug-and-play tools anymore. In healthcare, finance, logistics, and other data-heavy industries, there’s a clear shift.…

Meet Sencha AI Coding Companion: Your AI-Powered Assistant for Faster Ext JS Development

Building modern web applications should be exciting. But too often, developers find themselves buried in documentation, endlessly Googling framework quirks, or stuck solving the same…

Ext JS 7.9 & Rapid Ext JS V1.1 Have Arrived

The Sencha team is excited to announce the latest Ext JS version 7.9 and Rapid Ext JS 1.1 release – designed to accelerate development, enhance…

Top 10 JS Grid Customization Tips for a Better UI Experience

Grids are pretty much everywhere in web apps. Working with financial sheets, product details, or users? Then you’ve probably used a JavaScript grid. It makes…

Why Ext JS Framework is the Go-To Framework for Building Scalable and Data-Intensive Web Apps

Web apps are much more advanced now. They deal with large amounts of data and need to stay fast, even with many users. If you’re…

View More

Trusted by Top Developers: Learn how to enhance your development journey — for free

Get the latest newsletter keeping thousands of developers in the loop.

Loved by developers at