Redefiniendo el MVC con Grails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Redefiniendo el MVC con Grails - Presentation Transcript

    1. El MVC redefinido con Grails (Controllers y GSP)
      José Juan R. Zuñiga (@neodevelop)
    2. Agenda
      Reuniones previas
      Groovy
      MVC
      Grails
    3. Reuniones previas
      6ta. Reunión de SpringHispano.org, grails.orgmx y JavaMexico.org
      http://springhispano.org/?q=node/469
      http://www.slideshare.net/domingo.suarez/taller-groovy
    4. Reuniones previas
      6ta. Reunión de SpringHispano.org, grails.orgmx y JavaMexico.org
      http://springhispano.org/?q=node/374
      http://www.slideshare.net/neodevelop/spring-mvc-final-presentation
      http://www.slideshare.net/domingo.suarez/grailsorgmx-priemra-reunion-presentation
    5. Lo más importante de todo esto…
    6. Los ponentes…
    7. Hablemos de MVC
      MVC = Model–View–Controller
      Es un patrón de diseño que provee un mecanismo para construir una esbelta y limpia capa web
      Claramente separa el negocio, la navegación y la lógica de presentación
      Aunque…ya no solo aplica a Web, ahora también es implementado en Desktop( el mejor caso: Griffon - ?:D )
    8. ¿Cómo trabaja MVC?
    9. Motivaciones
      Facilita la carga de mantenimiento
      Los cambios en el negocio tienen impacto mínimo en el mejor de los casos nulo
      Facilita el desarrollo en un equipo multidisciplinario
      Zapatero a tu zapato, DBA a tu base de datos, desarrollador de persistencia a tus DAO’s, Diseñador a tu diseño….
      Uso de herramientas especializadas
      Existen lenguajes de plantillas y etiquetado que son mejores para crear HTML
      Facilita las pruebas
      Podríamos probar mucho más código fuera de un contenedor Web
    10. Frameworks MVC en Java
      • Struts
      • Turbine
      • Expresso
      • Tapestry
      • Apache Cocoon
      • Maverik
      • Anvil
      • Jaffa
      • Japple
      JPublish
      Jucas
      WebOnSwing
      Chrysalis
      VRaptor
      Swinglets
      Millstone
      Wicket
      Java Server Faces
      • MyFaces
      • Tomahawk
      • IceFaces
      • Trinidad
      • Tobago
      SpringMVC
    11. Otros frameworks MVC
      Ruby
      RubyonRails
      Perl
      Catalyst
      Cyclone
      Maypole
      Solstice
      …
      PHP
      Zend
      Tlalokes
      Kumbia
      CakePHP
      …
      Python
      Turbogears
      Django
      .Net
      MonoRail
      Maverick
      ASP.Net MVC
    12. Pero nosotros hablaremos de…
    13. ¿Qué es Grails?
      Una plataforma para desarrollo ágil en Web
      Un framework MVC full-stack
    14. ¿Qué es Grails?
      Open Source
      Corre en la JVM
    15. ¿Qué es Grails?
      Desarrollo de aplicaciones con Groovy
      Altamente expresivo
    16. ¿Qué es Grails?
      Totalmente orientado a objetos
      Dinámico
      Sintaxis familiar
      Perfecta integración con Java
    17. ¿Qué es Grails?
      Convención sobre configuración
      DRY (Don’trepeatyourself)
    18. Stack de tecnologías de Grails
    19. ¿qué me provee?
      MVC zero-configurationDependency_Injectiongsptransacciones JNDI groovyInternacionalización Web_FlowTag_librariesCachinghibernatescaffolding RESTLayoutsAJAX JettyUnit testingIntegrationtestinggrailsplugins quartzacegiactivemqamazon-s3 gaeaxiscamelcriteriaGORM dwrextSpring
      flexfreemarkerjava geoipgwtivyjpajqueryldap mail openidpaypalpdfsakaispringmvctaggableterracottatomcattwitterwebtestxfireyui
    20. Repasemos un poco…
    21. Recordemos nuestro HolaMundo(Java)
      publicclassMiClase{
      privateString nombre;
      publicvoidsetNombre(String nombre){
      this.nombre = nombre;
      }
      publicStringgetNombre(){
      returnthis.nombre;
      }
      publicString saluda(){
      return "Hola " + nombre + "!!!";
      }
      publicstaticvoidmain(String[] args){
      MiClasem = newMiClase();
      m.setNombre("SpringHispano");
      System.out.println(m.saluda());
      }
      }
    22. Recordemos nuestro HolaMundo(Groovy)
      publicclassMiClase{
      privateString nombre;
      publicvoidsetNombre(String nombre){
      this.nombre = nombre;
      }
      publicStringgetNombre(){
      returnthis.nombre;
      }
      publicString saluda(){
      return "Hola " + nombre + "!!!";
      }
      publicstaticvoidmain(String[] args){
      MiClasem = newMiClase();
      m.setNombre("SpringHispano");
      System.out.println(m.saluda());
      }
      }
    23. Mejor: A la manera Groovy!!!
      classMiClase{
      String nombre
      def saluda(){
      return "Hola $nombre !!!";
      }
      }
      defm = newMiClase()
      m.setNombre("SpringHispano")
      println(m.saluda())
    24. MVC en Grails
      Modelo
      Clases del dominio
      Validaciones en las clases de dominio
      GORM
      Se puede personalizar el mapeo
      Relaciones entre clases
      Uno a Uno
      Uno a Muchos
      Muchos a Muchos
      Herencia
      Objetos embedidos
      Testing
    25. MVC en Grails
      Controller
      Definidos por Acciones en Closures
      Provee de atributos en el request que facilitan el manejo
      Ejemplos: flash, params
      Provee un scope adicional a context y session: flash
      Mejora en el manejo del Data Binding a través de params
      CommandObjects
      Restricciones en los métodos HTTP
      Manejo de upload de archivos más sencillo
      Interceptores
      Filtros
      Testing
    26. MVC en Grails
      View
      Scriptlets
      GSP
      Provee de una librería de tags poderosa
      Tags lógicos
      Tags iterativos
      Tags para crear vínculos
      Incluso podemos crear las propias :D
      Sencillismo manejo de formularios a través de Tags
      Paginación
      Uso de templates
      Ajax
      Testing
    27. Un ejemplo…
      Claro si no a que venimos a la reunión…
      Creemos una aplicación…
      Veamos que podemos hacer enfocandonos en el MVC…
    28. Más Grails
      Mappings
      Internacionalización
      Ajax
      WebFlow
      GORM
      Servicios
      Plugins
      Seguridad
      Web Services
      Más…
    29. ¿Preguntas?
      …o comentarios…
      http://springhispano.org
      http://grails.org.mx
      @neodevelop
    SlideShare Zeitgeist 2009

    + J. Juan R. ZuñigaJ. Juan R. Zuñiga Nominate

    custom

    278 views, 1 favs, 2 embeds more stats

    Presentación del tema "Redefiniendo el MVC con Gra more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 278
      • 261 on SlideShare
      • 17 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 8
    Most viewed embeds
    • 12 views on http://www.springhispano.org
    • 5 views on http://springhispano.org

    more

    All embeds
    • 12 views on http://www.springhispano.org
    • 5 views on http://springhispano.org

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories