SlideShare una empresa de Scribd logo
DESARROLLO
MULTIPLATAFORMA DE APPS
 CON GWT Y PHONEGAP
       Betabeers Córdoba
           27/9/2012




                           GWT
MI TIMELINE
1996   2001   2002   2005   2006   2007   2010   2012
EL MOMENTO QUE LO CAMBIÓ TODO




Julio 07           Noviembre 07
LA TECNOLOGÍA MÁS PENETRANTE DE LA HISTORIA
TODAVÍA NO SE CONOCEN LAS IMPLICACIONES



                                               We#do#not#currently#directly#generate#any#
                                               meaningful# revenue# from# the# use# of#
                                               F a c e b o o k# m o b i l e# p r o d u c t s ," [ … ] ."
                                               Accordingly," if" users# continue# to#
                                               increasingly# access# Facebook# mobile#
                                               products# as# a# substitute# for# access#
                                               through# personal# computers," […]" our"
                                               revenue" and" financial" results" may" be"
                                               negatively"affected.<


   The" decrease" in" the" average" cost?
   per?click" paid" by" our" advertisers"
   was" driven" by" various" factors..
   [ i n c l u d i n g ]" t h e# c h a n g e s# i n#
   platform#mix#due#to#traffic#growth#
   in# mobile# devices," where" the"
   average" cost?per?click" is" typically"
   l o we r" c o m p a r e d" t o" d e s k t o p"
   computers"and"tablets.<
SÓLO MÓVIL




       “Lo que menos me importa
       es la página web, lo más
       importante para mí es el
       entorno móvil”
PERO EL DESARROLLO PARA MÓVILES ES COMPLICADO
APPS NATIVAS VS. MOBILE WEB VS. HÍBRIDAS
FRAMEWORKS HÍBRIDOS



                      Mono Touch
PHONEGAP




                    Phonegap (Core APIs
HTML5 + CSS3 + JS                         Target platforms
                         + Plugins)
CÓMO ES EN IOS?
CÓMO ES EN ANDROID?
PHONEGAP CORE API
EJEMPLO
PHONEGAP PLUGINS




            46
57
EJEMPLO
DEBUGGING?




iOS: iWebInspector
DEBUGGING?




Android, iOS: Weinre
debug.phonegap.com
QUÉ UTILIZAR PARA LA UI?

• HTML5     + CSS3 + JS

• AJAX    100%

• No   olvidarse del servidor

• Ni   de la “performance” y limitaciones en el móvil

• Simular   el Look & Feel de la plataforma

• Open    Source con amplia comunidad

• Otrascaracterísticas: facilitar la depuración, el testeo,
 incrementar la productividad, etc.
ALGUNAS ALTERNATIVAS
EL PROBLEMA CON JAVASCRIPT...
WTFJS.COM
GWT

• Introducido   por Google en 2006

• Compila   Java a Javascript

• Soporta   todos los principales navegadores*

 • También    los móviles (Webkit)

• Usado   en producción por Google en numerosos proyectos

 • Google Adwords, Android      Play, Google Groups...

• Rencientemente    Google ha liberado la dirección del
 proyecto*
GWT EN MODO DE DESARROLLO
EJEMPLO
WIDGETS
Y SI HAY DISEÑADORES? UIBINDER
“DEFERRED BINDING”
GWT.XML
INTERNACIONALIZACIÓN (I18N)




•   Construido sobre “Deferred
    binding”

    •   Se genera una permutación
        adicional por idioma

    •   Muy potente: plurales,
        mensajes por defecto, RTL...

•   Incrementa el tamaño de la
    compilación
CSS COMPILADO
Constantes:




Condiciones (perfecto para emular L&F según la plataforma):




 Recursos:




  Sprites:
SERVIDOR: GWT-RPC
PROBLEMAS CON GWT-RPC




• GWT-RPC “marca” los
 objetos serializables con un
 hash MD5

