[TYPO3-dev] The extbase dilemma

Daniel Brün dbruen at saltation.de
Thu May 19 11:57:24 CEST 2011


Hi Patrick, Hi folks,

2011/5/19 Patrick Lobacher <plobacher at n-o-g.de>

> 1.) We use Extbase for every new extension since about 18 months -
> independent of the kind, size, amount of data, and so on. We have done small
> extensions and "huge" ones (uhh - scarry - we have not reimplemented ebay or
> facebook but real existing "big" data amount projects. We have Extbase
> extensions on sites with just a few visitors per hour and with a few 1000
> per hour - and, what should I say: Nothing to complain about. Sure it is
> slower than before but there a possiblilities to optimize it.
>

Good for you! From our experience the possibilities to enhance performance
are very limited, unless you really change the basics drastically. We also
have done a bunch of different extbase extensions before. It's just that
these projects did not really reveal the problems we have faced now.


>
> 2.) Of course we discovered a few problems here and there and we solved
> them as always - in the former days we had the same with the "old" and
> "stable" API - so no difference at all. There is a bugtracker - so sometimes
> we patch an urgent problem by ourself or use a patch there - no difference
> to the old days...
>

The difference to the old days is that right now it's not only about small
bugs needing to be fixed. It's about an entire architecture and a plan for
the future of TYPO3 - which obviously should not be discussed in a
bugtracker. And: As others mentioned before, we also have suggested
different changes in the past that have not been considered (probably
because they would require some drastic changes).


>
> 3.) "Alpha", "Beta", ... are just names - without any meaning (sadly)
> within TYPO3 - so tt_news is beta since 217 Years - does anybody complaining
> about it? No... And I can name you a bunch of extensions with the label
> "stable" and a lot of bugs in it - hey - it's software - bugs are part of
> them - always. The question is - are there so many bugs that you can't work
> with it? And - for me - this is not the case with Extbase.
>

For you, maybe. Imagine developers that are used to be working with mature
frameworks all the time. JEE, symfony, Qt, Lift. Mabye it's easier to annoy
them, but still extbase is far from being comparable to any other framework
we have used before.


> 4.) Extbase is not another way to programm extensions. Extbase is not the
> "new" way to programm extensions. Extbase is a new way of thinking about
> (complex) software design. Step back, forget (for a minute) TYPO3,
> Databases, Infrastructure, Forms, even Code at all. And now have a look at
> your problem, at your domain and start "doing" Domain Driven Design. This
> part (and this is time consuming and complex as well) could take about
> 10-30% of your project (if done right) and now come back to code.
> You don't WANT to think about databases and UIDs and Joins and whatever.
> And if you want, you have not understand DDD at all ;-) Yes, you will pay a
> high price for being withing the DDD universum (and this is Extbase for the
> moment and FLOW3 in the near future) but you get back an enormous reward -
> something you are not even able to do with the art of porgramming with
> pi_base. This is a new level which is unreachable with pi_base. But you have
> to change thinking...
>

Haha. Absolutely correct! Nobody here want's to have to mess with SQL and
databases anymore. That's exactly the problem! extbase simply forces you to
go back to SQL, because it is not only lacking features in the
storage-department but also has severe performance-problems when dealing
with more data. We would love to be able to handle all this stuff purely in
our domain model and be totally database agnostic.


>
> 5.) I've have taken a mid_size Extbase extension we have done and ported it
> to FLOW3 - and what should I say... yes it took me about half an hour to get
> this running. I've done a few changes in the classes to have the correct
> namespace and class namings (what can be done through a programm  for sure)
> - and it worked finally. So what... But - and this is perhaps the most
> important part - I haven't used any parts in there which are part of the old
> world - no lousy double triple inner outer something join (which just works
> on MySQL 4.1.21 alpha7Pre5 on Windows), no t3lib_something, no non @api
> commands, just pure DDD extbase code... smooth
>
> Again: good for you. For our project: unthinkable.


> 6.) It's absolutely rare that a develeopment team does such a great job on
> the documentation of breaking changes as this happens with Extbase 1.3. So
> there were a lot of documents containing all (and it was just a few)
> changes. But - as a reward of the breaking changes - we got Wigdets - and
> they are so great that (is my opinion) it was worth.
>
> Of course! Problem is: in our case it's not only the official API-changes
that cause trouble.


> 8.) There is a lot to improve with extbase and fluid - without doubt - but
> the team does such an great job here that everyone should really greatful.
> Extbase & Fluid (and FLOW3 as well) are one of the greatest usable
> technologies I've seen for a long time...
>

I would say so for FLOW3. extbase and fluid had a good start but were
released way to early.

As for "bashing". I really do not intend to bash on anyone! Like I said
before, the problem we have here is due to many different aspects. I highly
appreciate all the efforts and all the spare time that goes into the
development.

If T3DD is the place to straighten this out: great. From my perspective it
can not be soon enough...

Cheers,
Dan




More information about the TYPO3-dev mailing list