|
Posted by A. Timurhan Cevik on 11/29/05 23:07
Ruby on rails is cool, with all that action classes and such, but
besides integrated unit tests, really, I havent seen that its much of
an improvement from struts.
The framework is based on struts, the advantage is, scripts running to
give you a complete ready folders and files and stuff ready to be
programmed, if you follow the guidelines of the makers. If you don't,
it is not as quick as mentioned, you have to write code that takes
time. And, the structure they have thought of, may not be the answer to
all of your questions.
As the pattern it uses, the active record pattern mentioned in fowler's
Patterns of Enterprise Application Development (if I remember the book
title correctly) is indeed is not a good pattern, for good OO
programming, as the business structure is very much based on the
database structure, and in Ruby on rails presentation depends on it
too, if not mistaken. What does that mean, really? Whats the deal,
drawback ? You cannot customize your database tables after you have
written the application, the change is difficult, as far as I remember,
and who has been around writing code should know that change is
inevitable and can really be painful.
What's more, the developer who developed rails, in his introduction
video, mentions ruby as being an ideal language for such a framework,
that he tried php to build it then met ruby and started with it.
Ruby is too dynamic, and thats what he sees as an advantage, but is not
in my opinion. Being able to mess with class structure on runtime could
be easy to start developing with, but with serious applications whose
components are meant to be reused or changed later on, you really do
not have any path to follow, you can do everything, and believe me,
being able to do everything in some framework is much too dangerous,
cause if you start modifying someone's code, or your own code after
some time, you will notice that you really need some path to follow.
Some encapsulation, that hides some details from you, some interfaces
that you interact with the object with. If you can alter everything,
that means to me that I will not know what to alter, until I
investigate the whole code.
So, although I even think that php is lacking some properties regarding
encapsulation and low cohesion, I prefer some framework built on php on
this subject.
Summing up, ruby on rails is really a nice framework, but you should
choose carefully whether to implement or not, and you should see the
consequences and act accordingly, draw some path, for the development
team or yourself to follow, such as writing serious documentation and
such. Unit test integration is really cool. Regarding frameworks, I do
prefer struts currently, and looking for a better one continiously. I
havent met a framework that hit me at first sight for php, I had hopes
for ruby as it did really, but after investigating further, my
enthusiasm faded.
[Back to original message]
|