• Siel servidor detecta una
 discrepancia al deserializar
 lanza una excepción

  • Consecuencia: No      soporta
       clientes con versiones
       antiguas
JSNI (JAVASCRIPT NATIVE INTERFACE)
M-GWT
GWT-PHONEGAP
LO QUE IMPORTA: LA COMPILACIÓN

• Al
  final, tenemos que compilar la versión de producción y
 GWT es perfecto:

  • Elimina    código muerto y css no utilizado

  • Optimiza, ofusca    y comprime el JS

  • Optimiza     el css (image inlining)

  • Consolida    los ficheros (JS/CSS/HTML)

  • Mecanismo      de caché

  • Análisis   del resultado de la compilación (SOYC)
COSAS QUE ME HE DEJADO
•   Google plugin for Eclipse

    •   GWT Designer

•   Integración GWT - Google app engine

•   Speed tracer

•   Mayor integración Javascript - JSON: Javascript Overlay Types

•   Seguridad: Anti XSS

•   Request factory

    •   Libreria de comunicaciones basada en JSON con versión Android

•   Librerías específicas JUnit

•   Code splitting

•   MVP Framework

•   GWT superavanzado

    •   GWT super dev mode

    •   Elemental - “to the metal” HTML5 bindings
PROBLEMAS CON GWT

•   Curva de aprendizaje compleja

•   No soporta todo el JRE

•   Algunas características pueden ser contraproducentes en desarrollo móvil

    •   Deferred binding + I18N

    •   GWT-RPC

•   Desde que salió, se duda del soporte que Google le presta

    •   Roadmap oscuro

    •   Peor desde que se anunció Dart

    •   Quizás el problema es que Java ha dejado de ser “cool”

•   Mantenimiento del modo de desarrollo

•   Mantenimiento de las apis de Google, HTML5
GWT + PHONEGAP


                                          Java




                    Phonegap (Core APIs
HTML5 + CSS3 + JS                           Target platforms
                         + Plugins)
DUDAS / PREGUNTAS?
GRACIAS!
       luis@serendipio.com
http://es.linkedin.com/in/lumunoz
             @munozluis

Más contenido relacionado

La actualidad más candente

Construye un bot para Microsoft Teams sin saber programar
Construye un bot para Microsoft Teams sin saber programarConstruye un bot para Microsoft Teams sin saber programar
Construye un bot para Microsoft Teams sin saber programar
Luis Beltran
 
Desarrollando para nuevos dispositivos
Desarrollando para nuevos dispositivosDesarrollando para nuevos dispositivos
Desarrollando para nuevos dispositivos
Sergio David Acosta
 
Consideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativasConsideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativas
Software Guru
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache Cordova
Software Guru
 
Desarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRDesarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIR
Sergio Brito
 
Phonegap
PhonegapPhonegap
Introducción a Windows 10
Introducción a Windows 10Introducción a Windows 10
Introducción a Windows 10
Josué Yeray Julián Ferreiro
 
Apps web vs apps nativas
Apps web vs apps nativasApps web vs apps nativas
Apps web vs apps nativas
Andrés Londoño
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + Ionic
Rubén Aguilera
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
INSIGNIA4U
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
Vicente Gerardo Guzman Lucio
 
Construyendo y publicando nuestra primera app multi plataforma (II)
Construyendo y publicando nuestra primera app multi plataforma (II)Construyendo y publicando nuestra primera app multi plataforma (II)
Construyendo y publicando nuestra primera app multi plataforma (II)
Carlos Alonso Pérez
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2
Ignacio Muñoz Vicente
 

La actualidad más candente (13)

Construye un bot para Microsoft Teams sin saber programar
Construye un bot para Microsoft Teams sin saber programarConstruye un bot para Microsoft Teams sin saber programar
Construye un bot para Microsoft Teams sin saber programar
 
Desarrollando para nuevos dispositivos
Desarrollando para nuevos dispositivosDesarrollando para nuevos dispositivos
Desarrollando para nuevos dispositivos
 
Consideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativasConsideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativas
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache Cordova
 
Desarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRDesarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIR
 
Phonegap
PhonegapPhonegap
Phonegap
 
Introducción a Windows 10
Introducción a Windows 10Introducción a Windows 10
Introducción a Windows 10
 
Apps web vs apps nativas
Apps web vs apps nativasApps web vs apps nativas
Apps web vs apps nativas
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + Ionic
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
 
Construyendo y publicando nuestra primera app multi plataforma (II)
Construyendo y publicando nuestra primera app multi plataforma (II)Construyendo y publicando nuestra primera app multi plataforma (II)
Construyendo y publicando nuestra primera app multi plataforma (II)
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2
 

Destacado

Activate your Club 2.0 Area in 5 steps_French Version
Activate your Club 2.0 Area in 5 steps_French VersionActivate your Club 2.0 Area in 5 steps_French Version
Activate your Club 2.0 Area in 5 steps_French Version
Technogym
 
Der edle Charakter des Propheten Muhammad
Der edle Charakter des Propheten MuhammadDer edle Charakter des Propheten Muhammad
Der edle Charakter des Propheten Muhammad
Islamic Invitation
 
Marlon guia del reciclaje[1]
Marlon guia del reciclaje[1]Marlon guia del reciclaje[1]
Marlon guia del reciclaje[1]
alexandra pino
 
Balade au dessus de paris1
Balade au dessus de paris1Balade au dessus de paris1
Balade au dessus de paris1
Saúl Hernández
 
Taller de Presentacion Efectivas I
Taller de Presentacion Efectivas ITaller de Presentacion Efectivas I
Taller de Presentacion Efectivas I
Victor Gutiérrez
 
Bildkonzeption Oma Heim
Bildkonzeption Oma HeimBildkonzeption Oma Heim
Bildkonzeption Oma Heim
Junge mit Ideen
 
OAP BANNER FINAL
OAP BANNER FINALOAP BANNER FINAL
OAP BANNER FINAL
Kari Paine
 
Cours histoire russie
Cours histoire russieCours histoire russie
Cours histoire russie
guest24ecab
 
Derechos de autor respecto a la producción de material de software
Derechos de autor respecto a la producción de material de softwareDerechos de autor respecto a la producción de material de software
Derechos de autor respecto a la producción de material de software
upc
 
ELABORACION DE REACTIVOS
ELABORACION DE REACTIVOS ELABORACION DE REACTIVOS
ELABORACION DE REACTIVOS
Javier Sanchez
 
Raúl n. l'enfance de mon père
Raúl n. l'enfance de mon pèreRaúl n. l'enfance de mon père
Raúl n. l'enfance de mon père
School
 
Lis. mon enfance
Lis. mon enfanceLis. mon enfance
Lis. mon enfance
School
 
Abschlusspräsentation v5
Abschlusspräsentation v5Abschlusspräsentation v5
Abschlusspräsentation v5
Simon Hummel
 
FLL Comics
FLL ComicsFLL Comics
FLL Comics
esimeon
 
FLL Comic Book (French)
FLL Comic Book (French)FLL Comic Book (French)
FLL Comic Book (French)
esimeon
 
Au premier etage
Au premier etageAu premier etage
Au premier etage
Jocelyn Prud'homme
 
Groupe Launch brochure_Francais
Groupe Launch brochure_FrancaisGroupe Launch brochure_Francais
Groupe Launch brochure_Francais
RobertOstiguy
 
L%e2%80%99environnement
L%e2%80%99environnementL%e2%80%99environnement
L%e2%80%99environnement
Marlène Fert
 
Barlando
BarlandoBarlando
Barlando
teamfulgid
 

Destacado (20)

Clinique
CliniqueClinique
Clinique
 
Activate your Club 2.0 Area in 5 steps_French Version
Activate your Club 2.0 Area in 5 steps_French VersionActivate your Club 2.0 Area in 5 steps_French Version
Activate your Club 2.0 Area in 5 steps_French Version
 
