SlideShare une entreprise Scribd logo
1  sur  42
Miércoles de Profundización en
                                     e-business
                                     Tema : Construyendo y publicando nuestra primera
                                     App multiplataforma.

                                     Conferencista: Carlos Alonso Pérez
                                     País: España




                                          Aula Virtual: http://www.interlat.co/moodle/
www.interlat.co – info@interlat.co - http://www.facebook.com/interlat - www.twitter.com/interlat - PBX: 57(1) 658 2959 - Bogotá - Colombia
Índice de la presentación



• Planeando nuestra aplicación
• Construcción
• Publicación
• Conclusiones
Planeando nuestra aplicación


• Objetivos
• Problemas
• Soluciones
• Viabilidad
• Decisión final
Objetivo: Triunfar
¿Qué hace falta para triunfar?




                                 Y ...
Llegar a todos los públicos
Problema: La fragmentación
Fragmentación: Sistemas Operativos.
Fragmentación: Tamaño de pantalla.
Fragmentación: Método de entrada.
Fragmentación: Hardware.
Fragmentación: Errores software.
Fragmentación: Conclusión


    Equilibrio
Capacidades utilizadas
          vs

 Clientes Potenciales
Solución: Una única aplicación multiplataforma.
Estudio de la solución: Tecnologías disponibles
HTML 5. Potencia y capacidades para tu browser

Etiquetas semánticas      Multimedia y Gráficos          Comunicaciones en
     <nav> <section>            canvas 2D y 3D              tiempo real
 <header> <figure>               audio y vídeo              Notificaciones
 <footer> <article>        gráficos vectoriales (SVG)        WebSockets
         <menu>                                             Web workers

 Acceso Hardware         Funcionamiento offline
                                                        Almacenamiento local
 Filesystem   Sensores
Javascript. El lenguaje de programación de la web.

                          Object
           isFunction                              Clases y objetos

                                   prototype
  typeof
                        eval                    instanceof


    new Function()
                                     Object.isPrototypeOf()
CSS 3. Experiencia de usuario de última generación

        Selectores              Efectos en textos
                                                          Animaciones
Tipografías personalizadas    Esquinas redondeadas
                                                        Transformaciones
  Semi Transparencias        Organización en columnas
                                                           Gradientes
        Sombras               Colores personalizados
jQuery Mobile. Desarrollo móvil rápido y sencillo

    Javascript no intrusivo              Máxima compatibilidad


    Plugins            ‘write less, do more’    Ampliamente usado


              Muy ligero                 Documentación
Viabilidad técnica

           SI                         NO
• Geolocalización (GPS)     • Otros sensores
• Reproducción multimedia   • Cámara
• Sensores de movimiento    • Notificaciones
• Almacenar datos locales   • Web GL
• Acceso offline            • Alto rendimiento
           http://mobilehtml5.org/
Decisión final
Construyendo nuestra aplicación multiplataforma


• Primeros pasos
• Componentes UI
• Capacidades HTML 5
• Diseño personalizado
• Demos
Primeros pasos. El documento

    <!DOCTYPE html>
    <html>
        <head>
    <meta charset="utf-8" />
                   <title>HTML 5 Demo</title>
                   <!-- CSS -->
                   <link rel="stylesheet"
                href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
                   <!-- jQuery Core -->
                   <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
                   <!-- jQuery Mobile -->
                   <script type="text/javascript"
                src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js">
            </script>
        </head>
        <body>
        </body>
    </html>
Primeros pasos. El viewport


<head>
....
    <meta name=”viewport”
        content=”width=device-width, initial-scale=1”>
</head>




<!-- Sin Zoom -->
<meta .... user-scalable=no”>
Primeros pasos. Estructura de la aplicación


                <body>
                    <div data-role="page">
                               <div data-role="header">
                                   <h1>Header</h1>
                               </div>
                               <div data-
                role="content">
                                   <p>Content</p>
                               </div>
                               <div data-role="footer"
                            data-position="fixed">
                                   <h4>Footer</h4>
                               </div>
                    </div>
                </body>
