Hello Malika,
I can answer one of your questions
I know of Rails, what is Grails?
Answer from wikipedia article Grails is an open source web application framework that leverages the Groovy programming language (which is in turn based on the Java platform). Grails is intended to be a high-productivity framework by following the "coding by convention" paradigm, providing a standalone development environment and hiding much of the configuration detail from the developer.
Grails has been developed with a number of goals in mind:
* Provide a high-productivity web framework for the Java platform.
* Re-use proven Java technologies such as Hibernate and Spring under a simple, consistent interface
* Offer a consistent framework that takes away confusion and is easy to learn.
* Offer documentation for those parts of the framework that matter for its users.
* Provide what users expect in areas that are often complex and inconsistent:
o Powerful and consistent persistence framework.
o Powerful and easy to use view templates using GSP (Groovy Server Pages).
o Dynamic tag libraries to easily create web page components.
o Good Ajax support that is easy to extend and customize.
* Provide sample applications that demonstrate the power of the framework.
* Provide a complete development mode, including web server and automatic reload of resources.
Grails has been designed to be easy to learn, easy to develop applications and extensible. It attempts to offer the right balance between consistency and powerful features.