Der edle Charakter des Propheten Muhammad
Der edle Charakter des Propheten MuhammadDer edle Charakter des Propheten Muhammad
Der edle Charakter des Propheten Muhammad
 
Marlon guia del reciclaje[1]
Marlon guia del reciclaje[1]Marlon guia del reciclaje[1]
Marlon guia del reciclaje[1]
 
Balade au dessus de paris1
Balade au dessus de paris1Balade au dessus de paris1
Balade au dessus de paris1
 
Taller de Presentacion Efectivas I
Taller de Presentacion Efectivas ITaller de Presentacion Efectivas I
Taller de Presentacion Efectivas I
 
Bildkonzeption Oma Heim
Bildkonzeption Oma HeimBildkonzeption Oma Heim
Bildkonzeption Oma Heim
 
OAP BANNER FINAL
OAP BANNER FINALOAP BANNER FINAL
OAP BANNER FINAL
 
Cours histoire russie
Cours histoire russieCours histoire russie
Cours histoire russie
 
Derechos de autor respecto a la producción de material de software
Derechos de autor respecto a la producción de material de softwareDerechos de autor respecto a la producción de material de software
Derechos de autor respecto a la producción de material de software
 
ELABORACION DE REACTIVOS
ELABORACION DE REACTIVOS ELABORACION DE REACTIVOS
ELABORACION DE REACTIVOS
 
Raúl n. l'enfance de mon père
Raúl n. l'enfance de mon pèreRaúl n. l'enfance de mon père
Raúl n. l'enfance de mon père
 
Lis. mon enfance
Lis. mon enfanceLis. mon enfance
Lis. mon enfance
 
Abschlusspräsentation v5
Abschlusspräsentation v5Abschlusspräsentation v5
Abschlusspräsentation v5
 
FLL Comics
FLL ComicsFLL Comics
FLL Comics
 
FLL Comic Book (French)
FLL Comic Book (French)FLL Comic Book (French)
FLL Comic Book (French)
 
Au premier etage
Au premier etageAu premier etage
Au premier etage
 
Groupe Launch brochure_Francais
Groupe Launch brochure_FrancaisGroupe Launch brochure_Francais
Groupe Launch brochure_Francais
 
L%e2%80%99environnement
L%e2%80%99environnementL%e2%80%99environnement
L%e2%80%99environnement
 
Barlando
BarlandoBarlando
Barlando
 

Similar a Charla 1er betabeers Córdoba

HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
PideCurso
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
miguelcarrascoq
 
Kendo UI - Potencia tu Web
Kendo UI - Potencia tu WebKendo UI - Potencia tu Web
Kendo UI - Potencia tu Web
David Gonzalo
 
Facilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksFacilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworks
PideCurso
 
Facilitando el desarrollo web móvil, frameworks nr sevilla
Facilitando el desarrollo web móvil, frameworks   nr sevillaFacilitando el desarrollo web móvil, frameworks   nr sevilla
Facilitando el desarrollo web móvil, frameworks nr sevilla
Raúl Jiménez Ortega
 
Construyendo y publicando nuestra primera APP
Construyendo y publicando nuestra primera APPConstruyendo y publicando nuestra primera APP
Construyendo y publicando nuestra primera APP
Interlat
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con Phonegap
Mauro Parra-Miranda
 
Día del software libre
Día del software libreDía del software libre
Día del software libre
Felipe Hernández Rivas
 
Barcamp Mobile Web
Barcamp Mobile WebBarcamp Mobile Web
Barcamp Mobile Web
Maximiliano Firtman
 
Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a Xamarin
Javier Suárez Ruiz
 
Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...
Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...
Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...
CLEFormación
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
Alberto Garrido
 
Desarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsDesarrollo de Mobile Web Apps
Desarrollo de Mobile Web Apps
Asier Marqués
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
Jesús Fontecha
 
Desarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móvilesDesarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móviles
Juan Eladio Sánchez Rosas
 
Introduccion html5
Introduccion html5Introduccion html5
Introduccion html5
Kike Quintano
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_moviles
Akirepaho
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
RAUL Velez
 
Share point y los dispositivos moviles
Share point y los dispositivos movilesShare point y los dispositivos moviles
Share point y los dispositivos moviles
Adrian Diaz Cervera
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
Raelyx Cordero
 

Similar a Charla 1er betabeers Córdoba (20)

HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
 
Kendo UI - Potencia tu Web
Kendo UI - Potencia tu WebKendo UI - Potencia tu Web
Kendo UI - Potencia tu Web
 
Facilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksFacilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworks
 
Facilitando el desarrollo web móvil, frameworks nr sevilla
Facilitando el desarrollo web móvil, frameworks   nr sevillaFacilitando el desarrollo web móvil, frameworks   nr sevilla
Facilitando el desarrollo web móvil, frameworks nr sevilla
 
Construyendo y publicando nuestra primera APP
Construyendo y publicando nuestra primera APPConstruyendo y publicando nuestra primera APP
Construyendo y publicando nuestra primera APP
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con Phonegap
 
Día del software libre
Día del software libreDía del software libre
Día del software libre
 
Barcamp Mobile Web
Barcamp Mobile WebBarcamp Mobile Web
Barcamp Mobile Web
 
Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a Xamarin
 
Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...
Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...
Seminario &quot;Desarrollo para entornos móviles. Comparativas y tendencias&q...
 
Presentacion cw2012
Presentacion cw2012Presentacion cw2012
Presentacion cw2012
 
Desarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsDesarrollo de Mobile Web Apps
Desarrollo de Mobile Web Apps
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Desarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móvilesDesarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móviles
 
Introduccion html5
Introduccion html5Introduccion html5
Introduccion html5
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_moviles
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
 
Share point y los dispositivos moviles
Share point y los dispositivos movilesShare point y los dispositivos moviles
Share point y los dispositivos moviles
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 

Último

Catálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manualCatálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manual
RobertoAlvarez835593
 
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
bellomiguelangel68
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
Katia Reyes
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
ivanbrito1105
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
lourdesuribe6
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
estudios22
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
JessAdrinGonzlezCade
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
walter729637
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
Transporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdfTransporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdf
milagrosAlbanPacherr
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 

Último (20)

Catálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manualCatálogo LG de lavadora de ropa , manual
Catálogo LG de lavadora de ropa , manual
 
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
2 FIBRA OPTICA COMO MEDIO DE RED DE ACCESO.pptx
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
Transporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdfTransporte a través del tiempo en el perú.pdf
Transporte a través del tiempo en el perú.pdf
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 

