jueves, 29 de septiembre de 2016

Ionic 2 Release Candidate!

Ayer tuvimos una gran noticia, Ionic 2 release candidate ya está aquí y hay cambios muy fuertes en la estructura del proyecto, pero trae grandes beneficios que serán de los que hablaremos hoy!

google maps

Estructura de la App.

Ahora que angular ya está finalizado, ya hay una guia de como debería ser la estructura de aplicación de la forma más óptima, además algo muy bueno es que al momento de compilar la aplicación no lleva lo archivos de desarrollo dentro de la aplicación, solo lleva los archivos dentro del la carpeta www y ingora la carpeta src donde está todo nuestro código.

app

Ahead of Time Compiling

Este es un gran cambio pero mejora el performance de nuestras aplicaciones y en vez de compilar los templates en tiempo de ejecución, ahora los templates pueden ser pre-compilados y esto mejora el tiempo de arranque en la aplicación. El código compilado que crea se crea por AOT es código que funciona mucho más rápido y está altamente optimizado. Descubre más sobre Ahead of Time Compiling (AOT)

aot

Angular 2 Final (NgModule)

En este release está usando el release final de angular 2 y varios de los cambios que veremos ahora en ionic 2 es a favor del uso de @NgModule que permite declarar todas las dependencias en un solo lugar y no tener que hacerlo varias veces dentro de la aplicación.

Ahora todos las dependencias internas se declaran en el archivo src/app/app.module.ts en el array de declarations, aquí declaramos todas las pages, providers, componentes y pipes. Y no tenemos que incluir en las páginas los arrays de providers, directives o pipes, cada que que queramos usarlos.

Proceso de construcción.

Ahora ya no usan gulp como apoyo para correr tareas, han creado sus scripts propios con scripts basados en npm, lo cual minimiza el número de dependencias que trae ionic y hace más optimo el proceso de construcción de la aplicación.

Los puntos más importantes son:

  • Ionic 2 API finalized for 2.0.0 release
  • Angular 2.0.0 final!
  • ionViewCanEnter / ionViewCanLeave lifecycle events
  • Floating Action Button (FAB) lists
  • Ahead of Time (AoT) compiler ready
  • Components can now individually set a mode, which means an app can mix and match iOS / Material Design / Windows Platform modes if that’s desired
  • Typescript 2.0
  • @types support for third-party libraries
  • Move away from gulp (ionic-gulp-tasks) to npm scripts (ionic-app-scripts)
  • Use Rollup for bundling instead of browserify or webpack

Pasos para actulizar aquí

Nota: Hay muchas cosas que cambian pero con este release candidate el equipo de ionic nos promete que ya no habrá más cambios tan robustos al fin de acabo ya es la versión casi lista para producción, así que acogeremos estos cambios pronto y actualizaremos nuestros demos en las próximas semanas.


martes, 27 de septiembre de 2016

Angular 2 Final Release.

ionic

Hola a todos!!!

Posiblemente te enteraste que hace 2 semanas el equipo de Angular hizo un excelente anuncio. La versión final de Angular 2 fue liberada.

¿Que significa esto?

Esta es una versión lista para producción y estable. Probada a través de un amplio rango de casos de uso, y un framework que ha sido optimizado para aumentar la productividad de desarrollo.

Puedes observar el post oficial aqui

¿Que significa esto para Ionic 2?

Esto significa que vamos a tener una versión final de Ionic 2 pronto. Lo cual nos va a otorgar estabilidad y rendimiento en nuestras apps con Ionic 2. Ademas, de no recibir Breaking Changes sorpresa :)


martes, 20 de septiembre de 2016

Construye un app de Fotos

Ion book ahora tiene una nueva sección llamada publicaciones, serán completos e-books con una guía paso a paso para desarrollar aplicaciones desde cero hasta niveles más avanzados. Esta primer publicación se trata de realizar IonGram un App de fotos con Ionic 1, este es tu punto de partida.

publicaciones

La publicación tiene como objetivo que tu logres:

  • Hacer código escalable y mantenible.
  • Personalizar la Interfaz gráfica con SASS.
  • Manejar mapas con Google Maps.
  • Implementar uso nativo de la cámara.
  • Crear funcionalidades entre controlador y template.

Resultado:

iongram

Si quieres esta publicación solo ve a publicaciones y descargala.

Pronto lanzaremos más publicaciones sobre Ionic 1 y Ionic 2.


¿Introducción a TypeScript?

miércoles, 7 de septiembre de 2016

Tus datos offline con PouchDB

Dar soporte offline a los datos mejora el performance y la UX en la aplicación, vivimos en un mundo donde algunas conexiones son lentas o consumir datos a todo momento puede consumir la bateria rapidamente, todo esto hace parte de todo un concepto llamado Offline First.

pouchdb

Los algoritmos de sincronización pueden llegar a ser algo complejos, sobre todo cuando tenemos varios usuarios compartiendo recursos y queremos que exista un soporte offline.

Aquí es donde entra un grandiosa librería llamada PouchDB, podemos ver su definición:

PouchDB was created to help web developers build applications that work as well offline as they do online.

Y es una librería perfecta para construir aplicaciones con soporte offline, con muchos usuarios compartiendo el mismo recurso y además realtime.

PouchDB es increíble!!! (poner estrellita en el repositorio en github).

¿Por qué mejora el performance?

La mayoría de aplicaciones móviles de conecta a los datos con una REST API, esto hace que cada vez que queramos crear, editar, leer y eliminar alguna información necesitamos estar haciendo peticiones constantes a nuestro Backend y eso está bien pero si ya tenemos la base de datos en local podremos responder mucho más rápido a los usuarios ya que los datos ya están en el dispositivo y solo si hay algún cambio PouchDB lo sincronizará.

¿Por qué mejora mi UX?

En nuestro mundo actual aún no hemos cubierto la totalidad de acceso a internet y ademas las baterias de los dispositivos se gastan rápidamente al tener los datos del dispositivo siempre conectado, así que si tus datos pueden ser consultados, creados, eliminador y editados sin conexión a internet y luego cuando tenga conexión lo sincroniza automáticamente podremos brindar una mejor experiencia a los usuarios de la aplicación

¿Cómo funciona?

Automáticamente cuando a PouchDB le damos las credenciales de acceso el genera un canal con la base de datos en la nube y otro con los datos locales para poder hacer la sincronización y usa técnicas como IndexDB y WebSql para guardar los datos en local y luego si hay algún cambio los sincroniza desde la base de datos local a la remota o viceversa.

Para tomar en cuenta:

Hay ciertas limitaciones y una es que para lograr esta magia, gran parte de debe a que la base de datos es NOSQL, es decir que los datos que queramos sincronizar deben estar en una base de datos NOSQL.

Tiene una gran integración con bases de datos de CouchDB, Couchbase y Couchbase Mobile y algunas que sean compatibles o solo si no te quieres preocupar por arquitectura en tu servidor puedes usar el servicio en la nube IBM Cloudant donde pueden crear la base de datos tipo CouchDB y luego sincronizar todos los datos de la aplicación con PouchDB.