Componentes UI
Componentes UI.
Componentes UI
Componentes UI
Componentes UI. Menu y Toolbar

<div data-role="content">
  <ul data-role="listview">
    <li><a href="#geolocation">Geolocation API</a></li>
    <li><a href="#canvas">Canvas</a></li>
    <li><a href="#storage">Offline Storage</a></li>
  </ul>
</div>




 <div data-role="footer" data-position="fixed">
   <div data-role="navbar">     <ul>     <li><a
 href="#main-menu">Home</a></li>      <li><a
 href="#geolocation">GPS</a></li>      <li><a
 href="#canvas">Canvas</a></li>      <li><a
 href="#storage">Storage</a></li>    </ul> </div>
 </div>
Capacidades HTML5. Geolocalización
<script type="text/javascript">
  $('#geolocation').live('pageinit', function(){
   navigator.geolocation.getCurrentPosition (function(pos) {
      var lat = pos.coords.latitude;
      var lng = pos.coords.longitude;
      ... Lógica de invocación del mapa Google ...
</script>




<div data-role="page" id="geolocation" data-add-back-btn="true">
  ... Header ...   <div data-role="content">   <p>Wait for the map...</p>
</div>
  ... Footer ...</div>
Capacidades HTML5. Canvas

var context = $('#theCanvas')
[0].getContext('2d');context.beginPath();context.rect(20, 20, 200, 100);
context.fillStyle = context.createLinearGradient(20, 20, 220,
120);context.fill();




<div data-role="page" id="canvas" data-add-back-btn="true">
  ... Header ...   <div data-role="content">   <canvas
id=”theCanvas”></canvas>   </div>
  ... Footer ...</div>
Capacidades HTML5. Almacenamiento de datos

var $input = $('#item');
var arr = localStorage.items ? JSON.parse(localStorage.items) :
[];arr.push($input.val());localStorage.items = JSON.stringify(arr);
... Lógica jQuery para refrescar la lista ...




<div data-role="page" id="storage" data-add-back-btn="true">
  ... Header ...   <input type="text" id="item" placeholder="Add Item..."
value=""/>   <input type="button" id="add_btn" value="Add Item" data-
icon="plus"/>   <ol data-role="listview" data-inset="true"></ol>
  ... Footer ...</div>
Diseño personalizado.


• CSS
• jQuery Theme Roller
• Fireworks Theme editor
<head>
...
<link rel="stylesheet"
 href="css/custom_css.min.css" />
...
</head>
Demos
Publicando nuestra aplicación multiplataforma




• Como aplicación nativa
• Como aplicación híbrida
• Como aplicación web
Como aplicación nativa




                         ...   ...
Como aplicación híbrida




                          ...   ...
Como aplicación web. Instalación

<head>

...

<link rel="apple-touch-icon" href="icons/icon57.png" sizes="57x57">
<link rel="apple-touch-icon" href="icons/icon114.png" sizes="114x114">
<link rel="apple-touch-icon" href="icons/icon72.png" sizes="72x72">
<link rel="apple-touch-icon" href="icons/icon80.png" sizes="80x80" >
<link rel="apple-touch-icon-precomposed" href="icons/icon57.png" sizes="android-only">

...

</head>
Como aplicación web. Funcionamiento offline


 CACHE MANIFEST:
 # version 1.0

 # Archivos jQuery
 http://code.jquery.com/jquery-1.6.1.min.js
                                                               <html manifest="offline.appcache">
 http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css
 http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js    ...
 ...

 # Archivos de la aplicación
                                                               </html>
 icons/*

 NETWORK:
 # Archivos que no se deben cachear
Conclusión




        Buena solución, pero no definitiva.
Carlos Alonso Pérez
                                                     Senior Developer - Unkasoft
                                                     calonso@unkasoft.com
                                                     Twitter: @calonso
                                                     http://www.linkedin.com/in/calonsoperez


                                                                                                           Gracias!
                                          Aula Virtual: http://www.interlat.co/moodle/
www.interlat.co – info@interlat.co - http://www.facebook.com/interlat - www.twitter.com/interlat - PBX: 57(1) 658 2959 - Bogotá - Colombia

Contenu connexe

En vedette (7)

Apresentação1
Apresentação1Apresentação1
Apresentação1
 
7º ano avestruz
7º ano avestruz7º ano avestruz
7º ano avestruz
 
Tengo el orgullo de ser peruano
Tengo el orgullo de ser peruanoTengo el orgullo de ser peruano
Tengo el orgullo de ser peruano
 
Circunferencia y círculo
Circunferencia y círculoCircunferencia y círculo
Circunferencia y círculo
 
mi vida por gladis navarrete
mi vida por gladis navarretemi vida por gladis navarrete
mi vida por gladis navarrete
 
Yerdelis programacion
Yerdelis programacionYerdelis programacion
Yerdelis programacion
 
La semilla de mostaza
La semilla de mostazaLa semilla de mostaza
La semilla de mostaza
 

Similaire à Webinar interlat apps_2012_carlos_a-perez_españa

Construyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataformaConstruyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataformaCarlos Alonso Pérez
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móvilesPideCurso
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5Cycle-IT
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbasPeter Concha
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbasAvanet
 
JQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil LambertJQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil LambertYamil Lambert
 
Innovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de MozillaInnovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de MozillaJuan Eladio Sánchez Rosas
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignJuan Morales
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPHP Vigo
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialRoberto Luis Bisbé
 
Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript philogb
 

Similaire à Webinar interlat apps_2012_carlos_a-perez_españa (20)

Construyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataformaConstruyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataforma
 
Phonegap
PhonegapPhonegap
Phonegap
 
Html5
Html5Html5
Html5
 
HTML5, CSS3 y móviles
HTML5, CSS3 y móvilesHTML5, CSS3 y móviles
HTML5, CSS3 y móviles
 
Mini curse
Mini curseMini curse
Mini curse
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
Html5 y otras yerbas
Html5 y otras yerbasHtml5 y otras yerbas
Html5 y otras yerbas
 
JQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil LambertJQquery Mobile por Yamil Lambert
JQquery Mobile por Yamil Lambert
 
Innovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de MozillaInnovaciones para Internet: La visión de Mozilla
Innovaciones para Internet: La visión de Mozilla
 
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
(25.03) RUN 09 - Sesiones Desarrollo - SI 2.0
 
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Responsive Design
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
HTML5-Aplicaciones web
HTML5-Aplicaciones webHTML5-Aplicaciones web
HTML5-Aplicaciones web
 
Primeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigoPrimeros pasos Symfony PHPVigo
Primeros pasos Symfony PHPVigo
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red social
 
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScriptFull-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
 
Herramientas Digitales
Herramientas DigitalesHerramientas Digitales
Herramientas Digitales
 
Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript Nuevas herramientas de visualizacion en JavaScript
Nuevas herramientas de visualizacion en JavaScript
 

Plus de Community Managers Latam

Campaña Integral en redes Sociales caso caracol
Campaña Integral en redes Sociales caso caracolCampaña Integral en redes Sociales caso caracol
Campaña Integral en redes Sociales caso caracolCommunity Managers Latam
 
programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012
programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012
programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012Community Managers Latam
 
Casos de éxito en el Social Media con Pablo DI Meglio
Casos de éxito en el Social Media con Pablo DI MeglioCasos de éxito en el Social Media con Pablo DI Meglio
Casos de éxito en el Social Media con Pablo DI MeglioCommunity Managers Latam
 
#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...
#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...
#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...Community Managers Latam
 
#WebinarInterlat: Elección de plataformas para desarrollo de una app
#WebinarInterlat: Elección de plataformas para desarrollo de una app#WebinarInterlat: Elección de plataformas para desarrollo de una app
#WebinarInterlat: Elección de plataformas para desarrollo de una appCommunity Managers Latam
 
Presentación congreso Community Manager de CMLatam 2012
Presentación congreso Community Manager de CMLatam 2012Presentación congreso Community Manager de CMLatam 2012
Presentación congreso Community Manager de CMLatam 2012Community Managers Latam
 

Plus de Community Managers Latam (16)

Premios Social Media con los finalistas
Premios Social Media con los finalistasPremios Social Media con los finalistas
Premios Social Media con los finalistas
 
Campaña en Twitter caso Fanta
Campaña en Twitter caso FantaCampaña en Twitter caso Fanta
Campaña en Twitter caso Fanta
 
Twitter caso directvsports
Twitter caso directvsportsTwitter caso directvsports
Twitter caso directvsports
 
Twitter caso chevrolet
Twitter caso chevroletTwitter caso chevrolet
Twitter caso chevrolet
 
Mobile caso cinepolis
Mobile caso cinepolisMobile caso cinepolis
Mobile caso cinepolis
 
Campaña Integral en redes Sociales caso caracol
Campaña Integral en redes Sociales caso caracolCampaña Integral en redes Sociales caso caracol
Campaña Integral en redes Sociales caso caracol
 
Facebook caso pizzaninja
Facebook caso pizzaninjaFacebook caso pizzaninja
Facebook caso pizzaninja
 
Facebook caso Colpatria
Facebook caso ColpatriaFacebook caso Colpatria
Facebook caso Colpatria
 
Atencion clientes casoopenenglish
Atencion clientes casoopenenglishAtencion clientes casoopenenglish
Atencion clientes casoopenenglish
 
Atencion clientes caso masmovil
Atencion clientes caso masmovilAtencion clientes caso masmovil
Atencion clientes caso masmovil
 
programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012
programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012
programacion academica diplomatura desarrollo aplicaciones moviles-virtual 2012
 
Casos de éxito en el Social Media con Pablo DI Meglio
Casos de éxito en el Social Media con Pablo DI MeglioCasos de éxito en el Social Media con Pablo DI Meglio
Casos de éxito en el Social Media con Pablo DI Meglio
 
congreso community managers Social Media
congreso community managers Social Media congreso community managers Social Media
congreso community managers Social Media
 
#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...
#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...
#WebinarsInterlat: ¿Qué hacer antes de iniciar a programar tu idea de app? co...
 
#WebinarInterlat: Elección de plataformas para desarrollo de una app
#WebinarInterlat: Elección de plataformas para desarrollo de una app#WebinarInterlat: Elección de plataformas para desarrollo de una app
#WebinarInterlat: Elección de plataformas para desarrollo de una app
 
Presentación congreso Community Manager de CMLatam 2012
Presentación congreso Community Manager de CMLatam 2012Presentación congreso Community Manager de CMLatam 2012
Presentación congreso Community Manager de CMLatam 2012
 

Dernier

Analisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la RentaAnalisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la Rentamarbin6
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...MIGUELANGELLEGUIAGUZ
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfaldonaim115
 
liderazgo guia.pdf.............................
liderazgo guia.pdf.............................liderazgo guia.pdf.............................
liderazgo guia.pdf.............................MIGUELANGELLEGUIAGUZ
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxmarlonrea6
 
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptxHIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptxTecvalSAS2
 
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedadesLas sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedadesPatrickSteve4
 
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxsenati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxnathalypaolaacostasu
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...BaleriaMaldonado1
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREdianayarelii17
 
Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoPsicoterapia Holística
 
mapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdfmapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdfAndresSebastianTamay
 
2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptxRicardo113759
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesElizabeth152261
 
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(HelenDanielaGuaruaBo
 
EL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialesEL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialeszaidylisbethnarvaezm
 
Distribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestreDistribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestreAndresUseda3
 
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfComparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfAJYSCORP
 
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfCONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfTeresa Rc
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industralmaria diaz
 

Dernier (20)

Analisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la RentaAnalisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la Renta
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdf
 
liderazgo guia.pdf.............................
liderazgo guia.pdf.............................liderazgo guia.pdf.............................
liderazgo guia.pdf.............................
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptxHIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
HIGIENE_POSTURAL-_MANEJO_DE_CARGA1compr.pptx
 
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedadesLas sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
Las sociedades anónimas en el Perú , de acuerdo a la Ley general de sociedades
 
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptxsenati-powerpoint_5TOS-_ALUMNOS (1).pptx
senati-powerpoint_5TOS-_ALUMNOS (1).pptx
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
 
Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercado
 
mapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdfmapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdf
 
2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
Caja nacional de salud 0&!(&:(_5+:;?)8-!!(
 
EL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de socialesEL REFERENDO para una exposición de sociales
EL REFERENDO para una exposición de sociales
 
Distribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestreDistribuciones de frecuencia cuarto semestre
Distribuciones de frecuencia cuarto semestre
 
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdfComparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
Comparativo DS 024-2016-EM vs DS 023-2017-EM - 21.08.17 (1).pdf
 
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfCONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 

Webinar interlat apps_2012_carlos_a-perez_españa

  • 1. Miércoles de Profundización en e-business Tema : Construyendo y publicando nuestra primera App multiplataforma. Conferencista: Carlos Alonso Pérez País: España Aula Virtual: http://www.interlat.co/moodle/ www.interlat.co – info@interlat.co - http://www.facebook.com/interlat - www.twitter.com/interlat - PBX: 57(1) 658 2959 - Bogotá - Colombia
  • 2. Índice de la presentación • Planeando nuestra aplicación • Construcción • Publicación • Conclusiones
  • 3. Planeando nuestra aplicación • Objetivos • Problemas • Soluciones • Viabilidad • Decisión final
  • 5. ¿Qué hace falta para triunfar? Y ...
  • 6. Llegar a todos los públicos
  • 13. Fragmentación: Conclusión Equilibrio Capacidades utilizadas vs Clientes Potenciales
  • 14. Solución: Una única aplicación multiplataforma.
  • 15. Estudio de la solución: Tecnologías disponibles
  • 16. HTML 5. Potencia y capacidades para tu browser Etiquetas semánticas Multimedia y Gráficos Comunicaciones en <nav> <section> canvas 2D y 3D tiempo real <header> <figure> audio y vídeo Notificaciones <footer> <article> gráficos vectoriales (SVG) WebSockets <menu> Web workers Acceso Hardware Funcionamiento offline Almacenamiento local Filesystem Sensores
  • 17. Javascript. El lenguaje de programación de la web. Object isFunction Clases y objetos prototype typeof eval instanceof new Function() Object.isPrototypeOf()
  • 18. CSS 3. Experiencia de usuario de última generación Selectores Efectos en textos Animaciones Tipografías personalizadas Esquinas redondeadas Transformaciones Semi Transparencias Organización en columnas Gradientes Sombras Colores personalizados
  • 19. jQuery Mobile. Desarrollo móvil rápido y sencillo Javascript no intrusivo Máxima compatibilidad Plugins ‘write less, do more’ Ampliamente usado Muy ligero Documentación
  • 20. Viabilidad técnica SI NO • Geolocalización (GPS) • Otros sensores • Reproducción multimedia • Cámara • Sensores de movimiento • Notificaciones • Almacenar datos locales • Web GL • Acceso offline • Alto rendimiento http://mobilehtml5.org/
  • 22. Construyendo nuestra aplicación multiplataforma • Primeros pasos • Componentes UI • Capacidades HTML 5 • Diseño personalizado • Demos
  • 23. Primeros pasos. El documento <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>HTML 5 Demo</title> <!-- CSS --> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> <!-- jQuery Core --> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <!-- jQuery Mobile --> <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"> </script> </head> <body> </body> </html>
  • 24. Primeros pasos. El viewport <head> .... <meta name=”viewport” content=”width=device-width, initial-scale=1”> </head> <!-- Sin Zoom --> <meta .... user-scalable=no”>
  • 25. Primeros pasos. Estructura de la aplicación <body> <div data-role="page"> <div data-role="header"> <h1>Header</h1> </div> <div data- role="content"> <p>Content</p> </div> <div data-role="footer" data-position="fixed"> <h4>Footer</h4> </div> </div> </body>
  • 30. Componentes UI. Menu y Toolbar <div data-role="content"> <ul data-role="listview"> <li><a href="#geolocation">Geolocation API</a></li> <li><a href="#canvas">Canvas</a></li> <li><a href="#storage">Offline Storage</a></li> </ul> </div> <div data-role="footer" data-position="fixed"> <div data-role="navbar"> <ul> <li><a href="#main-menu">Home</a></li> <li><a href="#geolocation">GPS</a></li> <li><a href="#canvas">Canvas</a></li> <li><a href="#storage">Storage</a></li> </ul> </div> </div>
  • 31. Capacidades HTML5. Geolocalización <script type="text/javascript"> $('#geolocation').live('pageinit', function(){ navigator.geolocation.getCurrentPosition (function(pos) { var lat = pos.coords.latitude; var lng = pos.coords.longitude; ... Lógica de invocación del mapa Google ... </script> <div data-role="page" id="geolocation" data-add-back-btn="true"> ... Header ... <div data-role="content"> <p>Wait for the map...</p> </div> ... Footer ...</div>
  • 32. Capacidades HTML5. Canvas var context = $('#theCanvas') [0].getContext('2d');context.beginPath();context.rect(20, 20, 200, 100); context.fillStyle = context.createLinearGradient(20, 20, 220, 120);context.fill(); <div data-role="page" id="canvas" data-add-back-btn="true"> ... Header ... <div data-role="content"> <canvas id=”theCanvas”></canvas> </div> ... Footer ...</div>
  • 33. Capacidades HTML5. Almacenamiento de datos var $input = $('#item'); var arr = localStorage.items ? JSON.parse(localStorage.items) : [];arr.push($input.val());localStorage.items = JSON.stringify(arr); ... Lógica jQuery para refrescar la lista ... <div data-role="page" id="storage" data-add-back-btn="true"> ... Header ... <input type="text" id="item" placeholder="Add Item..." value=""/> <input type="button" id="add_btn" value="Add Item" data- icon="plus"/> <ol data-role="listview" data-inset="true"></ol> ... Footer ...</div>
  • 34. Diseño personalizado. • CSS • jQuery Theme Roller • Fireworks Theme editor <head> ... <link rel="stylesheet" href="css/custom_css.min.css" /> ... </head>
  • 35. Demos
  • 36. Publicando nuestra aplicación multiplataforma • Como aplicación nativa • Como aplicación híbrida • Como aplicación web
  • 39. Como aplicación web. Instalación <head> ... <link rel="apple-touch-icon" href="icons/icon57.png" sizes="57x57"> <link rel="apple-touch-icon" href="icons/icon114.png" sizes="114x114"> <link rel="apple-touch-icon" href="icons/icon72.png" sizes="72x72"> <link rel="apple-touch-icon" href="icons/icon80.png" sizes="80x80" > <link rel="apple-touch-icon-precomposed" href="icons/icon57.png" sizes="android-only"> ... </head>
  • 40. Como aplicación web. Funcionamiento offline CACHE MANIFEST: # version 1.0 # Archivos jQuery http://code.jquery.com/jquery-1.6.1.min.js <html manifest="offline.appcache"> http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js ... ... # Archivos de la aplicación </html> icons/* NETWORK: # Archivos que no se deben cachear
  • 41. Conclusión Buena solución, pero no definitiva.
  • 42. Carlos Alonso Pérez Senior Developer - Unkasoft calonso@unkasoft.com Twitter: @calonso http://www.linkedin.com/in/calonsoperez Gracias! Aula Virtual: http://www.interlat.co/moodle/ www.interlat.co – info@interlat.co - http://www.facebook.com/interlat - www.twitter.com/interlat - PBX: 57(1) 658 2959 - Bogotá - Colombia