Over the last couple of weeks that I've been actively using ExtJS again and 3.0 in particular I often come across weird, inconsistent, unexplained behaviour in the framework. These hinder people using the api effectively often requiring to go and consult the docs or even look at the source code. While in the end this can't be avoided (and shouldn't) I think the api can be improved significantly if it were following a more consistent design.
Here are but few of such problems:
- Some components support 'icon', others 'iconCls' and some both. There is no clear consistency
- CSS class property is often named differently. Sometimes cssClass whiel at other times shortened to cls. While class can't obviously be used due to it being a reserved keyword I feel it should just use 'cls'
- Class and xtype names are at times nonsensical or mismatching: GridPanel -> grid, TreePanel -> treepanel, TriggerField -> trigger. I think more consistent corrolation between the actual class and xtype would help a lot in code readablity.
This are few pains I've had so far. I do think that there should be more effort in streamlining the api and the framework. For example by stating mismatching properties and xtypes as deprecated in extjs 4.0 and then remove deprecated features from 5.0 and so on.