[TYPO3-50-general] Technical concepts for TYPO3 v5 backend
fritztho at gmail.com
Mon Feb 9 19:39:35 CET 2009
On Mon, Feb 9, 2009 at 1:30 AM, Thomas Allmer <at at delusionworld.com> wrote:
> Robert Lemke wrote:
> > thanks a lot for your input (and still keep posting!). This whole topic
> > came up exactly at the right time and I've been discussing it yesterday
> > with the Rasmus, Jens, Björn and Karsten - and we'll continue today.
> good to hear...
> here is now a "real" example on how to use progressive Enhancement with
> tabs. Hopefully it give some more insight in this.
First of all - i have nothing against MooTools or jQuery.
Actually i think JQuery is a very good and fast JSLib.
I have never worked with MooTools so i can not say much about it - but i
heard a lot of good things about it and i like the very small footprint.
But what i want to say is that some parts of your comparison are just not
true or not comparable. First of all you wrote the size of ExtJS. Yes it is
true that the FULL Library with ALL Widgets has a size of about 500kb. Not
gzipped. I think you agree that you can not compare it too MooTools. But you
can build your own set of widgets and components here
http://extjs.com/products/extjs/build/ or you just include the set of files
from the source folder you need. This could also be done by an autoloader
mechanism. For your example I build just the core (there are many components
already in the core, so it is again not comparable to moo) and the Tabs
sources. Now you have a single js file with a size of 163kb - not gzipped.
Of course MooTools is even smaller with its 63kb - not gzipped. But everyone
will agree that you can not compare the size of this two librarys. But event
if you have a 500kb js file, it doesn't matter that much, because you should
configure your webserver anyway to compress js,css files and set the right
http headers for it.
Second, you wrote that the Ext Panel made 49 Lines out of 2 Lines. Whats the
point here? Nobody and Nothing will see this ever! It works and has many
many features (http://extjs.com/deploy/dev/docs/?class=Ext.TabPanel and
http://extjs.com/deploy/dev/examples/tabs/tabs-adv.html) already built in.
Not only hide and show divs like in your MooTools example. You could enable
every feature by a simple config option in your example with no addition of
Thats another point. The way you use both librarys. In your simple static
example the way you work with mootools is OK and actually i like it in this
case. But think of web-applications, where the output is created dynamically
from PHP. In ExtJS you only pass config objects to the components. And thats
the case in all components. I think it is easier to maintain and is more
powerful than pure js function calls. It is also easier to create one json
statement on the server-side and pass it to a "new
Ext.TabPanel([configObject]); " call than many single js parameter and then
call the right js functions with this parameters. So a server-side
implementation to create JS within PHP is definitely easier to make. I think
thats also a point when it comes to "technical concepts" and not only if
progressive enhancement should be used or not. Of course it should be used,
but only when it makes sense and when it is needed.
You also made examples of non-progressive enhancement Tabs with MooTools and
ExtJS. You see again here that the API of Ext is much easier to understand
once you worked a little bit with it. Change or add some config values and
the result is the same. But again, i think you can not compare these
libraries with each other that easy with a simple Tab example.
By the way, you also could have used Ext to create an example like you did
with jQuery or MooTools. I made it just for fun. I also removed the classes
Tab and TabContent from the markup, because when you progressively enhance
your html you CAN and should not know that at this stage. So you can not add
a class Tab and TabContent at this moment. Right? Here is my ExtJS Tab
http://fritzthomas.com/files/extjs-progressive-enhancement-example/ - hehe.
But please do not let us begin to flame each other now. ;-) It was just fun.
I only want to show that you can not compare it to Ext that way.
Ähm,... and i think you forgot to mention that there is no Tabs Integration
in MooTools like you showed in your example. Here is the code for your Tabs
you forget to show us:
Oh,...now your whole code has 105kb and not only 4 lines of code. ;-)
Be fair!! ;-)
More information about the TYPO3-project-5_0-general