Quote
But the point is not so much whether you *can* produce commercial apps
with
ECO but whether the payoffs for the effort required to learn and master
ECO
are worth it for somebody starting from scratch with a new project and no
ECO experience. Could one acheive much the same functional results with,
say, RemObjects Data Abstract and an additional ASP.NET layer drawing on
that RO/DA business logic? Is that a more productive path to go down, or
ECO?
I don't like comparisons like this but I can not think of any other response.
Nobody take this literally, it is not an accurate comparison but merely an
illustration :-) If you were an ASM coder, would it be worth learning a
high level language + OOP + best practises? Learning this stuff could take
you at least a year, but would it be worth it?
Ofcourse we both know the answer (for business apps) is "Yes", but if you
were proficient with ASM and didn't know first hand the benefits of these
new ideas (and hardly knew anyone else who did either) what would your
answer be then?
This is the thing with ECO. There are lots of people in oodesign who will
tell you that writing business classes and having a good object persistence
framework is a brilliant idea, because it clearly separates your applicatino
logic and makes it much more maintainable, so at least you can get part of
your answer. ECO is much more than an OPF though, it is more of a business
layer framework.
I was fortunate enough to have found Bold back in about 2001, so when ECO
came along I was already familiar with the approach and was able to pick it
up quite quickly. Do I remember struggling with Bold? Too right I do! Did
I see the point of it? Absolutely not! Once the penny dropped was I glad I
learned it? Damned right I am!
Taking this route of development not only requires you to learn ECO. It
enables to design applications in a way that you didn't think of before, it
is similar to the difference between procedural programming and OOP because
you get to use inheritance / polymorphism etc when working with your
database!
Once I got to the point with Bold where I felt I was able to get it to do
anything I could already do with SQL/RDBMS I thought I knew it all. Off I
went and wrote the most awful application I have ever written :-) It was
then that I realised I also had to learn how to "design" applications
correctly. This is a path I am still on (along with learning everything ECO
does, I still don't know it all) but my design skills have improved a lot
and I am very pleased at the moment with how I solve design problems.
So, in answer to the original question "Should you use it for a new app".
Well that really depends, but it would with *any* new development tools. If
it is an application that you have lots of time to write (as you learn) or
it is a personal project that you can dump if you get bored then certainly
give it a go. If it is critical that the app is implemented in a specific
deadline etc then you would be made to switch to any new tool for such a
project.
You should really do what I did with Bold. Write your main applications the
way you currently do, but also write a single low priority app in ECO or
learn it at home. Only once you are confident with your ability to use a
tool should you decide if you should use it or not. I know that I would
have needed a much bigger development team to write some of the stuff I am
now writing on my own if it wasn't for the OPF approach, and ECO is like OPF
on steroids!
I hope I didn't bore you :-)
--
Pete
====
Audio compression components, DIB graphics controls, ECO extensions,
FastStrings
www.droopyeyes.com
My blog
blogs.slcdug.org/petermorris/