SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Presentadopor:
IsaacGonzález
Programaciónmóvil
parasuperhéroes
• Ionic Framework
• Angular
• Javascript
• HTML5
• CSS3
• API REST de Marvel
• Plataforma para el desarrollo de
aplicaciones móviles con HTML5
• Cordova para compilar aplicaciones
• Vistas con AngularJS Optimizado
Module
• Es un contendor para las diferentes partes de la aplicación
(Controladores, servicios, filtros, etc..)
Service
• Es donde se encuentra lógica de negocios independiente de
la vista
Controller
• Es donde se encuentra la lógica de negocios de la vista.
Scope
• Es un objeto que hace referencia al modelo de la aplicación
Directives
• Extensiones para HTML personalizadas (ng-repeat, ng-model y
ng-click)
<ion-list>
<ion-item ng-repeat="superheroe in superheroes"
href="#/app/superheroe/{{superheroe.id}}">
<div class="list card">
<div class="item ">
<h2>{{superheroe.name}}</h2>
</div>
<div class="item item-image">
<img src="{{superheroe.thumbnail.path + '.'+
superheroe.thumbnail.extension}}">
</div>
</div>
</ion-item>
</ion-list>
• Angular-
https://www.codeschool.com/courses/shapi
ng-up-with-angular-js
• Ionic Playground - http://play.ionic.io/
1. No se cuenta con un ambiente de
desarrollo en Android o iOS
configurado
2. Configuración del ambiente
1. NodeJS
2. NPM
3. Android/iOS
4. Cordova
3. Permisos Android
4. jQuery Offline
5. Run con Android Studio
HTTP [GET] JSON
• API REST JSON
• API – Interfaz de Programación de Aplicaciones
• REST - Transferencia de Estado Representacional
• JSON – Notación para Objetos de JavaScript
• Información acerca de
• Personajes
• Comics
• Creadores
• Eventos
• Series
• Historias
this.getTopTenCharacters = function() {
var data = {
ts: apiMarvelConfigService.marvelTimeStamp,
apikey: apiMarvelConfigService.marvelPublicKey,
hash: apiMarvelConfigService.marvelHash,
limit: "10",
orderBy: "-modified"
};
var params = "?" + $.param(data); // jQuery
return ($http.get(apiMarvelConfigService.marvelUrlAPI +
'/characters' + params).then(handleSuccess, handleError));
};
marvelApp.controller(‘SuperheroesCtrl', [
'$scope', '$http', '$log', 'apiMarvelCharactersService',
function($scope, $http, $log, apiMarvelCharactersService) {
$scope.superheroes = [];
$scope.refreshTopTenSuperHeroes = function() {
apiMarvelCharactersService.getTopTenCharacters()
.then(function(superheroes) {
$scope.superheroes = superheroes;
});
}
$scope.refreshTopTenSuperHeroes();
}]);
<ion-list>
<ion-item ng-repeat="superheroe in superheroes"
href="#/app/superheroe/{{superheroe.id}}">
<div class="list card">
<div class="item ">
<h2>{{superheroe.name}}</h2>
</div>
<div class="item item-image">
<img src="{{superheroe.thumbnail.path + '.'+
superheroe.thumbnail.extension}}">
</div>
</div>
</ion-item>
</ion-list>
• Documentación no clara
• Timestamp - Date.now();
• Hash - md5(timestamp + private_key + public_key);
• Envío de parámetros
var data = {…};
var params = "?" + $.param(data);
• Información incompleta
• Filtrado de información
• Ionic es de gran valor para aplicaciones ligeras y
rápidas de utilizar
• Rápido (y más barato) de desarrollar
• Curva de aprendizaje media
• Falta madurar
• Documentación
• Ejemplos en línea
• Muestra gran promesa
Isaac González
@isaacagh
http://inercy.com
André Peregrina
@andreperegrina
http://certuit.com
@izack91
isaac_gonzalez@outlook.com
IsaacGonzález
Siguelaconversaciónycomentaenredessocialesconelhashtag
#SGVirtual

Más contenido relacionado

Similar a Programación móvil para superhéroes

Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
kaolong
 

Similar a Programación móvil para superhéroes (20)

HTML 5 & WebGL (Spanish Version)
HTML 5 & WebGL (Spanish Version)HTML 5 & WebGL (Spanish Version)
HTML 5 & WebGL (Spanish Version)
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de Platzi
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
 
Escribiendo funciones con Azure Functions
Escribiendo funciones con Azure FunctionsEscribiendo funciones con Azure Functions
Escribiendo funciones con Azure Functions
 
