Borland's newsgroup.
Autor : Mike.
----------------------------------------------------------------------
I'm going to stick my neck out on this one for the following reasons:
1) I firmly believe in product comparisons. This type of inquiry will
NOT go away until it is addressed.
2) I made a post in another newsgroup that was cancelled. It had
criticisms of IW. Few people saw the post so some may assume I had
horrible things to say about IW which is not true.
Let me preface my comments. First, these comments are based on version
4 of IW and the initial release of EWF. These comments are based on my
experiences which may differ from yours. Some of these comments are
opinions and not statements of fact, so others are entitled to their own
opinions. I have nothing personal against either AtoZedSoftware or
Developer Express and nothing personal against either Chad or Ray. I
have worked with IW for months, but EWF for only a few weeks so I am
more familiar with IW than EWF. I am not going to do a feature by
feature comparison, but focus my attention on 10 broad areas.
Ease Of Use: Before I purchased IW I was told that there was no learning
curve. I am a doubting Thomas by nature so I didn't believe it. I was
wrong. I got up to speed with IW in literally an afternoon. No
knowledge of HTML or JavaScript is necessary to build a complete web
application with IW. In app mode (there is also page mode), most of the
decisions are made for you and you can program your web application
using straight Object Pascal. State management is built in and you use
the Delphi IDE as normal with your IntraWeb application forms. I was
stunned at the sheer simplicity. There is minimal documentation, but in
app mode you do not need much documentation. If I had to pick the best
feature of IW, it is ease of use. Chad has created a product that you
can just run with from day one.
It took me longer to get up to speed with EWF. There are many more
options and some of these options are initially confusing. I started
with a database application, which may have been a mistake. Which
controls do I use? There is a cxStdWebDataSource, a cxWebDataSource and
a cxWebDBDataSource. The style controller is incredibly powerful but
also took some experimentation to understand and get used to. EWF is
not overly complex, but in my opinion it will take longer to master EWF
than it will to master IW.
Look Of Finished Application: IW creates acceptable looking
applications. You will not find any menus or calendar controls in
version 4 although version 5 is on the way and right now TMS has a set
of components that supplement the controls that come standard in IW.
EWF doesn't create just acceptable looking applications; it creates
stunning, spectacular, eye-catching controls and forms. I am so
impressed. The menus, the calendar control, the web table, the
treeview, the DBDataNavigator and the DBGrid are well done. When I saw
what it could do I couldn't wait the try all of the controls. These
components were meticulously created and produce some of the most
incredible looking web pages I've seen. Add the capabilities of the
StyleController and you almost couldn't ask for more. Right now, IW
doesn't come close to EWF on this feature, in my opinion.
Stability: I have had few stability problems with IW. Obviously, Chad
has spent considerable time fixing bugs and making sure that the product
does what it is supposed to do. For a third-party tool I am extremely
pleased. In my opinion, IW is rock solid. From my perspective, this is
one of the most crucial features of any tool and IW has not let me down.
I have no hesitations deploying apps written using this product.
EWF is brand new and as expected there are going to be some new product
issues. I have had many, many AVs. I can't always reproduce the steps
required to cause the crash. Developer Express has a very good
reputation so I am sure these issues will be addressed in due course.
Right now, however, it can be rather frustrating writing EWF
applications.
Support: Both companies have newsgroups which I frequent on a regular
basis. Support is first rate. Questions are usually answered
immediately by one or more people. I personally couldn't pick one
company over the other when it comes to support. Both deserve an 'A'.
Linux: I personally would rather deploy web applications on
Linux/Apache over Windows/IIS. It would take another entire post to
explain why. I am not going to bother elaborating. Chad has been the
lead developer with Indy which is cross-platform so he obviously has the
experience to create cross-platform tools. AtoZedSoftware has already
announced Kylix support for the next version due out shortly. It is MY
OPINION that Developer Express will do likewise but getting any written
response or timeframe will most likely not be forthcoming.
Speed: I have completed a huge application with IW and am VERY
satisfied with the performance. The back end is InterBase. There are
dozens of tables with hundreds of thousands of records. I wish I could
comment on EWF, but I can't. I intend to make speed comparisons, but
have not done so thus far.
Support For Old Versions Of Netscape: I am unhappy with BOTH products.
IW has problems here; you need to set a special switch to support
tabbing between controls and from my experience not everything renders
properly. EWF also has problems with its advanced controls such as the
DBGrid. Unfortunately, there are still many people using older versions
of Netscape so if you are creating a public web site or a site with a
large number of users and you are not in a position of mandating the use
of a particular browser, you may have issues. Chad quotes statistics of
the death of NN4. Beware of statistics. If you are creating an
application and there is any way to survey your users do so. One of the
apps I have created will be used primary by academics. The one customer
that is currently testing it has thousands of users. We did a poll and
41% use Macs with about 42% of those users running NS 4.7x.
Price: I have to mention this. While I do not pick products on price,
some people do. IW Enterprise costs $599; EWF retails for $299. I
purchased IW months ago. Would I do it again? Yes. I believe I have
gotten $599 worth of value from the tool. In my opinion, EWF is dirt
cheap.
Source: I have real issues with BOTH vendors on source. I am NOT
concerned with source to design features but I do expect 100.000% of all
the code that goes into the executable. Neither vendor provides this
although you get much more code with EWF than IW. You can purchase all
the code to IW for a very steep price. I will not print it here since
I'm not sure Chad wants it publicized. EWF to my knowledge makes no
comparable offer.
If you are creating anything sophisticated, in my opinion, this will
become a serious liability. One trivial example with IW is the
rectangle and region controls. I really would like to have a different
colored background under parts of my form. The rectangle control has a
color property but is not a container control; the region control is a
container control but surfaces no color property. If the code were
available, I'm sure it would be possible to create a new control to
accomplish the desired effect.
Another example. Neither IW nor EWF have any built-in controls for
uploading files to your web site. This is an incredibly important
feature of my application. This can be done with IW if you use page
mode, but it is impossible (in my opinion) to build such a control for
use in app mode. I've managed to implement this feature using app mode,
but it is a "hack job" and not a custom control. This is supposed to be
available in version 5, but version 5 will not support NS 4.7x.
I would like to use PasScript from VIRT Laboratory for server side
scripting. The PasScript component is thread safe and there is a
version for Kylix. I can see no way of implementing this with IW. I
have not examined enough of the code of EWF so see whether this could be
done. The software I am creating is a vertical market application. I
am offering customization capabilities for customers but I do not want
multiple versions of the DLL. This will involve a significant amount of
control creation at run-time and I am having huge problems trying to do
this in IW. I am investigating whether it would be easier to accomplish
this in EWF.
The bottom line is that no vendor can predict how their tool will be
used. Having complete source opens up possibilities that remain sealed
otherwise.
Control And Flexibility: The very thing that make IW such a pleasure to
use initially makes it frustrating to use when creating sophisticated
applications. You can use page mode with IW, but then you do not gain a
lot over Web Broker. App mode is very restrictive. For example, the
developer should be in a position to control how state management is
handled. The ideal tool would allow the developer to choose between
cookies, fat URLs and hidden fields and have built-in support for all
three. I have limited experience with EWF, but have spent enough time
to appreciate that EWF offers greater control and flexibility to the
developer. Most (but not all) of the code for EWF is available. Start
with a single simple control - a cxWebLabel. Examine the source for the
control to understand what is going on at the server. Drop the control
onto a form and watch the HTML and JavaScript that is created. Move on
to more complex controls. With time, effort and energy you can begin to
understand how the framework operates, where you can tweak it, and how
you can make it do things the designers may have overlooked. This is
not, in my opinion, possible with IW.
I like both products and congratulate and commend both teams of
developers for creating superb tools. I think these two products will
breathe new life in the Delphi market. Each has its share of advantages
and disadvantages. Neither is perfect. I do not claim to have all the
answers about either one. These are just some of my experiences and my
perspective. I hope it helps some people understand the differences
between the tools. Product comparisons are not all bad.
Mike