El mundo de la programación y el desarrollo es un campo en constante evolución al que se van incorporando nuevas tecnologías o metodologías a fin de simplificar la tarea de creación de software de cualquier tipo.

Hoy, al igual que hicimos con Meteor, descubrimos Ionic Framework, un marco de desarrollo que junto con AngularJS nos facilitará sobremanera la tarea de creación de aplicaciones , que parece ser el campo en el que se especializa esta herramienta.

Desarrollado sobre AngularJS y lanzada su primera beta en el 2013, Ionic utiliza su base para proporcionarnos la estructura de aplicación mínima sobra la que poder comenzar a trabajar , mientras que Ionic en sí nos ofrecerá facilidades en el desarrollo de la interfaz de usuario. Con esta dupla, AngularJS con su versatilidad y potencia para la creación de aplicaciones e Ionic Framework para el desarrollo de la interfaz , obtenemos una herramienta de creación de aplicaciones completísima, con la que ahorraremos tiempo y trabajo en el desarrollo de cada proyecto.

Ionic proporciona un conjunto de directivas desde Angular (como elementos HTML personalizados) que podrán ser usados por sus propios módulos, por lo que construir una app será prácticamente como incorporar un “widget” al código , como si de líneas de código se tratase.

Otras características que incorpora Ionic Framework para el desarrollo de aplicaciones son el reconocimiento táctil, lógica de animación de interfaces, verificador HTML o comunicación asíncrona .

Además y para facilitar la usabilidad de la herramienta, aunque Ionic puede comenzar a ser usado justo tras descomprimir sus librerías en nuestro sistema, podremos añadirle una interfaz o CLI basada en Node.JS

De momento AngularJS es la base de Ionic Framework, pero según sus desarrolladores, no descartan incorporar o versionar este framework sobre otros cimientos para abarcar más público y sectores a alcanzar . En algunas de sus entrevistas han mencionado algunos como KnockOut o EmberJS, pero de momento mantienen AngularJS como base estable, como decía antes, por su estabilidad, rapidez y potencia.

Veamos algunas de sus características más importantes:

Patrón MVC y MVVM

En sus inicios AngularJS basaba su estructura en MVC (Model View Controller), pero con el paso de los años se ha orientado más hacia MVVM (Model View ViewModel) obteniendo mejores resultados en la previsualización de un proyecto sin necesidad de recargar el proceso una y otra vez, ya que está directamente vinculado a la capa de visualización en lugar de referenciar los componentes.

Imperando hoy día entonces, el modelo MVVM, se separará eficientemente la presentación de la información (lógica de interfaz) de la efectividad del programa en sí mismo. Asimismo, esta flexibilidad otorga a los desarrolladores tiempos de producción más cortos y eficientes , aunque por supuesto, se podrá usar el modelo que más convenga en cada proyecto y según cada programador ;)

Sistema de Clases

Ni AngularJS ni Ionic son marcos de desarrollo orientado a objetos JavaScript , por lo tanto no harán uso de un sistema de clases. Esta característica puede estar tanto en el lado de los pros como en el de los contras para la valoración de su implementación en un proyecto.

Control DOM

AngularJS incluye j qLite, una pequeña versión ultraligera de jQuery que permite la gestión de DOM (Document Object Model, Modelo de Objetos del Documento) de forma compatible en la inmensa mayoría de navegadores, dejando una pequeñísima huella en los mismos haciendo la app mucho más ligera y eficiente. Por supuesto, si con jqLite no tuviésemos suficiente, podremos implementar una funcionalidad extendida cargando jQuery con el documento, con la consecuente pérdida de velocidad.

Interfaz y Temas

Entramos en el campo fuerte de Ionic, donde destaca su simplicidad para con el desarrollo . De una forma similar (que no igual) a como hace Google con Android, Ionic procura hacer uso de las capacidades que ofrecen HTML5 y CSS3 para ofrecer experiencias de usuario sobretodo rápidas.

Como la interfaz de usuario que por defecto facilita Ionic es prácticamente HTML5 en su estado más puro , la personalización de ésta se realiza mediante SASS junto con las librerías propias que incorpora Ionic, con más de 450 iconos y símbolos de código abierto para su libre uso, además de otras utilidades con las que extender esta capacidad de personalización.

Widgets

Los componentes de Ionic son tremendamente simples. Se trata de elementos HTML personalizados que incorporan controladores para complementar configuración e interacción . A diferencia de otros framework donde podemos encontrar widgets más complejos, Ionic ofrece bloques de código más simples y orientados a que sean combinados para ofrecer una interfaz de usuario más rica, intuitiva y atractiva para el público receptor.

Responsive Design

Ionic por supuesto aprovecha los principios del diseño web Responsive para adaptar el contenido al tamaño de pantalla o densidad de píxeles ofrecidas por el destino, optimizando así los recursos empleados y prestándose a soportar prácticamente todos los dispositivos del mercado.

Soporte para PC’s

Ionic está destinado principalmente a crear aplicaciones para dispositivos móviles, como última instancia, dispositivos híbridos. En su desarrollo no se pensaba en cómo desarrollar o disponer información para equipos de sobremesa o portátiles. No obstante la información se mostrará igualmente, pero el rendimiento óptimo se obtiene cuando se ejecutan los proyectos creados en los dispositivos para los que está diseñado este Framework.

Plugins de Terceros

A día de hoy Ionic no soporta extensiones o plugins de terceros.

Empaquetado

Para realizar el empaquetado de nuestro proyecto o app, deberemos pasarlo por alguna aplicación destinada a dicho fin, puesto que Ionic no incluye de momento esta funcionalidad.

Comunidad

Al tratarse de un framework de desarrollo muy reciente, su comunidad aún no es equiparable a la de otros sistemas de desarrollo del mercado, no obstante, aquellos usuarios que la componen compensan su escaso número con un ímpetu de colaboración y resolución de incidencias sorprendente.

Aunque debido a la popularidad que está alcanzando este framework durante este 2016, el número de usuarios que aportan a la comunidad se ha incrementado más allá de lo que los propios desarrolladores esperaban para tan corto plazo de tiempo en el mercado.