SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
MobileWars:
Desarrollo móvil
multiplataforma
 Daniel Martínez Ramos
Erick Camacho Chavarría
Nosotros
    Daniel Ramos -
     @dannyGeek. Adobe
     Certified Expert en varios
     productos. CoManager de
     LiveData AUG



    Erick Camacho –
     @ecamacho. CoManager
     de CocoaHeads México
Nosotros
 Desarrollamos apps móviles para iOS con Objective-C.

 Nos gusta el desarrollo nativo, pero es costoso hacer una
  aplicación nativa por plataforma.

 Existen opciones y queríamos explorarlas.
¿Qué hicimos?
 Litros de A Litro

 Una aplicación para geolocalizar
  gasolineras y su calificación por la
  Profeco.

 OpenSource: github.com/tidyslice
Los concursantes
Objective -C
 La usamos como Referencia.
Objective-C - Requisitos


IDE            Precio     Lenguaje
XCode          Gratuito   Objective-C
Objective-C - La aplicación
 DEMO
Objective-C - Observaciones


Performance   Documentaci   Curva de      Componentes Plataformas
              ón            aprendizaje               soportadas
Excelente     Excelente     Alta          Gran cantidad   iOS
                                          y muchos de
                                          terceros
PhoneGap
PhoneGap
 Permite empaquetar aplicaciones HTML como
  aplicaciones nativas.

 Ofrece plantillas para cada plataforma soportada.

 Tiene una librería nativa para integrarse con la plataforma
  y una librería javascript para integrarlo con tus
  aplicaciones.
PhoneGap


IDE                  Precio               Lenguaje
Xcode – iOS          Gratuito             HTML, javascript
Eclipse – Android,   (Soporte desde USD
BlackBerry           $249)
Dreamweaver CS5.5
Phonegap – La Aplicación
 Demo
Phonegap - Observaciones

Performance   Documentaci   Curva de      Componentes Plataformas
              ón            aprendizaje               soportadas
Lento         Buena         Baja          Buena        iOS
                                          Cantidad     Blackberry
                                                       Android
                                                       WebOS
                                                       Symbian
                                                       Bada
Phonegap - Observaciones
 Es sencillo hacer plugins que empaqueten funcionalidades
  nativas.

 Phonegap es sólo un wrapper. Lo importante es el
  framework HTML/javascript que uses.

 Existen varios, pero sólo 2 maduros: jqueryMobile y
  SenchaTouch

 Los controles con cualquier framework javascript, se notan
  que no son nativos.
Appcelerator Titanium
Appcelerator Titanium
 Titanium es un compilador que transforma de código en
  un DSL propietario con javascript a código nativo de la
  plataforma elegida.

 Para usarlo, se debe utilizar el Titanium IDE basado en
  Eclipse
Appcelerator Titanium


IDE               Precio                   Lenguaje
Titanium Studio   Gratuito                 javascript
                  (Soporte, cursos,
                  certificación de pago)
Appcelerator Titanium
 Demo
Appcelerator Titanium

Performance   Documentaci   Curva de      Componentes Plataformas
              ón            aprendizaje               soportadas
Bueno         Mala          Media         Pocos        iOS
                                                       Android
                                                       Blackberry
                                                       (beta)
                                                       Escritorio
Appcelerator Titanium
 Programas usando un DSL javascript que se compila a
  componentes nativos casi al 100%

 El usuario verá una app nativa, no notará que es Titanium

 Lo que no se compila a nativo, se ejecuta por un intérprete
  en tiempo de ejecución para permitir mecanismos
  dinámicos

 El DSL define un framework MVC para crear aplicaciones
  basado en eventos y ventanas.
Adobe Air
Adobe Air
 Tecnología para crear aplicaciones usando ActionScript
  puro o con el framework Adobe Flex.
Adobe Air


IDE             Precio          Lenguaje
Flash CS5       Desde USD$699   ActionScript
Flash Builder                   MXML
Adobe Air
 Demo
Adobe Air

Performance     Documentaci   Curva de      Componentes Plataformas
                ón            aprendizaje               soportadas
Bueno con       Buena         Media         Buena        iOS
ActionScript                                cantidad     Android *
Malo con Flex                                            Escritorio




 * Sólo funciona en el 10% de los smartphones con Android
  y en las Tablets con HoneyComb
