El 2018 se está terminando, y este año fuimos testigos de muchísimos nuevos lanzamientos en cuanto a tecnología, y no solo me refiero a gadgets, también me refiero a lenguajes de programación, frameworks, librerías, algoritmos, etc…
Algunos se anunciaron con bombo y platillo y parece que llegaron para quedarse, como quizás sea el caso de Flutter que anunció su primer versión estable, por otro lado, otras tecnologías y tendencias no crecieron como se esperaba este año, quizás sea el caso de los Chatbots.
Es por ello que en este ocasión me gustaría mencionar 5 tecnologías, que en mi opinión tendrán un alto impacto en 2019. Tecnologías por las que apostaría vale la pena invertir tiempo para aprender y dominar. Comencemos:
Internet de las cosas
Internet of thing, o Internet de las cosas, no es un tema nueva y ha ido creciendo durante ya varios años. En esencia el IoT es conectar nuevos y distintos dispositivos sobre una misma red, de tal forma que todos trabajen en conjunto.
Regularmente, la idea de IoT se nos vende con que nuestro refrigerador podrá conectarse a internet y de esta forma hacer el super será mucho más fácil, eso suena muy bien , sin embargo, a gran escala, el internet de las cosas tiene ambiciones mucho más grandes como que nos permita crear ciudades inteligentes, mejorar sectores como infraestructura, el medio ambiente, energía, salud, transporte, educación, entretenimiento y más.
Para iniciar tu camino en el IoT, no es necesario que seas un gurú en redes o programación, puedes dar tus primeros pasos con algunas plataformas como Arduino, Android Things, Raspberry Py, entre otros.
De hecho, hoy te quiero recomendar el kit de desarrollo de Android Things, que nos permite utilizar tecnologías de Google como Android, Tensor Flow, Firebase, entre otras, además de proveer del Hardware para comenzar a desarrollar nuestros propios proyectos de IoT.
DevOps
DevOps es un término que está en boca de todos. Incluir DevOps a la listas es quizás hacer un poco de trampa, ya que DevOps no es una tecnología, es más un metodología ?.
DevOps es un acrónimo para Development y Operations y es un grupo de conceptos y practicas que permiten al equipo de desarrollo y al de operaciones trabajar de forma conjunta en todo el ciclo de vida del software, desde el diseño, pasando por desarrollo, producción y soporte. Todo esto para agilizar la entrega, reducir costos y errores.
Al hablar de DevOps regularmente tambíen estaremos hablando de métodologias ágiles, integración, entrega y despliege continuo.
Si aun no te encuentras familiarizado con el tema, no te preocupe, te recomiendo inviertas un poco de tu tiempo indigando un poco más, ya que actualmente, los ingenieros DevOps tiene una alta demanda en el mercado. Cada día son más las empresas en busca de talento que pueda desarrollar y desplegar aplicaciones.
Para el tema de DevOps existe una amplia variedad de herramientas que nos ayudarán agilizar nuestras tareas, por ejemplo, Jenkins , Docker , Git , Puppet , Kubernet por mencionar algunos.
Cloud computing
Cuando escuchamos la palabra Cloud, en la mayoría de los casos asociamos el término al almacenamiento en la nube, Cloud Storage. Probablemente se nos vienen a la mente servicios tales como DropBox, Google Drive, Mega etc… sin embargo, definir Cloud como únicamente almacenamiento en internet es quedarnos un poco cortos.
Verás, el concepto de Cloud Computing puede ser definido como la entrega de servicios informáticos a través de internet. Al hablar de Cloud computing hablaremos de SASS (Software as a Service), IASS (Infraestructure as a Service) , y PASS (Platform as a Service).
Utilizando el modelo de Cloud computing podremos distribuir nuestro software como un servicio, dando la oportunidad a nuestros clientes de hacer uso de este, mediante una subscripción, no siendo obligatoria la adquisición de una licencia.
De igual forma podemos hacer uso de poder de cómputo de terceros para así sacar el máximo potencial a nuestras aplicaciones. ¿No sería genial qué en los momentos más críticos de nuestra aplicación, cuando se están realizando ciento o miles de tareas, la memoria RAM, el Disco duro o poder de procesamiento de nuestro servidor se incrementarán? Pues bien, eso es posible, mediante Cloud computing.
Si te interesa el mundo de Cloud computing te recomiendo que le eches un vistazo a todos los servicios que Amazon web service, ofrece.
Blockchain
Estoy seguro que ya habrás escuchado acerca del Block chain, o quizás, acerca del Bitcoin . Mucho se ha dicho de esta tecnología, si vendra a reemplazar el sistema económico global, si es la burbuja más grande de todos los tiempos, etc… sin embargo, si dejamos a un lado el tema económico, el Block chain puede ser implementado en muchas áreas, tales como salud, política, energía, servicios legales por mencionar algunos.
El Block chain basa su popularidad en su seguridad. Siendo un sistema peer to peer, cualquier usuario en la red puede poseer toda la información distribuida alrededor del mundo, información que por supuesto se encuentra cifrada; Esto hace que en teoría, el Block chain sea una de las bases de datos más seguras en la actualidad, si no, la más segura.
Actualmente tenemos la posibilidad de desarrollar aplicaciones basándonos en la cadena de bloques. A las aplicaciones descentralizadas las conoceremos como dApps.
Si te interesa el temas de las aplicaciones descentralizadas utilizando la cadena de bloques, yo de forma personal te recomiendo comiences con los smart contracts de Etherum. Si comprendes el funcionamiento del Block chain crear contratos inteligentes será relativamente sencillo, basta con instalar truffle en tu computadora, aprender un poco del lenguaje solidity y listo.
De hecho, uno de los primero ejemplos para crear contratos inteligentes es el de desarrollar una tienda de mascotas. Bastante entretenido y bonito.
Inteligencia Artificial
La inteligencia artificial no es algo que veremos cuando los autos puedan volar o cuando todos nos comuniquemos atravez de ologramas, no, la inteligencia artificial es algo que se desarrolla e implementa actualmente.
Muchas de las aplicaciones que utilizas en tu día a día usan algún tipo de algoritmo de inteligencia artificial. Facebook, Youtube, Uber, Netflix, Amazon por citar algunos ejemplos utilizan inteligencia artificial para proveer una mejor experiencia a sus usuarios.
La inteligencia artificial no se trata de condicionar un n cantidad de casos, no por tener 100 ifs anidados se estará haciendo inteligencia artificial. La inteligencia artificial va más allá de eso, se trata que la computadora aprenda, ya sea de una forma supervisada o no.
Podemos comenzar con cosas «básicas», como desarrollar un programa que nos permita saber si una imagen corresponde una gato o aun perro. Vaya, un clasificador.
Si te interesa el tema de inteligencia artificial te recomiendo utilices TensorFlow una biblioteca de código abierto para el aprendizaje automático. Una super herramienta desarrollada por google.
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.