Rails para programadores Java

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

    3 Favorites

    Rails para programadores Java - Presentation Transcript

    1. Ruby On Rails para Programadores Java
    2. ¿A quién va dirigida? Buenos Programadores Java Web
    3. Ya sabes Rails MVC Programación Orientada a Objetos Convenciones sobre configuraciones
    4. MVC Java.Configuración Rails ::Convención
    5. Orientación a objetos Objetos, mensajes ● Clases ● Interfaces ● Instancias ● Variable/métodos de instancia ● Métodos/variables de clase (static)... ● Herencia ● la misma terminología
    6. Mapeo O/R Active Record JDO, Envoltura sobre filas de BD Hibernate, Encapsula el acceso a BD Toplink... Métodos de clase para obtener instancias
    7. Testing Usas Junit ? Con Rails podrás hacer: Tests unitarios (modelos) Tests funcionales (controladores) Test de integración (acciones) Rails incluye el mejor entorno para testing del 'mercado'. Sin discusión.
    8. ¿Ayuda para tareas de desarrollo? Usarás Rake sin problemas ¿Usas Ant?
    9. Resumen Todas las convenciones que asume Rails te parecerán naturales. Rails te proporciona mecanismos simples para las funcionalidades de las herramientas Java que estás acostumbrado a usar. Rails agrupa funcionalidades que estas acostumbrado a encontrar por separado.
    10. No sabes Ruby Rails no podría existir sin Ruby Rails 'hereda' de Ruby su elegancia y simplicidad Ruby es un lenguaje dinámico orientado a objetos ¿Si llego desde Java qué diferencias me voy a encontrar?
    11. Ruby: Tipado dinámico Java: int x=2; x=x^100; System.out.println(x); => -831846303 (!) Ruby: x=2 x.class => Fixnum x=x**100 => 1267650600228229401496703205376 x.class => Bignum
    12. Ruby: ¡No hay tipos básicos! Java: String.valueOf(33); Integer.parseInt(“33”); Ruby: 33.to_s => No wrappers! “33”.to_i 11.zero? 7.class => Fixnum 6+2 6.+ 2 6.+(2)
    13. Ruby: Todo son objetos Java: null => Referencia erronea a un objeto Ruby: x=nil x.nil? => true x.class => NilClass ¡¡No NullPointerException!!
    14. Ruby: Manejo simple de Fechas Java: Date fecha = new GregorianCalendar(2006,11,25,16,0).getTime(); Ruby: “2006-11-25 16:00”.to_time Java: new Date(new Date().getTime() - (30*60*1000)) RoR: 30.minutes.ago
    15. Ruby: Simplicidad de código Java: Ruby: getter/setter se generan automáticamente
    16. Ruby: Contenedores Java: Ruby: Array a[1]=x Arrays Collections Framework: Hash h[a]=b ArrayList Set Stack List Todas las HashSet funcionalidades es un solo HashMap contenedor. ... Funcionalidades repartidas (Clases, Interfaces, Metodos estáticos...)
    17. Ruby: Iteradores pre Java 5: for (Enumeration e=parent.getChildren(); e.hasMoreElements(); ) { Element child = (Element)e.nextElement(); // Hacer algo con child } post Java 5: for (Element item : items) { //hacer algo } Ruby: parent.each_child { |child| # Hacer algo con child }
    18. Ruby: Asignación múltiple Java: Ruby: a=2 int a=2; int b=3; b=3 int aux; aux = a; a,b = b,a a = b; b = aux; titulo, autor = Libro.getInfo
    19. Ruby: es (muy) Dinámico Puedo añadir métodos a CUALQUIER clase ( y en CUALQUIER momento) class String def spanish? include? “ñ” end end “Du hast mich”.spanish? => false
    20. Ruby: No hay interfaces No hay herencia de interfaz ¿Y si necesitamos tener métodos comunes? Módulos Agrupación de métodos Un módulo no se instancia Se incluyen en las clases (include) Se convierten en metodos de instancia
    21. OK. ¿Qué consigo a cambio? Menos código No XML innecesario No aprender lenguajes de configuración de apps Acceso fácil a buenas prácticas: Test, REST,... Menos sufrimiento Comunidad efervescente ++ PRODUCTIVIDAD
    22. ¡¡ ENSÉÑAMELO !!
    23. Ejemplos de tareas comunes No hacer nada Mapear una tabla de BD Hacer una consulta a BD Crear un archivo XML Añadir filtros a una petición web Hacer una llamada Ajax
    24. Un programa que no hace nada Java: Ruby On Rails:
    25. Mapeo O/R Java: Ruby On Rails:
    26. Consultar la Base de Datos Java: Ruby On Rails:
    27. Crear un archivo XML Java: Ruby On Rails: Método .to_xml !
    28. Añadir un filtro Java: clase Filter, doFilter, xml Ruby On Rails:
    29. Realizar una llamada Ajax Java: Ruby On Rails:
    30. EXTRAS: Migraciones RJS irb
    31. Migraciones Control de versiones de la BD No utiliza SQL, utiliza Ruby!
    32. RJS Plantillas Javascript No se programa en JS sino en Ruby!
    33. irb: interactive ruby Consola de ejecución Acceso a todas las clases de la aplicación Rails
    34. Resumen Transición fácil Aumento de la productividad Haz feliz al carbono, no al silicio!
    35. ¡Gracias! Licencia: Este documento se presenta bajo licencia “Creative Commons Attribution- NonCommercial-ShareAlike”, versión 2.5. Es decir, se puede copiar, distribuir o crear trabajos derivados bajo las siguientes condiciones: * Atribuir el crédito al autor original (Juanjo Bazán @ www.kflink.com ) * No utilizar este trabajo para usos comerciales. * Distribuir cualquier trabajo derivado usando esta misma licencia. (Detalles en: http://creativecommons.org/licenses/by-nc-sa/2.5/ ) License ¿dudas? jjbazan@kflink.com

    + xuanxuxuanxu, 3 years ago

    custom

    4497 views, 3 favs, 0 embeds more stats

    Presentación para la I Conferencia Rails Hispana, more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 4497
      • 4497 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    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