Classes in ExtJs 4.0 Compared to Smalltalk Classes

March 2, 2011

Sencha’s ExtJs 4.0 will be released in the next few weeks.

It has a number of things that will be very useful in QuickSilver:

  • SVG graohics implemented in JavaScript/CSS
  • dynamic loading resulting in faster startups
  • better client-server integration (Ext Direct)
  • constructors organized as classes

I have been reading the documentation for ExtJs 4.0 and it seems that the library structure has moved closer to Smalltalk. In particular, they have added Ext.Class and Ext.ClassManager.

There is now explicit support for calling parent methods like Smalltalk’s “super” (Ext.Base.callParent) and calling class methods (Ext.define({static: …})).

In the QuickSilver compiler, I wrote a number of library functions to support this type of Smalltalk behavior in JavaScript. Once ExtJs 4.0 is released, many of these might be replaced by the equivalent Ext functions.

Also, it means that it may be possible for the QuickSilver compiler to produce pure ExtJs 4.0 code.

Develop and prototype in Smalltalk and automatically generate JavaScript for deployment.


2 Responses to “Classes in ExtJs 4.0 Compared to Smalltalk Classes”

  1. Andy Burnett Says:

    I have been looking at ExtJs 4.0 too. I think it looks really exciting. I am also hoping that they find some way to integrate the Touch library into it. Having a single code base that we could code to would be great.

    Given that the 4.0 release is meant to be coming reasonably soon, do you think it would be a better use of time to focus on it exclusively, i.e. just make the decision that this will be the library we use, rather than continuing with the 3.x one? Just a thought.

    • Peter Fisk Says:

      I am trying to keep the Smalltalk code as generic as possible in anticipation of ExtJs 4.0.

      They were supposed to release on Feb 28 but apparently the documentation wasn’t ready.

      It seems that Sencha (ExtJs) got some venture capital funding and have hired a first-rate team.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: