Después de la primera entrada en el Blog he reflexionado bastante que incluir en esta siguiente y que no. He tomado la decisión de incluir las tecnologías que he usado, en vez de explicar el desarrollo de la aplicación que tuvimos que llevar a cabo para el proyecto de integración en la empresa. Con esto quiero decir que voy a explicar las tecnologías y el aprendizaje que me lleve de ellas.
Angular (Angular 2+)
Empecemos con Angular (Angular 2+) un framework que se presenta solo. AngularJS comenzó a ser desarrollado en 2009 por Miško Hevery originalmente era un servicio de almacenamiento online de archivos JSON donde el cobro dependía del peso en megabytes de cada archivo. Tiempo después abandonó el proyecto y re lanzó angular como un proyecto open-source.
Angular 2 fue anunciado en la ng-Europe conference 2014, causando un revuelo entre los desarrolladores ya que fue rediseñado por completo, trayendo bastantes mejoras.Ahora mismo ya vamos por la versión 6 de Angular.
Para usar Angular puedes utilizar cualquiera de los siguientes lenguajes de programación: TypeScript, Dart y JavaScript, el recomendado de Angular es TypeScript, un lenguaje de programación libre y de código abierto desarrollado y mantenido por Microsoft, considerado como un superconjunto de JavaScript, que esencialmente añade tipado estático y objetos basados en clases.
Para comenzar a usar Angular se requiere tener instalado NodeJS 4, npm 3 o superiores (npm se instala en conjunto a NodeJS) opcional mente necesitamos instalar Git (recomiendo hacerlo) y el editor de Texto Visual Studio Code(que recomiendo, el Atom peta demasiado).
Mis conclusiones sobre Angular, un framework muy potente, mejora el mantenimiento de un código para una web ya que la modularidad que se puede conseguir es algo sublime, si sublime, por que no encuentro otra palabra que lo describa mejor la verdad, cada componente,servicio,plantilla... por separado y con sus funcionalidades bien definidas si se es ordenado y se aplica un régimen de buenas practicas desde un principio , luego cualquier persona que vea tu aplicación sin explicarle absolutamente nada, la entenderá perfectamente.
Bueno en mi caso Ionic 2 ,por que no fuimos valientes y no actualizamos a Ionic 4.Pues que contar de Ionic, Es un framework que te ayuda ha realizar progresive web apps, Vamos desde un proyecto Angular con algunas etiquetas propias de ionic conseguir compilar una app para distintas plataformas ayudándose de Apache Cordova(lo hace casi todo Cordova),Y que hace Cordova, pues Cordova Genera una aplicación híbrida, a partir de una web, que es una aplicación híbrida, En Android por ejemplo es una aplicación que es un webview. Vamos una aplicación como si fuera el navegador de tu móvil, ¿Chachi no?. Pues si para los desarolladores esta muy bien, diseñas una aplicacion y luego ya la tienes en dos patadas en Android, IOS y Windows Phone, ademas como los móviles cada vez están teniendo mas RAM y mejor hardware, ¿Que mas da no?. El usuario final no se va a dar cuenta que es una pagina web, El usuario solo va ha hacer cosas de usuario.
Ionic es muy simple de usar e instalar solo necesitas lo mismo que para Angular, luego ya vendrán los problemas, pero tranquilo, tienen una comunidad increíblemente grande y va a ser muy fácil encontrar todo lo que necesitas.Una vez tengas tu App como la quieras pues solo tienes que compilar, para Android muy simple, y una vez configures todo lo que necesitas en el config.xml ya sacas Apps a punta pala, producción a tome siempre, incluso si tienes una App esqueleto como las que te dan Ionic solo te hará falta cambiar unas cuentas cosas y ya tienes una App en nada.
Vamos que para ahorrar tiempo, Ionic es lo mejor, pero trabajando un poco con el ya te das cuenta de algo sobre todo si lo pruebas en un teléfono que no sea de ultima generación.Es como cuando compras algo en el chino y notas que el platico no es de calidad, pues ya solo al entrar a la App te das cuenta con los tiempos de carga, no quiero meter mas cosas por que también fueron fallos mio al desarrollar, La primera vez siempre se caga algo, luego ya aprendes.
En conclusión Ionic es la bomba, pero para Apps que no sean muy complejas, ya si necesitas algo mas complejo , potente y que utilice muchos recursos nativos, lo siento pero Ionic no es tu solución, vas a perder el tiempo para que luego tu App sea un lastre a menos que uses un móvil con 12GB de RAM y una transferencia a almacenamiento interno buena.
Concluyendo, he aprendido un montón y la verdad que me gusto mucho la experiencia que he tenido en esta empresa, ademas me ha motivado bastante personalmente para empezar mis propios proyectos a nivel de desarrollo.