Declarative Listeners vs. Control

Back in ExtJS 5 Sencha rolled out a rather cool concept of declarative listeners, where you could write something like this:

{
    xtype: 'button',
    handler: 'onButtonClick'
}

…note that onButtonClick is a string, rather than a function reference. The idea here is that the actual function would be resolved at runtime and will be located somewhere in the ViewController world. It was described well by Don Griffin in his blog post: https://www.sencha.com/blog/using-viewcontrollers-in-ext-js-5/.

However, what was omitted in this blog post and the guides, is the potentially powerful and risky “up the component tree” resolution of the ViewController. Read on to learn more with a Sencha Fiddle example…

Continue reading Declarative Listeners vs. Control

VN:F [1.9.22_1171]
Rating: 5.4/10 (24 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)

ASP.NET MVC4 Stripped

I’ve been ramping up on Microsoft’s latest and greatest ASP.NET MVC4 and while I love the technology, I hate the tight integration into Visual Studio. I could not find a single example that did not require a compilation of a DLL by Visual Studio.

I’m used to my Just in Time compiling, so I went hard to work at ripping out the Visual Studio umbilical cord and was able to produce a (what I think is) much cleaner setup. Most of all, it doesn’t require re-compiling every time, so you don’t need Visual Studio!

VS

I should warn that this doesn’t have the “view” or “model” hookups; just the controller – with the default “Values” example. Since I work with ExtJS it’s mainly the Web API enabled by the controller that I’m after.

Download: MVC4Test (Stripped) (~2 MB)

INSTALLATION INSTRUCTIONS
– Install .NET 4.5 (I used MS Web Platform Installer)
– Make sure IIS application pool runs under .NET 4.0
– Make sure .NET 4 is allowed in IIS (CGI Restrictions)
– Install ASP.NET MVC 4 – I did not use MS Web Platform Installer, as it will also want to install a SQLExpress database; instead I used stand-alone installer (http://www.asp.net/mvc/mvc4)

 

VN:F [1.9.22_1171]
Rating: 7.0/10 (5 votes cast)

ExtJS4 Combo & ASP.NET MVC3

First see basic ExtJS4 & ASP.NET MVC3 setup tutorial

In this example I will demonstrate just how easy it is to implement a type-ahead dropdown that will ping the server over AJAX every time a user types something in, and show a list of results with rich markup. It’s amazing just how easy it is to do this with ASP.NET MVC3 and ExtJS4 data stores.

The end result looks something like this:


Continue reading ExtJS4 Combo & ASP.NET MVC3

VN:F [1.9.22_1171]
Rating: 7.5/10 (8 votes cast)

ExtJS4 & ASP.NET MVC3 Dictionary

See my previous example on getting ExtJS4 working with ASP.NET MVC3

Back when I used to work with ASP.NET AJAX Extensions 1.0 (5 year old tech), I used to do the following all the time:

JavaScript

Ext.Ajax.request({
	url: ...
	, jsonData: { data: form.getForm().getValues() }
	...
}); // eo Ajax

ASP.NET AJAX Extensions 1.0

[WebMethod(EnableSession = true)]
public static void MyWebMethod( Dictionary<string,object> data )
{
	...
}

…ASP.NET AJAX Extensions 1.0 handled the conversion of data from JSON to C# Dictionary, which is a pleasure to work with. To my great disappointment, I discovered that ASP.NET MVC3, the latest and greatest, won’t do that for you! I had to find a solution…
Continue reading ExtJS4 & ASP.NET MVC3 Dictionary

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