On 9/21/05, Michael Jouravlev <[EMAIL PROTECTED]> wrote: > <relevant plug> > It is possible to create Struts/JSP components which can do > everything from the bulleted list above, maybe not nicely > packaged, but they can be called components nonetheless: > http://today.java.net/pub/a/today/2005/08/04/jspcomponents.html > By the way, many books on JSP, especially older ones, > define JSP as a "component technology". Funny. > </relevant plug> > > ASP.NET components are nothing more than custom tags, heavily > supported by IDE and application server. Surely, IDE that allows > simply to drop a component on a page, is a big aid for .NET > developers. JSF wants to be for Java what ASP.NET is for Windows. > > But if you imagine for a second that you are creating ASP.NET page > manually, the differences are not that huge.
Yes, I never use the IDE to code ASP.NET components, and the differences are not that huge. Of course, just saying "components" is a misnomer. The difference that makes a difference is that these platforms use event-driven composite controls with an explicit and extensible lifecycle. All of these attributes are vital for the platform to work as well as it does. The term "component-orientation" is becoming a code word for a visual object that is an event-driven composite with an extensible lifecycle. Of course, there are other kinds of components too. In my ASP.NET project, we're starting to use custom controls like "tiles". The page is a punch list of the controls it uses, and controls can be shared between pages. Rather than jump between pages, we jump between controls. Like a Tile, each of our controls is a composite of other controls (including other custom controls) and managed by its own code-behind (like a Tile controller). It ends up being a very tidy architecture featuring both DRY and Separation of Concerns. Sure, you can say a component is just a custom tag. You can also say that an object is just a struct with methods. :) -Ted. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]