Adobe Air
 Para crear controles (botones, diálogos, etc) puedes
  hacerlo a mano usando ActionScript o Flex.

 Los controles Flex se ven diferentes a los nativos, así que
  el usuario notará la diferencia

 A pesar de que soporta ActionScript no soporta varias
  características de Flash, por lo que no se puede pasar una
  app Flash a móvil de forma transparente
Conclusiones
 Usa Aplicación nativa si te interesa mucho el rendimiento
  y quieres usar funciones que ningún framework soporta
  como OpenGL.

 Si tienes expertise con javascript, phonegap te permitirá
  una productividad instantánea a costo de un bajo
  performance.

 Si necesitas que tu app funcione en BlackBerry, sólo
  phonegap te lo garantiza.
Conclusiones
 Lo mejor de Titanium es que utiliza controles nativos, pero
  su DSL es un problema: es poco flexible si te quieres salir
  de los estándares que maneja.

 Adobe Air tiene un ecosistema impresionante. Su IDE te
  permite hacer debug, simulaciones, construir interfaces
  con drag & drop; existen varias herramientas de análisis de
  código, de testing, etc.

 Tiene dos desventajas: los controles se nota que no son
  nativos y el performance en smartphones es todavía lento
  (en tablets es muy bueno)
Conclusiones
 Si tienes expertise en Adobe Flex, puedes ser muy
  productivo desde el inicio.
Gracias

 Código http://github.com/tidyslice

 Contacto info@tidyslice.com

 Próximo Sábado : charla CocoaHeads México - telmexHub

Más contenido relacionado

La actualidad más candente

My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014Neptuno Networks
 
¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?Belatrix Software
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoedwin quiroa
 
Mi lenguaje de programación de preferencia (JAVA)
Mi lenguaje de programación de preferencia (JAVA)Mi lenguaje de programación de preferencia (JAVA)
Mi lenguaje de programación de preferencia (JAVA)Hermes Mercado
 
SlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantesSlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantesKevinZamora32
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosIrving Muñoz
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 
introduccion al desarrollo de aplicaciones android
introduccion al desarrollo de aplicaciones androidintroduccion al desarrollo de aplicaciones android
introduccion al desarrollo de aplicaciones androidJose Luis Bugarin Peche
 
Code Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingCode Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingINSIGNIA4U
 
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Fernando Rizzato
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaKaren Rivera
 
Proyecto Flutter - Álvaro Castillo Cabero
Proyecto Flutter - Álvaro Castillo CaberoProyecto Flutter - Álvaro Castillo Cabero
Proyecto Flutter - Álvaro Castillo CaberolvaroCastilloCabero
 
Tarea #4 mi lenguaje de programación de preferencia
Tarea #4  mi lenguaje de programación de preferenciaTarea #4  mi lenguaje de programación de preferencia
Tarea #4 mi lenguaje de programación de preferenciatonycyber
 
Cuadro comparativo sobre los lenguajes
Cuadro comparativo sobre los lenguajesCuadro comparativo sobre los lenguajes
Cuadro comparativo sobre los lenguajesMario Casas
 
Visual studio 2017 - Mobile Hybrid Application
Visual studio 2017 - Mobile Hybrid ApplicationVisual studio 2017 - Mobile Hybrid Application
Visual studio 2017 - Mobile Hybrid ApplicationLeandro Tuttini
 
Elabora un glosario con terminologia relativa a este sub modulo
Elabora un glosario con terminologia relativa a este sub moduloElabora un glosario con terminologia relativa a este sub modulo
Elabora un glosario con terminologia relativa a este sub moduloricardo dueñas
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-webolguisf
 

La actualidad más candente (19)

My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?¿Cómo aumentar nuestra productividad con Flutter?
¿Cómo aumentar nuestra productividad con Flutter?
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
introducción a flutter
introducción a flutterintroducción a flutter
introducción a flutter
 
Mi lenguaje de programación de preferencia (JAVA)
Mi lenguaje de programación de preferencia (JAVA)Mi lenguaje de programación de preferencia (JAVA)
Mi lenguaje de programación de preferencia (JAVA)
 
SlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantesSlickEdit, Historia, Características más relevantes
SlickEdit, Historia, Características más relevantes
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
introduccion al desarrollo de aplicaciones android
introduccion al desarrollo de aplicaciones androidintroduccion al desarrollo de aplicaciones android
introduccion al desarrollo de aplicaciones android
 
Code Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingCode Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile Prototyping
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
Conoce lo nuevo en RAD Studio, C++ Builder y Delphi 10.2.2
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Proyecto Flutter - Álvaro Castillo Cabero
Proyecto Flutter - Álvaro Castillo CaberoProyecto Flutter - Álvaro Castillo Cabero
Proyecto Flutter - Álvaro Castillo Cabero
 
