Desarrollo de aplicaciones móviles
Introducción
Por Julián David Mora Ramos
Universidad de la Amazonia
JavaScript
JavaScript es un lenguaje:
- Interpretado: No se compila.
- Dinámico: Creación dinámica de objetos, propiedades...
- Sin tipado: No se definen tipos de objetos o variables.
- Estandarizado: Estándar ECMAScript.
JavaScript
JavaScript ya NO es solo un lenguaje:
- Que funciona solo en el navegador.
- Que sirve solo para animaciones web.
- Para diseñar interfaces bonitas.
JavaScript
JavaScript ahora permite crear:
- Servicios web, como Rest API, SOAP, Graphql...
- Aplicaciones móviles híbridas y nativas.
- Aplicaciones de escritorio.
- Aplicaciones de consola.
- Programar Arduino.
Graphql
type User {
id: String!
name: String
}
type AdminGroup {
gid: String!
users: [USer]
}
type Query {
user(id: String!): User
adminGroup(gid: String!): AdminGroup
}
Graphql Prueba
{
person(personID: 1) {
name
birthYear
homeworld {
name
}
filmConnection {
films {
title
}
}
}
}
{
"data": {
"person": {
"name": "Luke Skywalker",
"birthYear": "19BBY",
"homeworld": {
"name": "Tatooine"
},
"filmConnection": {
"films": [
{
"title": "A New Hope"
},
{
"title": "The Empire Strikes Back"
},
{
"title": "Return of the Jedi"
},
{
"title": "Revenge of the Sith"
}
]
}
}
}
}
NodeJS
Características
- Concurrencia
- V8
- Módulos
- Isomorfismo
¿Quienes usan NodeJS?
- Linkedin: Migraron 30 servidores a solo 3.
- Google: Gmail, Angular, Polymer, Chrome y más.
- Facebook: React, React Native, Instagram y más.
- Yahoo: Aplicaciones internas, Mojito Framework.
Typescript
Typescript & ES5
// Typescript
class Mensaje {
mensaje: string;
constructor (msg: string) {
this.mensaje = msg;
}
public saludar() {
return "Hola, " + this.mensaje;
}
}
// Javascript ES5
var Mensaje = (function () {
function Mensaje(msg) {
this.mensaje = msg;
}
Greeter.prototype.saludar = function () {
return "Hola, " + this.mensaje;
};
return Mensaje;
})();
Decoradores & Tipos
// Typescript
@Saludo
class Mensaje {
/* ... */
}
// C#
[Saludo]
public class Mensaje {
/* ... */
}
""" Python """
@saludo
def Mensaje (arg1, arg2)
""" ... """
Angular 2
Framework de desarrollo web
Características
- Tipos de datos
- Interfaces
- Programación orientada a objetos
- HTML Imports & Templates
- Alto rendimiento
- Integración con otras herramientas
- Soporte
- Polyfills
- TDD o Test-Driven Development (desarrollo dirigido por tests)
Arquitectura
Herramientas de Angular 2
- Animaciones
- Bootstrap
- Detección de cambios
- Enrutador (Router)
- Eventos
- Formularios
- Http
- Enganches al ciclo de vida
- Tuberías (pipes)
Ionic Framework
Desarrollo de aplicaciones móviles híbridas
Propuestas de desarrollo
Opciones
- Aplicación móvil para visualización de puntos de interés en un mapa. La información es capturada por un servicio web Rest API (Ya construido).
- Álbum de fotografías.
- Foro en tiempo real. Incluye la creación del backend (Base de datos y servicio web).
Referencias
- http://www.cantabriatic.com/node-js
- https://code.tutsplus.com/es/tutorials/what-is-javascript--cms-26177
- https://www.adictosaltrabajo.com/tutoriales/por-que-angular-2/
- https://www.paradigmadigital.com/dev/tdd-como-metodologia-de-diseno-de-software/
Desarrollo de aplicaciones móviles
By anlijudavid
Desarrollo de aplicaciones móviles
Taller de desarrollo de aplicaciones móviles híbridas con Ionic Framework, Angular 2
- 316