ExtJS5 vs ExtJS4 Config System

With ExtJS5 beta announced last week there were clear efforts on behalf of ExtJS 5 to behave closer to Sencha Touch in regards to utilizing the unique and powerful config system. Last year I wrote ExtJS vs. Touch Config System article to highlight some important differences. Today I’d like to explore this topic in the context of different versions of ExtJS 4 and ExtJS 5 beta.

ExtJS5 config

Continue reading ExtJS5 vs ExtJS4 Config System

VN:F [1.9.22_1171]
Rating: 9.7/10 (3 votes cast)

ExtJS vs. AngularJS

I’ve been meaning to say a few words about this for a long time: stop comparing ExtJS to AngularJS!

It’s like comparing a car to a tire:

  • One is not better than the other; it’s an invalid comparison
  • If you need a car, you probably shouldn’t buy just the tire
  • If you need just a tire, you probably shouldn’t buy an entire car

Consider this: minified version of ExtJS 4.2.2 is 1.4 MB (ext-all.js) and that’s not counting all the CSS and resources. By contrast, AngularJS 1.2.13 is just over 100 KB.

Now when I’m calling AngularJS a “tire” what I mean is that if you are building an app of any magnitude, you will probably be bundling it with some other libraries. I’m guessing many newer apps will have a bare minimum of AngularJS + jQuery + Bootstrap.

So, when would I chose one over the other, if I were equally proficient in both?

  1. If an important objective is fast page load times (i.e. landing page), I would go with a lean stack on top of AngularJS
  2. However, if I’m building an enterprise portal with a ton of UI and functionality, I would probably go with ExtJS
  3. Now how about both? I’ve built apps that had a lean landing page with just jQuery that would then transition to the “app” in ExtJS; I think LastPass is an excellent example of that.
VN:F [1.9.22_1171]
Rating: 10.0/10 (10 votes cast)

Illuminations for Chrome!

A few years ago I wrote about ExtJS4 Dev Tools of a Pro, where I mentioned a FireFox plugin called Illuminations. Since then I’ve switched to Chrome as my dev platform where I missed my cherished Illuminations plugin.

I believe only last week the creators of FF’s plugin have released a version for Chrome: https://chrome.google.com/webstore/detail/illuminations/hbhnkfhblakpfhcpepeoogmakimflibk

It doesn’t feel like a full port, but it does have the one feature I care most about: similar to how you can right-click on a page and “Inspect Element” to bring up dev tools and pinpoint the target in the DOM tree, you can now right-click and “Illuminate:”

illuminate1

At which point you will pinpoint the target in the Ext component tree:

illuminate2

Combined with Sencha Inspector for Chrome, the Chrome browser is now a powerhouse for ExtJS/Sencha Touch development!

VN:F [1.9.22_1171]
Rating: 10.0/10 (3 votes cast)

Responsive Design in ExtJS 4

I think this has been a hot topic lately: making web sites that adjust based on resolution of the device the user is using to browse. Now I’m not going to make this post about Sencha Touch. Even though in my “perfect responsive strategy” I would be using both ExtJS and Sencha Touch (and I can write more about that if you care to comment about your interest), this post is going to be only about ExtJS.

In this example we’ll be achieving the very common “navigation collapses to menu” effect, demonstrated here in my Android 4.x LG Intuition, by rotating the device from horizontal to vertical:

1

2

3

Continue reading Responsive Design in ExtJS 4

VN:F [1.9.22_1171]
Rating: 8.2/10 (22 votes cast)

ExtJS vs. Touch Config System

In this example I will demonstrate the difference between how ExtJS 4 and Sencha Touch 2 config systems treat non-primitives (i.e. arrays or objects). This aspect of the frameworks is very important to distinguish as it will save you from some very painful debugging sessions.

Long story short, Touch will actually clone any objects from the config for every instance of your class, whereas ExtJS will slap them on the prototype (probably not what you want).

Now for a practical example.
Continue reading ExtJS vs. Touch Config System

VN:F [1.9.22_1171]
Rating: 10.0/10 (7 votes cast)