My experience is that performance is generally better with D2W.
The very first load of a page template can take slightly longer because rules are being cached and components are being loaded. After that, it's greased lightning compared to non-D2W because
a) most of the branch logic is cached, ('regular' WOComponents will evaluate this stuff every time) b) most of the D2W components that need to be loaded are now cached, and c) most D2W components are stateless or non-synchronizing
The 'regular' WOComponents I've seen in 'real world' apps typically carry around a lot of state. Fat, slow synchronizing stateful components...
Of course, I haven't done any benchmarks to back that up, but then, I don't really need them. Whenever I see dismal performance from a WO app, it has never been due to the front end components anyway. It's always due to bad design decisions in the model. It usually ends up looking something like:
for(MyEO eo: myObjects) { String val = eo.omg().i().am().going().to().pound().the().crap().out().of().my().database(); String val2 = eo.oh().no().my().database().has().more().relationships().than().attributes(); NSArray val3 = eo.wtf().everything().is().a().many().toMany(); //Sob, cry, kill yourself. ... }
Now the server box is a melted pile of slag. But hey, if it worked on a 10 item list in development, I'm sure it will work with hundreds of users over thousands of rows in production!! (^_^) Other performance sucking pet-peeves of mine: EOSharedEditingContext and gratuitous use of custom SQL. None of which has anything to do with view components.
YMMV,
Ramsey On May 6, 2011, at 4:36 PM, David Holt wrote: I believe I have read here that the hit is about 10% because of efficient caching. In practice I am not noticing any speed issues with the apps that I have deployed.
When you learn D2W, you will see application of the best practices in all sorts of areas. D2W gives you things like localization and form validation for "free" out of the box. It sort of forces you to use MVC to be most efficient. You'll start to use the business logic classes as they were intended. I hope to put together a getting started tutorial (most likely a screencast) before talking about customization at WOWODC.
But I digress... :-)
On 2011-05-06, at 4:27 PM, Kevin Spake wrote: Deep stuff. I'm not ready yet, but it sounds brilliant. What is the performance hit, given that so much is happening at runtime?
Kevin --- On Fri, 5/6/11, David Holt <email@hidden> wrote: From: David Holt <email@hidden> Subject: Re: What do you use for building the web interface? To: "Kevin Spake" <email@hidden> Cc: email@hidden Date: Friday, May 6, 2011, 3:48 PM
I use DirectToWeb with ERModernLook to build my web interfaces. Pretty much everything I commonly do is handled by the built in components and most of the rest is handled by some tweaks to CSS.
You should probably learn about this
technology as soon as you can. I'm not saying you should use it right now, but keep it in mind going forward.
David
On 2011-05-06, at 2:40 PM, Kevin Spake wrote: What do you use to build the web interface for your WO apps? Eclipse? DreamWeaver? Is there any sort of agreed upon 'best practices' regarding building complex UIs?
Kevin |
-- David Holt
Come to WOWODC in Montreal this July for unparalleled WO learning opportunities and real peer to peer problem solving! Network, socialize, and enjoy a great cosmopolitan city. See you there! http://www.wocommunity.org/wowodc11/
|
-- David Holt
Come to WOWODC in Montreal this July for unparalleled WO learning opportunities and real peer to peer problem solving! Network, socialize, and enjoy a great cosmopolitan city. See you there! http://www.wocommunity.org/wowodc11/
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
|