CSC/ECE 517 Fall 2007/wiki2 1 rl: Difference between revisions
Line 20: | Line 20: | ||
Apache Struts is a Web application framework for the Java programming language, used to create Java 2 Platform, Enterprise Edition (J2EE) applications. It is an open source project that was donated to Apache in 2000. Struts was introduced to encourage the use of the MVC architecture. Struts provides a controller in the way of request and response handlers, and provides a tag library that developers can use to develop views. The model is left up to the developer. | Apache Struts is a Web application framework for the Java programming language, used to create Java 2 Platform, Enterprise Edition (J2EE) applications. It is an open source project that was donated to Apache in 2000. Struts was introduced to encourage the use of the MVC architecture. Struts provides a controller in the way of request and response handlers, and provides a tag library that developers can use to develop views. The model is left up to the developer. | ||
For more basic information on Apache Struts, visit the [http://struts.apache.org/ Apache Struts homepage]. | |||
===A Comparison=== | ===A Comparison=== |
Revision as of 00:03, 23 October 2007
Assignment
Compare Ruby on Rails with Apache Struts. The Apache Struts framework in the Java world occupies a position similar to Ruby on Rails, except that it is not as universally used. Compare the two. Which are the advantages of each for the developer? For the finished application?
Introduction
Ruby on Rails and Apache Struts are both web application frameworks based on the Model-View-Controller (MVC) architecture.
MVC Architecture
MVC separates an application into three components: the model, the view, and the controller. The model maintains the application state; it consists of both the data used by the application as well as the rules surrounding the use of that data. The view generates the user interface, which allows the user to view and interact with the data in the model. The controller takes input from the outside world, interprets the input, and manipulates the model accordingly. Separating these three components, or concerns, makes the application code easier to understand, reuse, and maintain.
Ruby on Rails
Ruby on Rails, also known as "Rails" or "RoR", is the standard Web application framework for the Ruby programming language. It is an open source project that was released in 2004, and was created to make web application development quick and easy.
All Rails applications use the MVC architecture. Rails projects are created with a placeholder for each concern, and these concerns always interact in the same standard way. Models and controllers are Ruby classes, and views are rhtml files. The Ruby router directs requests to a particular controller and action based on the URL.
For more basic information on Ruby on Rails, visit the Ruby on Rails homepage.
Apache Struts
Apache Struts is a Web application framework for the Java programming language, used to create Java 2 Platform, Enterprise Edition (J2EE) applications. It is an open source project that was donated to Apache in 2000. Struts was introduced to encourage the use of the MVC architecture. Struts provides a controller in the way of request and response handlers, and provides a tag library that developers can use to develop views. The model is left up to the developer.
For more basic information on Apache Struts, visit the Apache Struts homepage.
A Comparison
page 1 of text
Advantages
both have advantages of MVC
Example? advantage: the short and clear URLs, new so not playing catchup on standards (page 2 of book), http://en.wikipedia.org/wiki/Convention_over_Configuration (hibernate) http://www.javalobby.org/java/forums/t65305.html
Advantages for the Developer
Advantages for the Application
References
- Ruby on Rails and J2EE: Is there room for both?
- Rolling with Ruby on Rails Revisited
- Ruby on Rails
- Model-view-controller
- CSC517 Lecture 12: Ruby on Rails
- Agile Web Development with Rails
- Ruby on Rails Wikipedia entry
- Apache Struts Wikipedia entry