|
Posted by petermichaux on 10/20/05 17:28
Hi Nikolas,
I've already learned a lot from this thread and I think your idea is a
great one. I'm still interested in why people choose PHP for new
projects. I mean that as an unbiased question. I'm not looking for the
academically correct framework. No framework will be the best in all
cases. I'm just looking for one good framework that makes it easy for
me to get started, is flexible, speeds development and has active
community support. A framework with few quirks but the quirks it has
are workable. Maybe some my details are incorrect but these are the
impressions I have been getting
The ASP and .NET framework is for those loyal to Microsoft or those
without a choice. The ASP code I've seen looks clumsy. Dot net must run
on a Microsoft server. I'm not going to learn this option.
The JSP frameworks seem like they are also for people that like to be
part of the establishment or those without a choice. Also the Java
world seems a little stuck on itself: Java is the "right" way to do
everything. For some reason this option seems to have a big barrior to
getting started.
The PHP frameworks that have been around for a while seem like using
Linux. You have to choose all the options you want, compile the kernel,
hope everything works well together, and even after years some drivers
are still not avalible. It is frustrating to sort through all of this.
Some of the "better" of the older PHP frameworks seem to take a lot of
idea from the Java frameworks. (Why not just use Java then? Ok strongly
typed,... there are reasons.)
The newer PHP frameworks like CakePHP and Symfony and maybe Mojavi 4
want to be the Rails of the PHP world. Some PHP users can't leave for
another language but I have no reason to stick with a certain language
if the tools in another language are better. If this is the direction
that PHP users are going then I think I should learn at least a little
about Rails.
So on the advice of some converted PHP framework developers, I've ended
up learning a little about Ruby on Rails in the last few days. It is
great so far. It is so easy to use. The Rails package is a unified
framework. It has all the tools for ORM, unit testing, validation,
templating all worked in. The community is very active and growing
fast. Rails seems to be living up to its advertised strengths of
reducing development time. Over all if the other options are like
choosing Windows or Linux then Rails is like choosing OS X*. What I
mean is maybe there are slightly better components out there for
certain parts of the framework but as a whole the Rails components are
tightly integrated. I like the fact that the community is largely
behind this one framework. Maybe as time passes the community will
split but for now it seems unified. Rails was so easy to set up. In
fact, less that two hours with Rails had me thinking I should ditch PHP
right away. I have ordered a book about using Rails and can't wait for
it to arrive. That's right, a book. A book exists. Is there a PHP
framework with a book? Documentation is a big part of the marketing and
success of a software product.
So I have based my investigation on the experience of others. What you
are suggesting would formalize this type of investigation. It is a
great idea. It would be a lot of work. This would be cool. Specify a
sample app that would be written in each language/framework. The sample
app would involve a database, forms, validation, unit testing. Invite
an expert to write a tutorial for the app for their framework. Have
someone that has never used two of the frameworks to follow the
tutorials for each. Winning framework, based on opinion, advances. Like
hockey playoffs. Another option if you had more willing people would be
a round robin tournament. Another option that could be used alone or in
combination with one of these would having a standardized way of
reviewing the frameworks.
How difficult is it to set up a development computer for the framework
on OS X, Linux, Windows?
How many characters must be typed to implement the sample app?
How many lines of code must be written to implement?
How many files must be touched to implement?
What is the average execution speed of a page request (need a standard
server)?
So there are a bunch of thoughts but I don't know if they are really
necessary. If experienced coders are moving to Rails in big numbers
then that is your comparison experiment right there. They are moving
because individually they see Rails as a better framework overall. So
much better that it is even worth them leaving their comfortable old
language and learning Ruby which they also say is better. I want to use
an existing framework because I don't want to reinvent the wheel. I'm
trying to listen to others experience because slowly repeating their
process of ending up using Rails is like reinventing the wheel too.
-Peter
*Over the years I have tried Windows and Linux and am much happier with
my OS X system
[Back to original message]
|