Tarea #4 mi lenguaje de programación de preferencia
Tarea #4  mi lenguaje de programación de preferenciaTarea #4  mi lenguaje de programación de preferencia
Tarea #4 mi lenguaje de programación de preferencia
 
Cuadro comparativo sobre los lenguajes
Cuadro comparativo sobre los lenguajesCuadro comparativo sobre los lenguajes
Cuadro comparativo sobre los lenguajes
 
Visual studio 2017 - Mobile Hybrid Application
Visual studio 2017 - Mobile Hybrid ApplicationVisual studio 2017 - Mobile Hybrid Application
Visual studio 2017 - Mobile Hybrid Application
 
Elabora un glosario con terminologia relativa a este sub modulo
Elabora un glosario con terminologia relativa a este sub moduloElabora un glosario con terminologia relativa a este sub modulo
Elabora un glosario con terminologia relativa a este sub modulo
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-web
 

Similar a Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? Un caso de estudio

Desarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapDesarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapCongresoWeb
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilIng Erick Guardado
 
Lenguajes de programacion rivas maldonado
Lenguajes de programacion  rivas maldonadoLenguajes de programacion  rivas maldonado
Lenguajes de programacion rivas maldonadoRAUL Velez
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
Phonegap
PhonegapPhonegap
PhonegapTensor
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesFernand Bernowly
 
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
 
Presentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comPresentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comJose Diaz Moreno
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesGuadalupe Piedra Olano
 
Herramientas de desarrollo de android
Herramientas de desarrollo de androidHerramientas de desarrollo de android
Herramientas de desarrollo de androidJaqueline Luna
 
Taller de introducción a iOS development
Taller de introducción a iOS developmentTaller de introducción a iOS development
Taller de introducción a iOS developmentrafaecheve
 

Similar a Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? Un caso de estudio (20)

Desarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapDesarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta Phonegap
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma Movil
 
Lenguajes de programacion rivas maldonado
Lenguajes de programacion  rivas maldonadoLenguajes de programacion  rivas maldonado
Lenguajes de programacion rivas maldonado
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
 
Actividad 04
Actividad 04Actividad 04
Actividad 04
 
Phonegap
PhonegapPhonegap
Phonegap
 
Herramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móvilesHerramientas de desarrollo para dispositivos móviles
Herramientas de desarrollo para dispositivos móviles
 
Act 04
Act 04Act 04
Act 04
 
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
 
Programación de aplicaciones móviles
Programación de aplicaciones móvilesProgramación de aplicaciones móviles
Programación de aplicaciones móviles
 
Desarrollo Móvil y Tecnologías web - Jasson Cascante
Desarrollo Móvil y Tecnologías web - Jasson CascanteDesarrollo Móvil y Tecnologías web - Jasson Cascante
Desarrollo Móvil y Tecnologías web - Jasson Cascante
 
Android studio
Android studioAndroid studio
Android studio
 
Presentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comPresentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.com
 
Android
AndroidAndroid
Android
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones Móviles
 
Herramientas de desarrollo de android
Herramientas de desarrollo de androidHerramientas de desarrollo de android
Herramientas de desarrollo de android
 
Taller de introducción a iOS development
Taller de introducción a iOS developmentTaller de introducción a iOS development
Taller de introducción a iOS development
 
DAM-S4.pptx
DAM-S4.pptxDAM-S4.pptx
DAM-S4.pptx
 
