SlideShare uma empresa Scribd logo
1 de 42
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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 programarLuis Beltran
 
Desarrollando para nuevos dispositivos
Desarrollando para nuevos dispositivosDesarrollando para nuevos dispositivos
Desarrollando para nuevos dispositivosSergio 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 nativasSoftware 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 CordovaSoftware Guru
 
Desarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRDesarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRSergio Brito
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicRubén Aguilera
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 
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/2Ignacio Muñoz Vicente
 

Mais procurados (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
 

Destaque

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 VersionTechnogym
 
Der edle Charakter des Propheten Muhammad
Der edle Charakter des Propheten MuhammadDer edle Charakter des Propheten Muhammad
Der edle Charakter des Propheten MuhammadIslamic 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 paris1Saúl Hernández
 
Taller de Presentacion Efectivas I
Taller de Presentacion Efectivas ITaller de Presentacion Efectivas I
Taller de Presentacion Efectivas IVictor Gutiérrez
 
OAP BANNER FINAL
OAP BANNER FINALOAP BANNER FINAL
OAP BANNER FINALKari Paine
 
Cours histoire russie
Cours histoire russieCours histoire russie
Cours histoire russieguest24ecab
 
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 softwareupc
 
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èreSchool
 
Lis. mon enfance
Lis. mon enfanceLis. mon enfance
Lis. mon enfanceSchool
 
Abschlusspräsentation v5
Abschlusspräsentation v5Abschlusspräsentation v5
Abschlusspräsentation v5Simon Hummel
 
FLL Comics
FLL ComicsFLL Comics
FLL Comicsesimeon
 
FLL Comic Book (French)
FLL Comic Book (French)FLL Comic Book (French)
FLL Comic Book (French)esimeon
 
Groupe Launch brochure_Francais
Groupe Launch brochure_FrancaisGroupe Launch brochure_Francais
Groupe Launch brochure_FrancaisRobertOstiguy
 
L%e2%80%99environnement
L%e2%80%99environnementL%e2%80%99environnement
L%e2%80%99environnementMarlène Fert
 

Destaque (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
 

Semelhante a Charla 1er betabeers Córdoba

HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 
Kendo UI - Potencia tu Web
Kendo UI - Potencia tu WebKendo UI - Potencia tu Web
Kendo UI - Potencia tu WebDavid 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, frameworksPideCurso
 
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 sevillaRaú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 APPInterlat
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con PhonegapMauro Parra-Miranda
 
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 XamarinJavier 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
 
Desarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsDesarrollo de Mobile Web Apps
Desarrollo de Mobile Web AppsAsier Marqués
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesAkirepaho
 
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 movilesAdrian Diaz Cervera
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 

Semelhante 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

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 

Último (20)

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 

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