CSC/ECE 517 Fall 2007/wiki2 1 pp
Ruby on Rails vs Apache Struts
Introduction
Apache Struts is an open source web based application framework for developing Java EE web applications. It uses Java Servlet API to extend and develop the Model view controller architecture. The goal of Struts is to separate the database logic from the presentation logic as well as business logic.
Rails is an open source framework for developing database backed web applications in Ruby . The biggest advantage of Ruby is simplicity. Rails takes full benefit of this. While developing an application with Ruby on Rails the programmer is saved from the hassles of writing too many lines of code. Keeping the code small makes it easier to debug and it also increases the readability and maintainability of the code . Ruby on Rails also uses the MVC architecture.
What is MVC?
In complex applications that involve a large amount of data , the programmer might wish to separate the data logic from the user interface logic.
This is where MVC comes in.
Model
It is used to represent business logic of the application. It indicates the application state and the actions to be performed on that state.
View
It is used to show the model to the user. It is usually HTML file that provides an interface for the model.
Controller
Responds to events.It may cause changes to the model.
Flow Of Control
- The user interacts with the user interface.
- A controller handles the data generated from user interactions and updates the model with the data from the user interface.
- View generates user interface using the model. For eg the in a flight reservation system the view may present the customer with the list of available seats in the flight.
Apache Struts is a framework that is used to implement model view architecture in Java whereas Ruby on rails implements model view architecture in Ruby.