CSC/ECE 517 Summer 2008/wiki2 1 tm: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 48: Line 48:
== Support ==
== Support ==


Zend offers extensive support through [http://www.php.net/support.php books, mailing lists and newsgroups]. Rails help is not as centralized, though the [http://railsforum.com/ Ruby on Rails Forum] and the newsgroup comp.lang.ruby can provide assistance.
[http://www.zend.com/ Zend] offers extensive support through [http://www.php.net/support.php books, mailing lists and newsgroups]. Rails help is not as centralized, though the [http://railsforum.com/ Ruby on Rails Forum] and the newsgroup comp.lang.ruby can provide assistance.


= External Links =
= External Links =

Revision as of 02:02, 25 June 2008

Rails vs. PHP

While Ruby is fast growing in popularity, there are still more PHP Web applications communicating with MySQL databases. Compare Rails with support for Web applications in PHP. Which are the advantages of each for the developer? For the finished application?

Introduction

This document seeks to enlighten programmers who are deciding between using PHP or Ruby on Rails for their next web application. We will take a look at the differences which matter most in determining just which language is right to your project. Please note that this document does not plan to blindly promote one language over another, it seeks to give you the information needed to decided which language is right for your next application. You may use this information each time you begin a new project and decide on a different language each time.

Fixed Metrics

Fixed metrics will likely affect all projects and programmers making a choice between Ruby on Rails or PHP.

Installation

Filler: Compare and contrast the various implementation differences between PHP and Rails; such as how to properly configure a rails server vs php server. Quickly cover the various hosting companies available that support the two languages.

Learning Curve

Filler: Compare and contrast the barriers to entry into either language including object oriented design in PHP 5 and the MVC pattern in Ruby. Also covered textbooks, classes, and online resources available between the two languages. What languages you already know often affects what language is best for your new project, especially if deadlines are looming.

Applications Available

Fillter: Compare and contrast the availability of applications which have already been programmed and are currently available for both languages. Is what you are developing already available as open source software?

Variable Metrics

Variable metrics must be considered each time a project is taken on. These will likely change between each of your projects. It would be a good idea to evaluate them each time you must choose to use PHP or Ruby on Rails.

Scalability

Filler text goes here

Development Speed

Filler text goes here

Development Tools

Filler text goes here

Maintainability

Filler text goes here

Other Factors

Development Model

Ruby on Rails is a full stack framework, and includes components such as ActiveRecord , an object-relational mapper, to interface with databases. In general, Rails places a large emphasis on coding standards and convention when designing Rails applications. PHP, on the other hand, provides a large set of core libraries, with many third party add-ons for additional functionality. For example, databases in PHP may be connected to with low-level API database-specific calls, or through higher level APIs such as Pear::DB, ADOdb, and even MDB2.

Similarly, templates for views in Rails are specified in an MVC design pattern. In PHP, programmers can opt not to use templating at all, instead embedding their business logic directly within their view. Alternatively, they can use a variety of templating frameworks such as Smarty, or PHPLIB, just to name a few. Indeed, some would argue that PHP itself is a templating language, and requires no additional templating engine on top of it.

Both PHP and Ruby have their advantages. PHP provides a greater amount of flexibility in the architecture of your application, at the expense of dealing with multiple, sometimes fragmented frameworks. The Rails' strict adherence to convention allows for more uniform development across applications within an organization, but applications with unique requirements that do not fit cleanly into the Rails MVC framework may require additional resources to code around the framework's limitations.

Support

Zend offers extensive support through books, mailing lists and newsgroups. Rails help is not as centralized, though the Ruby on Rails Forum and the newsgroup comp.lang.ruby can provide assistance.

External Links

  • Rails for PHP Developers

Back to the assignment page