Charla 1er betabeers Córdoba

  • 1. DESARROLLO MULTIPLATAFORMA DE APPS CON GWT Y PHONEGAP Betabeers Córdoba 27/9/2012 GWT
  • 2. MI TIMELINE 1996 2001 2002 2005 2006 2007 2010 2012
  • 3. EL MOMENTO QUE LO CAMBIÓ TODO Julio 07 Noviembre 07
  • 4. LA TECNOLOGÍA MÁS PENETRANTE DE LA HISTORIA
  • 5. TODAVÍA NO SE CONOCEN LAS IMPLICACIONES We#do#not#currently#directly#generate#any# meaningful# revenue# from# the# use# of# F a c e b o o k# m o b i l e# p r o d u c t s ," [ … ] ." Accordingly," if" users# continue# to# increasingly# access# Facebook# mobile# products# as# a# substitute# for# access# through# personal# computers," […]" our" revenue" and" financial" results" may" be" negatively"affected.< The" decrease" in" the" average" cost? per?click" paid" by" our" advertisers" was" driven" by" various" factors.. [ i n c l u d i n g ]" t h e# c h a n g e s# i n# platform#mix#due#to#traffic#growth# in# mobile# devices," where" the" average" cost?per?click" is" typically" l o we r" c o m p a r e d" t o" d e s k t o p" computers"and"tablets.<
  • 6. SÓLO MÓVIL “Lo que menos me importa es la página web, lo más importante para mí es el entorno móvil”
  • 7. PERO EL DESARROLLO PARA MÓVILES ES COMPLICADO
  • 8. APPS NATIVAS VS. MOBILE WEB VS. HÍBRIDAS
  • 9. FRAMEWORKS HÍBRIDOS Mono Touch
  • 10. PHONEGAP Phonegap (Core APIs HTML5 + CSS3 + JS Target platforms + Plugins)
  • 11. CÓMO ES EN IOS?
  • 12. CÓMO ES EN ANDROID?
  • 19. QUÉ UTILIZAR PARA LA UI? • HTML5 + CSS3 + JS • AJAX 100% • No olvidarse del servidor • Ni de la “performance” y limitaciones en el móvil • Simular el Look & Feel de la plataforma • Open Source con amplia comunidad • Otrascaracterísticas: facilitar la depuración, el testeo, incrementar la productividad, etc.
  • 21. EL PROBLEMA CON JAVASCRIPT...
  • 23. GWT • Introducido por Google en 2006 • Compila Java a Javascript • Soporta todos los principales navegadores* • También los móviles (Webkit) • Usado en producción por Google en numerosos proyectos • Google Adwords, Android Play, Google Groups... • Rencientemente Google ha liberado la dirección del proyecto*
  • 24. GWT EN MODO DE DESARROLLO
  • 27. Y SI HAY DISEÑADORES? UIBINDER
  • 30. INTERNACIONALIZACIÓN (I18N) • Construido sobre “Deferred binding” • Se genera una permutación adicional por idioma • Muy potente: plurales, mensajes por defecto, RTL... • Incrementa el tamaño de la compilación
  • 31. CSS COMPILADO Constantes: Condiciones (perfecto para emular L&F según la plataforma): Recursos: Sprites:
  • 33. PROBLEMAS CON GWT-RPC • GWT-RPC “marca” los objetos serializables con un hash MD5 • Siel servidor detecta una discrepancia al deserializar lanza una excepción • Consecuencia: No soporta clientes con versiones antiguas
  • 35. M-GWT
  • 37. LO QUE IMPORTA: LA COMPILACIÓN • Al final, tenemos que compilar la versión de producción y GWT es perfecto: • Elimina código muerto y css no utilizado • Optimiza, ofusca y comprime el JS • Optimiza el css (image inlining) • Consolida los ficheros (JS/CSS/HTML) • Mecanismo de caché • Análisis del resultado de la compilación (SOYC)
  • 38. COSAS QUE ME HE DEJADO • Google plugin for Eclipse • GWT Designer • Integración GWT - Google app engine • Speed tracer • Mayor integración Javascript - JSON: Javascript Overlay Types • Seguridad: Anti XSS • Request factory • Libreria de comunicaciones basada en JSON con versión Android • Librerías específicas JUnit • Code splitting • MVP Framework • GWT superavanzado • GWT super dev mode • Elemental - “to the metal” HTML5 bindings
  • 39. PROBLEMAS CON GWT • Curva de aprendizaje compleja • No soporta todo el JRE • Algunas características pueden ser contraproducentes en desarrollo móvil • Deferred binding + I18N • GWT-RPC • Desde que salió, se duda del soporte que Google le presta • Roadmap oscuro • Peor desde que se anunció Dart • Quizás el problema es que Java ha dejado de ser “cool” • Mantenimiento del modo de desarrollo • Mantenimiento de las apis de Google, HTML5
  • 40. GWT + PHONEGAP Java Phonegap (Core APIs HTML5 + CSS3 + JS Target platforms + Plugins)
  • 42. GRACIAS! luis@serendipio.com http://es.linkedin.com/in/lumunoz @munozluis