(Arrasate · 16 Mayo 2015)
Desarrolladores web (PHP + Javascript)
(Llevamos aguatándonos cerca de 10 años)
Consultora especializada en tecnologías open source.
En activo desde 2003.
Telefonía IP: Asterisk
Especialistas en sistemas Linux
Windows Phone
Cocos2D
Aplicaciones Híbridas:
Ganas/Necesidad de hacerlo
Un Wordpress con contenido
Node.js es un entorno de programación en la capa del servidor (pero no limitándose a ello) basado en el lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.
El "ordenador" tradicional está muriendo.
Internet es móvil, y cada vez más y más móvil.
Técnica para desarrollo de frontend web (CSS).
El objetivo del diseño responsive es adaptar la apariencia de una página web al dispositivo que se esté utilizando para visualizarlo.
El contenido se consume desde el navegador de tu dispositivo.
Una web App es una aplicación web (o página web), diseñada exclusivamente para un dispositivo móvil.
Generalmente, al acceder a una web desde un terminal móvil, se realizaría una redirección hacia la web app
El contenido se consume desde el navegador del dispositivo.
Aplicación descargada e instalada directamente en el dispositivo móvil.
(casi) Siempre se instala desde las tiendas de la plataforma: Apple Store, Google Play, etc.
Acceso completo al dispositivo.
Tipos de Aplicaciones móviles:
Las aplicaciones nativas son aplicaciones compiladas y escritas especificamente para cada plataforma.
Es la aplicación más óptima que puede ejecutar un terminal.
Es una aplicación que ejecuta en un contenedor web una webapp concreta.
El contenedor web (el webview), expone la capa física del móvil directamente a la webapp.
El core (la webapp), es completamente reutilizable entre distintas plataformas.
Apache Cordova: Plataforma que permite construir aplicaciones nativas utilizando tecnologías web (HTML5 + CSS + Javascript).
Disponible para las siguientes plataformas: iOS, Android, Blackberry, Windows Phone...
(Apache License)
Cordova Plugins: Piezas de software que exponen funcionalidad del dispositivo, en la webapp.
Actualmente hay listados 965 plugins en el [http://plugins.cordova.io/](repositorio oficial)
Funcionalidades típicas: GPS, cámara, capa de red, notificaciones PUSH, bluetooth...
(Licencia MIT)
Nativa | Híbrida | Web | |
---|---|---|---|
Lenguaje | Java / Swift / C# | HTML5 + CSS + JS | HTML5 + CSS + JS |
Interfaz de Usuario | Perfecto (10/10) | Casi Perfecto (8/10) | Algo "peor" (7/10) |
Rendimiento | Máximo (10/10) | Aceptable (7/10) | Mejorable (6/10) |
Nativa | Híbrida | Web | |
---|---|---|---|
Multiplataforma | Casi Nunca (3/10) | Casi Perfecto (8/10) | Perfecto (9/10) |
Acceso a hardware | Si (10/10) | Si (plugins) (8/10) | ¿navegador? |
Tiempo de desarrollo (€) | (n*plataforma) :( | 1 dev X n deploys:) | 1 desarrollo :) |
¿En las Stores? | SI | SI | NO |
No todo es móvil, aunque todos los contenidos tendrán que adaptarse a todos los dispositivos para llegar sin problemas a todos los usuarios.
Y como ya hemos comentado, un primer paso es nuestra web debe ser Responsive
Queremos que nuestros contenidos estén correctamente indexados en Google.
El 26 de febrero Google anunciaba a través de su Blog Oficial de Webmaster que las webs que no estén preparadas para móviles, el 21 de abril perderían posicionamiento con respecto a otras webs optimizadas.
(sólo en las búsquedas realizadas desde dispositivos móviles)
Hoy hemos venido aquí a hablar de WordPress.
Una gran cantidad de información en Internet está alojada en WordPress.
Y una gran cantidad de webs corporativas son posibles gracias a WordPress.
Tenemos el 23% de información en Internet que está:
ESTRUCTURADA
(Podemos consumirla de manera automatizada)
En cuanto a sistemas distribuidos, nos quedamos con REST
* SOAP, XML-RPC... están pasados de moda ;)
REST es un estilo de arquitectura para diseñar una API.
Son un conjunto de recomendaciones que tienen como objetivo hacer que la API sea lo más usable posible.
(Diseñar una API no difiere de diseñar una Interfaz de Usuario; debería ser coherente y fácil de usar).
(o por qué defender una implementación REST frente a soluciones RPC tradicionales)
Plugin que convierte wordpress en una API de publicación y administración de contenidos muy fácil de usar.
Enlace de descarga
Permite CREAR, MODIFICAR, ELIMINAR y CONSULTAR:
Existen planes de incluir wp-api en el core de Wordpress.
GET /wp-json/posts
HTTP/1.1 200 OK
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "POST, OPTIONS"
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Headers "Authorization, Origin, Content-Type, X-CSRF-Token"
No dejar esta configuración en producción
Yeoman es un generador de esqueletos para nuevos proyectos.
Requisitos previos: npm, git
Yeoman se instala por linea de comandos con npm.
$ npm install -g yo
Yeoman necesita de generadores para poder funcionar.
Así pues existen generadores para:
(1697 en yeoman.io/generators)
Cualquiera puede publicar un generador en npm.
Ionic se instala por linea de comando con npm.
$ npm install -g ionic
Comenzar un proyecto en blanco:
$ ionic start myapp blank
Simular un proyecto en modo debug:
$ ionic serve --lab
Cordova instala toda su suite desed línea de comando con npm.
$ npm install -g cordova
Recapitulemos:
El último paso es instalar generator-wpion
Instalamos el generador para yeoman:
$ npm install -g irontec/generator-wpion
Dentro de la carpeta donde queramos generar el proyecto, ejecutamos:
yo wpion
Contestamos a las preguntas:
Ionic-cli nos permite emular el comportamiento de iOS y Android en nuestro navegador:
ionic serve --lab
Mover todo el código a componentes reutilizables
Bower
Integración con el registro de usuarios
Hacer login y registros desde WP-ION
Registrar UUIDs de usuarios
Almacenar los UUIDs de los dispositivos de los usuarios para...
Notificaciones PUSH automáticamente desde WordPress
Queremos enviar notificaciones al usuario mediante notificaciones push.
Integración del plugin de notificaciones PUSH con plugins habituales de newsletter.
Javier Infante Porro <jabi@irontec.com>
@jabiinfante
Lander Ontoria Gardeazabal <lander@irontec.com>
@landerog
@irontec