Curso de HTML5
Curso de HTML5Curso de HTML5
Curso de HTML5
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
J query
J queryJ query
J query
 
Cursos web
Cursos webCursos web
Cursos web
 
Ajax
AjaxAjax
Ajax
 
Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJS
 
Aplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva WebAplicaciones en HTML 5: Los pilares de una Nueva Web
Aplicaciones en HTML 5: Los pilares de una Nueva Web
 
Angular js
Angular jsAngular js
Angular js
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Unidad 3 AJAX
Unidad 3 AJAX Unidad 3 AJAX
Unidad 3 AJAX
 
Unidad3ajax
Unidad3ajaxUnidad3ajax
Unidad3ajax
 
Lecciones aprendidas creando una red social
Lecciones aprendidas creando una red socialLecciones aprendidas creando una red social
Lecciones aprendidas creando una red social
 
Paginas web diseño donamico.pptx
Paginas web diseño donamico.pptxPaginas web diseño donamico.pptx
Paginas web diseño donamico.pptx
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
 

Más de Software 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

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Programación móvil para superhéroes

  • 2.
  • 3. • Ionic Framework • Angular • Javascript • HTML5 • CSS3 • API REST de Marvel
  • 4.
  • 5. • Plataforma para el desarrollo de aplicaciones móviles con HTML5 • Cordova para compilar aplicaciones • Vistas con AngularJS Optimizado
  • 6. Module • Es un contendor para las diferentes partes de la aplicación (Controladores, servicios, filtros, etc..) Service • Es donde se encuentra lógica de negocios independiente de la vista Controller • Es donde se encuentra la lógica de negocios de la vista. Scope • Es un objeto que hace referencia al modelo de la aplicación Directives • Extensiones para HTML personalizadas (ng-repeat, ng-model y ng-click)
  • 7. <ion-list> <ion-item ng-repeat="superheroe in superheroes" href="#/app/superheroe/{{superheroe.id}}"> <div class="list card"> <div class="item "> <h2>{{superheroe.name}}</h2> </div> <div class="item item-image"> <img src="{{superheroe.thumbnail.path + '.'+ superheroe.thumbnail.extension}}"> </div> </div> </ion-item> </ion-list>
  • 9. 1. No se cuenta con un ambiente de desarrollo en Android o iOS configurado 2. Configuración del ambiente 1. NodeJS 2. NPM 3. Android/iOS 4. Cordova 3. Permisos Android 4. jQuery Offline 5. Run con Android Studio
  • 11. • API REST JSON • API – Interfaz de Programación de Aplicaciones • REST - Transferencia de Estado Representacional • JSON – Notación para Objetos de JavaScript • Información acerca de • Personajes • Comics • Creadores • Eventos • Series • Historias
  • 12. this.getTopTenCharacters = function() { var data = { ts: apiMarvelConfigService.marvelTimeStamp, apikey: apiMarvelConfigService.marvelPublicKey, hash: apiMarvelConfigService.marvelHash, limit: "10", orderBy: "-modified" }; var params = "?" + $.param(data); // jQuery return ($http.get(apiMarvelConfigService.marvelUrlAPI + '/characters' + params).then(handleSuccess, handleError)); };
  • 13. marvelApp.controller(‘SuperheroesCtrl', [ '$scope', '$http', '$log', 'apiMarvelCharactersService', function($scope, $http, $log, apiMarvelCharactersService) { $scope.superheroes = []; $scope.refreshTopTenSuperHeroes = function() { apiMarvelCharactersService.getTopTenCharacters() .then(function(superheroes) { $scope.superheroes = superheroes; }); } $scope.refreshTopTenSuperHeroes(); }]);
  • 14. <ion-list> <ion-item ng-repeat="superheroe in superheroes" href="#/app/superheroe/{{superheroe.id}}"> <div class="list card"> <div class="item "> <h2>{{superheroe.name}}</h2> </div> <div class="item item-image"> <img src="{{superheroe.thumbnail.path + '.'+ superheroe.thumbnail.extension}}"> </div> </div> </ion-item> </ion-list>
  • 15. • Documentación no clara • Timestamp - Date.now(); • Hash - md5(timestamp + private_key + public_key); • Envío de parámetros var data = {…}; var params = "?" + $.param(data); • Información incompleta • Filtrado de información
  • 16. • Ionic es de gran valor para aplicaciones ligeras y rápidas de utilizar • Rápido (y más barato) de desarrollar • Curva de aprendizaje media • Falta madurar • Documentación • Ejemplos en línea • Muestra gran promesa