Taller dreamweaver
Taller dreamweaverTaller dreamweaver
Taller dreamweaver
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
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
 
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
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
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
 
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
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? Un caso de estudio

  • 1. MobileWars: Desarrollo móvil multiplataforma Daniel Martínez Ramos Erick Camacho Chavarría
  • 2. Nosotros  Daniel Ramos - @dannyGeek. Adobe Certified Expert en varios productos. CoManager de LiveData AUG  Erick Camacho – @ecamacho. CoManager de CocoaHeads México
  • 3. Nosotros  Desarrollamos apps móviles para iOS con Objective-C.  Nos gusta el desarrollo nativo, pero es costoso hacer una aplicación nativa por plataforma.  Existen opciones y queríamos explorarlas.
  • 4. ¿Qué hicimos?  Litros de A Litro  Una aplicación para geolocalizar gasolineras y su calificación por la Profeco.  OpenSource: github.com/tidyslice
  • 6. Objective -C  La usamos como Referencia.
  • 7. Objective-C - Requisitos IDE Precio Lenguaje XCode Gratuito Objective-C
  • 8. Objective-C - La aplicación  DEMO
  • 9. Objective-C - Observaciones Performance Documentaci Curva de Componentes Plataformas ón aprendizaje soportadas Excelente Excelente Alta Gran cantidad iOS y muchos de terceros
  • 11. PhoneGap  Permite empaquetar aplicaciones HTML como aplicaciones nativas.  Ofrece plantillas para cada plataforma soportada.  Tiene una librería nativa para integrarse con la plataforma y una librería javascript para integrarlo con tus aplicaciones.
  • 12. PhoneGap IDE Precio Lenguaje Xcode – iOS Gratuito HTML, javascript Eclipse – Android, (Soporte desde USD BlackBerry $249) Dreamweaver CS5.5
  • 13. Phonegap – La Aplicación  Demo
  • 14. Phonegap - Observaciones Performance Documentaci Curva de Componentes Plataformas ón aprendizaje soportadas Lento Buena Baja Buena iOS Cantidad Blackberry Android WebOS Symbian Bada
  • 15. Phonegap - Observaciones  Es sencillo hacer plugins que empaqueten funcionalidades nativas.  Phonegap es sólo un wrapper. Lo importante es el framework HTML/javascript que uses.  Existen varios, pero sólo 2 maduros: jqueryMobile y SenchaTouch  Los controles con cualquier framework javascript, se notan que no son nativos.
  • 17. Appcelerator Titanium  Titanium es un compilador que transforma de código en un DSL propietario con javascript a código nativo de la plataforma elegida.  Para usarlo, se debe utilizar el Titanium IDE basado en Eclipse
  • 18. Appcelerator Titanium IDE Precio Lenguaje Titanium Studio Gratuito javascript (Soporte, cursos, certificación de pago)
  • 20. Appcelerator Titanium Performance Documentaci Curva de Componentes Plataformas ón aprendizaje soportadas Bueno Mala Media Pocos iOS Android Blackberry (beta) Escritorio
  • 21. Appcelerator Titanium  Programas usando un DSL javascript que se compila a componentes nativos casi al 100%  El usuario verá una app nativa, no notará que es Titanium  Lo que no se compila a nativo, se ejecuta por un intérprete en tiempo de ejecución para permitir mecanismos dinámicos  El DSL define un framework MVC para crear aplicaciones basado en eventos y ventanas.
  • 23. Adobe Air  Tecnología para crear aplicaciones usando ActionScript puro o con el framework Adobe Flex.
  • 24. Adobe Air IDE Precio Lenguaje Flash CS5 Desde USD$699 ActionScript Flash Builder MXML
  • 26. Adobe Air Performance Documentaci Curva de Componentes Plataformas ón aprendizaje soportadas Bueno con Buena Media Buena iOS ActionScript cantidad Android * Malo con Flex Escritorio  * Sólo funciona en el 10% de los smartphones con Android y en las Tablets con HoneyComb
  • 27. Adobe Air  Para crear controles (botones, diálogos, etc) puedes hacerlo a mano usando ActionScript o Flex.  Los controles Flex se ven diferentes a los nativos, así que el usuario notará la diferencia  A pesar de que soporta ActionScript no soporta varias características de Flash, por lo que no se puede pasar una app Flash a móvil de forma transparente
  • 28. Conclusiones  Usa Aplicación nativa si te interesa mucho el rendimiento y quieres usar funciones que ningún framework soporta como OpenGL.  Si tienes expertise con javascript, phonegap te permitirá una productividad instantánea a costo de un bajo performance.  Si necesitas que tu app funcione en BlackBerry, sólo phonegap te lo garantiza.
  • 29. Conclusiones  Lo mejor de Titanium es que utiliza controles nativos, pero su DSL es un problema: es poco flexible si te quieres salir de los estándares que maneja.  Adobe Air tiene un ecosistema impresionante. Su IDE te permite hacer debug, simulaciones, construir interfaces con drag & drop; existen varias herramientas de análisis de código, de testing, etc.  Tiene dos desventajas: los controles se nota que no son nativos y el performance en smartphones es todavía lento (en tablets es muy bueno)
  • 30. Conclusiones  Si tienes expertise en Adobe Flex, puedes ser muy productivo desde el inicio.
  • 31. Gracias  Código http://github.com/tidyslice  Contacto info@tidyslice.com  Próximo Sábado : charla CocoaHeads México - telmexHub