Hi Sohaib,

To be honest, this all seems a bit superficial to me. What really matters with a framework is very practical issues of ease-of-implementation and maintainability. Matt Raible has done a nice comparison of some of the more popular frameworks. (Note that he didn't include Velocity as it is more of a lower-level page generation technology than the web frameworks he was looking at). Matt's work includes both a Powerpoint and sample implementations. You might use his efforts as a guide to a good approach.
https://equinox.dev.java.net/framework-comparison/

Having said that, here's three additions to Nathan's excellent comments...

Re: Designer/developer separation?
-> I'd say this is one of the primary selling points of Velocity.

Re: the component questions
--> I'd answer this a bit different. As Nathan says, it all depends what you mean by a component. But Velocity has an extensive plugin framework (resourceLoader, introspector, event handlers, cache manager). There's a lot of types of behavior that can be customized. There's standard versions of each plugin, some optional ones in the main download, and more optional ones in the community Wiki site.

Re: testability
--> An enthusiastic yes to this. There's lots of built-in unit tests in the code and it's easy to write unit tests for your own app to match expected Velocity output to actual.


WILL


----- Original Message ----- From: "Nathan Bubna" <[EMAIL PROTECTED]>
To: "Velocity Developers List" <velocity-dev@jakarta.apache.org>
Sent: Friday, January 27, 2006 10:22 AM
Subject: Re: Help required


On 1/27/06, Sohaib Akhtar <[EMAIL PROTECTED]> wrote:
 Hi,

I need someone's help. I am doing research study on open source frameworks.
One of its requirements is that I should provide comparison analysis that
which framework support which feature (These are the feature, which could be used for selection of framework). As I have not worked on velocity so I need
any of you to fill in the following table. You only have to respond in
Yes/No.
Yes, means velocity has this feature and No means it doesn't.

Thanks in Advance for your support.

FYI, it is highly debatable whether Velocity (either with or without
VelocityTools) is a "framework".  that debate centers mostly on the
definition of a "framework".  most people on this list consider
Velocity (even with the addition of VelocityTools) to be much more of
a "component" (i.e. a view layer/component for use with/in an MVC
framework) than a standalone framework.  though admittedly some people
do use it as the latter.

just so you know...


Feature

Provide Designer/developer separation?

yes.

Can be Coupled easily with Organization Code?

don't know what you mean by "Organization Code"

Built-in Internationalization (I18N) Support?

some support for this in VelocityTools

Provide built-in Security framework?

no

Provide Validation and conversion support?

no, but VelocityTools provides integration with Struts validation.

Can Manage Component State?

depending on your definition of "Component", the answer is either No
or Not Applicable.

Support new Component's development?

same as above, but in this case the answer is either Yes or No.  in an
effort to be helpful, i'm going to assume that Templates and
Velocimacros could both be consider/used as "components" and say the
answer is "yes".

Provide built-in Standard components?

continuing with my assumption above...  in our distribution, no.  in
our wiki, yes.

Provide User documentation?

yes

Provide Error handling support?

yes

Built-in Testability?

not sure what qualifies as such.  but templates are much easier to
test than JSPs.

Increase Developer productivity?

you're kidding, right?  who wouldn't say yes to this question?

yes. :)

Have IDE/tool support?

yes

Is easy to learn?

very

Is Extensible?

again, this is very vague.  so, yes. :)

Free Licensing?

you really should be more specific about what you mean by "Free", but
Velocity is both free as in speech and free as in beer.  and being ASL
2 licensed (a BSD-ish one), i would say it is more free than most
licenses.

Which programming language is supported?

Java

Support Integration with other technologies?

yes


If anyone of you is willing and having problem in understanding, please let
me know your email, i can provide the definition of each feature.

you should provide the definitions up front, unless you have some plan
to divine people's definitions of them from their answers.  otherwise,
this research isn't going to be very useful or accurate.

Thanks again.

Sohaib



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to