jueves, 24 de mayo de 2018

Atos parte 3

Como ya había explicado en la entrada anterior nos asignaron un proyecto formativo que consiste en hacer una aplicación móvil utilizando el framework de Angular, Ionic, también utilizamos como backend firebase, una de las partes de la aplicación que tenia que hacer eran las notificaciones para lo que utilizamos nuestro backend, utilizamos dos funcionalidades de firebase: Cloud functions y FCM(Firebase Cloud Messaging).


Firebase es la nueva y mejorada plataforma de desarrollo móvil en la nube de Google. Se trata de una plataforma disponible para diferentes plataformas (Android, iOS, web), con lo que de esta forma presentan una alternativa seria a otras opciones para ahorro de tiempo en el desarrollo.

FCM: es una solución cross-plataforma para enviar mensajes o notificaciones para Android, Ios y aplicaciones web que actualmente se puede utilizar sin ningún tipo de coste.


Cloud functions: Cloud Functions para Firebase te permite ejecutar de forma automática el código de backend en respuesta a eventos activados por las funciones de Firebase y las solicitudes HTTPS. Tu código se almacena en la nube de Google y se ejecuta en un entorno administrado. No necesitas administrar ni escalar tus propios servidores.


Atos parte 2

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.

miércoles, 23 de mayo de 2018

Conectatec, últimas semanas


Desde la última vez que escribí, he estamos haciendo más o menos lo mismo: configurar Wordpress, modificar alguna plantilla (utilizando Child Themes, para que en caso de que se actualice la plantilla, no se pierdan los cambios); añadir contenido a webs de clientes, modificar el diseño de alguna parte de las webs...

Últimos días

En estos últimos días he hecho algo bastante diferente, programar en PHP puro.
Un cliente quería añadir funcionalidades a una aplicación PHP existente. He tenido que analizar el código para poder entenderlo ya que lo realizó un programador ajeno a la empresa hace muchos años.

Lo primero que hice fue hacer una copia en local y versionar el proyecto en Git con la ayuda de GitKraken.



El servidor en producción usa PHP5.6 y queríamos actualizarlo a PHP7.0 por lo que instalé las dos versiones en mi servidor local. Fui comprobando los fallos que daba la web al usar PHP7.0 y corrigiéndolos uno a uno. La mayoría eran fallos porque las funciones estaban deprecated.

Después de comprobar que todo funcionaba como debía en PHP7.0 me puse a hacer todos los cambios solicitados por el cliente. Además, mejoré algunas cosas del código como el poder subir varias fotos a la vez en lugar de solo una. 

Al ser un código hecho a mano pro un tercero, tuve que revisar muchos archivos y comprobar todos los posibles escenarios hasta que todo funcionó como debía.

Ambiente laboral

No puedo estar más contento con el ambiente en el trabajo. Buenos compañeros y jefes cercanos. Hemos tenido varias reuniones tanto generales como de proyectos individuales y han recibido mis opiniones como una más a pesar de ser un practicante.

jueves, 3 de mayo de 2018

Hotel Tacande


Puesto de Trabajo
Desde la primera semana todo ha sido fantástico, he visitado todos los hoteles de la empresa y son maravillosos con un personal inigualable. En cuanto a la parte técnica de la empresa, tienen todo al día con el mejor software corporativo del mercado y con unos sistemas impresionantes. La seguridad informática es otro de los grandes puntos fuertes de Dream Place Hotels, todo, absolutamente todo está controlado y puede ser gestionado de forma remota, haciendo aun mas fácil, agradable y llevadero el trabajo nuestro día a día.👍
Gran Tacande, Costa Adeje

En cuanto a la dificultad del trabajo, lo que peor he llevado, posiblemente fue la primera semana que como es normal estaba nervioso, y aun no conocía nada del funcionamiento y la estructuración de la empresa ni de sus sistemas, junto con grandes software de gestión a nivel corporativo que nunca antes había conocido. En fin,  pequeños contratiempos que con el tiempo desde que estoy en la empresa ya los he llegado a dominar bastante sin tener que llamar constante mente a mi tutor para que me aconseje como solucionarlos.

Gran Castillo Tagoro, Playa Blanca

El clima de trabajo como decía al principio es genial, unos compañeros agradables y serviciales para todo lo que necesites, siempre te responden cualquier duda, te asesoran sobre el funcionamiento de algún software específico, de algún departamento de la empresa o cualquier otra duda que sean capaces de responder.

Gran Tacande, Costa Adeje
En cuanto a la empresa en general, me encanta su modelo de negocio y su forma de tratarnos en el departamento de informática con respecto a presupuestos, para darnos margen suficiente a poder desarrollarnos con nuevas tecnologías emergentes y brindarnos la posibilidad de mejorar la infraestructura de la empresa y poder estar a la cabeza de la innovación y vanguardia en el sector Hotelero.
Tigotán, Playa Las Américas
Aeropuerto de Lanzarote
PD: "Los viajes a Lanzarote al Hotel Gran Castillo Tagoro han sido fantásticos. sin duda una gran empresa"